You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by jw...@apache.org on 2016/07/04 19:22:55 UTC
[1/2] groovy git commit: Fix Security Tests (closes #363)
Repository: groovy
Updated Branches:
refs/heads/GROOVY_2_4_X 4fb0a4b5a -> b4f9dd9bd
Fix Security Tests (closes #363)
Adjust policy file settings for new gradle build and ensure
test support class uses privileged access where appropriate.
Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/b4f9dd9b
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/b4f9dd9b
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/b4f9dd9b
Branch: refs/heads/GROOVY_2_4_X
Commit: b4f9dd9bd404da1954fbaf759b3f3bf83f872d69
Parents: bce9269
Author: John Wagenleitner <jw...@apache.org>
Authored: Mon Jul 4 11:52:11 2016 -0700
Committer: John Wagenleitner <jw...@apache.org>
Committed: Mon Jul 4 12:09:00 2016 -0700
----------------------------------------------------------------------
security/groovy.policy | 98 +++++++++++++-------
src/test/groovy/security/SecurityTest.java | 27 +++---
.../groovy/security/SecurityTestSupport.java | 46 +++++----
3 files changed, 108 insertions(+), 63 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/groovy/blob/b4f9dd9b/security/groovy.policy
----------------------------------------------------------------------
diff --git a/security/groovy.policy b/security/groovy.policy
index 82bc047..3d7d077 100644
--- a/security/groovy.policy
+++ b/security/groovy.policy
@@ -42,27 +42,28 @@ keystore "file:${user.dir}/security/groovykeys";
* would all be in a set of jars. If these jars are signed, the grants could be strengthened to
* by adding a signedBy clause to the grant.
*/
-
-//spg: Looks like james switched the output destination to bin from target/classes
-//in his 7/13/04 update to the eclipse .classpath. This permission allows the
-//Security tests to run properly in eclipse (they were unaffected when running from maven)
+
+// Eclipse default output directory to allow running security tests in that IDE
grant codeBase "file:${user.dir}/bin/-" {
permission java.security.AllPermission;
};
-grant codeBase "file:${user.dir}/target/classes/-" {
+// IntelliJ IDEA default output directory to allow running security tests in that IDE
+grant codeBase "file:${user.dir}/out/-" {
permission java.security.AllPermission;
};
-grant codeBase "file:${user.dir}/target/dist/-" {
+// Gradle build output directory
+grant codeBase "file:${user.dir}/target/-" {
permission java.security.AllPermission;
};
-grant codeBase "file:${user.dir}/target/instrumented-classes/-" {
+grant codeBase "file:${user.dir}/subprojects/groovy-test/target/-" {
permission java.security.AllPermission;
};
-grant codeBase "file:${user.dir}/target/classes/test/-" {
+// Gradle dependency cache
+grant codeBase "file:${user.home}/.gradle/-" {
permission java.security.AllPermission;
};
@@ -91,15 +92,6 @@ grant codeBase "file:${gradle.junit}" {
};
/*
- * When running from ant, this codebase is required.
- * If not running from ant, the codesource will not be found, but will not cause an error.
- * TODO: narrow this down to specific jars
- */
-grant codeBase "file:${user.dir}/target/lib/-" {
- permission java.security.AllPermission;
-};
-
-/*
* When running the junit plugin from within eclipse, this codebase is required.
* If not running from eclipse, the codesource will not be found, but will not cause an error.
*/
@@ -120,6 +112,9 @@ grant codeBase "file:${user.dir}/../../plugins/-" {
*/
grant codeBase "file:/groovy/shell" {
permission java.lang.RuntimePermission "accessDeclaredMembers";
+
+ // For StreamClassloaderInScriptTest.groovy test
+ permission java.io.FilePermission "${user.dir}${/}blahblah.dat", "read,write,delete";
};
/*
@@ -128,7 +123,6 @@ grant codeBase "file:/groovy/shell" {
*/
grant codeBase "file:/groovy/script" {
permission java.lang.RuntimePermission "accessDeclaredMembers";
- //permission java.util.PropertyPermission "groovy.output.dir", "read";
};
/*
@@ -143,7 +137,7 @@ grant codeBase "file:/groovy/testSupport" {
/*
* ================= SecurityTest codebases ===============
* The following grants are for individual security test cases where the
- * codebase is explicity specified (e.g. the script is a raw string rather
+ * codebase is explicitly specified (e.g. the script is a raw string rather
* than read from a file). Note that even though the codebases conform to
* the file URL syntax, they are not physical files: they represent virtual
* codebases.
@@ -151,7 +145,7 @@ grant codeBase "file:/groovy/testSupport" {
* expected to be missing by the test case. It is here as a comment for
* information.
*/
-
+
//Since a codebase is a URL, we can make use of the natural hierarchy permission implications
//to grant a 'global' accessDeclaredPermission here.
grant codeBase "file:/groovy/security/-" {
@@ -182,15 +176,11 @@ grant codeBase "file:${user.dir}/src/test/-" {
// introspection. The groovy code could potentially be changed to eliminate this requirement
// by adding privileged operations in many places.
permission java.lang.RuntimePermission "accessDeclaredMembers";
-
- // SHOULD NOT HAVE TO DO THIS! - Level.getLocalizedName() should have a doPrivileged block.
- // Any test that logs, will encounter this (although it will be masked by the method
- permission java.lang.RuntimePermission "accessClassInPackage.sun.util.logging.resources";
};
grant codeBase "file:${user.dir}/src/test/groovy/security/forbiddenCodeBase.gvy" {
//The following grant is commented out so that the test case will throw an AccessControlException
- permission groovy.security.GroovyCodeSourcePermission "groovy/security/forbiddenCodeBase";
+ //permission groovy.security.GroovyCodeSourcePermission "/groovy/security/forbiddenCodeBase";
};
// Grant permission to .groovy files extracted from a signed jar that has been signedBy "Groovy"
@@ -200,38 +190,74 @@ grant signedBy "Groovy" {
};
grant codeBase "file:${user.dir}/src/test/groovy/bugs/BadScriptNameBug.groovy" {
- permission java.util.PropertyPermission "java.class.path", "read";
- permission java.io.FilePermission "<<ALL FILES>>", "read";
permission java.lang.RuntimePermission "createClassLoader";
};
grant codeBase "file:${user.dir}/src/test/groovy/ClosureMethodTest.groovy" {
- permission java.io.FilePermission "${user.dir}${/}src${/}test${/}-", "read";
- permission java.util.PropertyPermission "file.encoding", "read";
-};
-
-grant codeBase "file:${user.dir}/src/test/groovy/GroovyMethodsTest.groovy" {
- permission java.util.PropertyPermission "*", "read,write";
- //spg 2006-02-09 added ALL FILES execute because a test case
- //invokes Runtime.exec(). This is OK and permission should be granted here.
- permission java.io.FilePermission "<<ALL FILES>>", "execute";
+ permission java.lang.RuntimePermission "getClassLoader";
};
grant codeBase "file:${user.dir}/src/test/groovy/ClosureWithDefaultParamTest.groovy" {
permission java.io.FilePermission "src${/}test${/}-", "read";
+
+ // Required because test calls File.eachLine which eventually invokes
+ // groovy.util.CharsetToolkit#getDefaultSystemCharset which does not wrap
+ // the property access in a privileged block.
permission java.util.PropertyPermission "file.encoding", "read";
};
grant codeBase "file:${user.dir}/src/test/groovy/bugs/ConstructorBug.groovy" {
permission java.lang.RuntimePermission "createClassLoader";
+
+ // Required because GroovyCodeSource calls to File#getCanonicalPath (at least on the Windows FileSystem)
+ permission java.util.PropertyPermission "user.dir", "read";
+
permission java.io.FilePermission "src${/}test${/}groovy${/}bugs${/}TestBase.groovy", "read";
permission java.io.FilePermission "src${/}test${/}groovy${/}bugs${/}TestDerived.groovy", "read";
+ permission java.io.FilePermission "${user.dir}${/}target${/}classes${/}test${/}groovy${/}bugs${/}TestBase.class", "read";
+ permission java.io.FilePermission "${user.dir}${/}target${/}classes${/}test${/}groovy${/}bugs${/}TestDerived.class", "read";
};
grant codeBase "file:${user.dir}/src/test/groovy/script/ScriptTest.groovy" {
permission java.io.FilePermission "src${/}test${/}groovy${/}-", "read";
+ permission groovy.security.GroovyCodeSourcePermission "/groovy/shell";
+
+ // Required because GroovyCodeSource calls to File#getCanonicalPath (at least on the Windows FileSystem)
+ permission java.util.PropertyPermission "user.dir", "read";
+
+ // Required by MethodTestScript.groovy run as a script
+ permission java.lang.RuntimePermission "accessClassInPackage.sun.reflect";
+
+ // Required by StreamClassloaderInScriptTest.groovy run as a script
+ permission java.io.FilePermission "${user.dir}${/}blahblah.dat", "read,write,delete";
+
+ // Required for JUnit to report errors for scripts that are junit test cases
+ permission java.util.PropertyPermission "user.home", "read";
+ permission java.io.FilePermission "${user.home}${/}junit.properties", "read";
};
grant codeBase "file:${user.dir}/src/test/groovy/script/EvalInScript.groovy" {
permission java.io.FilePermission "src${/}test${/}groovy${/}script${/}HelloWorld.groovy", "read";
+ permission groovy.security.GroovyCodeSourcePermission "/groovy/shell";
+
+ // Required because GroovyCodeSource calls to File#getCanonicalPath (at least on the Windows FileSystem)
+ permission java.util.PropertyPermission "user.dir", "read";
+};
+
+grant codeBase "file:${user.dir}/src/test/groovy/script/MethodTestScript.groovy" {
+ permission java.lang.RuntimePermission "accessClassInPackage.sun.reflect";
+};
+
+grant codeBase "file:${user.dir}/src/test/groovy/script/StreamClassloaderInScriptTest.groovy" {
+ permission groovy.security.GroovyCodeSourcePermission "/groovy/shell";
+ permission java.io.FilePermission "${user.dir}${/}blahblah.dat", "read,write,delete";
+};
+
+grant {
+ // Required to load Global AST Transforms
+ permission java.io.FilePermission "${user.dir}${/}target${/}resources${/}main${/}META-INF${/}services${/}-", "read";
+ permission java.io.FilePermission "${user.dir}${/}target${/}libs${/}-", "read";
+
+ // Required for StreamClassloaderInScriptTest
+ permission java.io.FilePermission "${java.home}${/}-", "read";
};
http://git-wip-us.apache.org/repos/asf/groovy/blob/b4f9dd9b/src/test/groovy/security/SecurityTest.java
----------------------------------------------------------------------
diff --git a/src/test/groovy/security/SecurityTest.java b/src/test/groovy/security/SecurityTest.java
index c9f5d15..eda8e91 100644
--- a/src/test/groovy/security/SecurityTest.java
+++ b/src/test/groovy/security/SecurityTest.java
@@ -20,11 +20,12 @@ package groovy.security;
import groovy.lang.GroovyCodeSource;
import org.codehaus.groovy.control.CompilationFailedException;
-import org.junit.Ignore;
import java.io.File;
import java.io.IOException;
import java.net.URL;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
import java.security.Security;
import java.util.PropertyPermission;
@@ -33,13 +34,9 @@ import java.util.PropertyPermission;
* behavior (e.g. ensuring that GroovyCodeSources may only be created for which proper permissions exist).
* Other tests run .groovy scripts under a secure environment and ensure that the proper permissions
* are required for success.
- * <p>
- * Todo: find out why the marked tests are environment specific and why security tests are not
- * running on the build server.
*
* @author Steve Goetze
*/
-@Ignore("does not work at the moment, please fix me")
public class SecurityTest extends SecurityTestSupport {
public void testForbiddenProperty() {
@@ -63,7 +60,16 @@ public class SecurityTest extends SecurityTestSupport {
//Check that the Security package.access control works.
public void testPackageAccess() {
String script = "new javax.print.PrintException();";
- Security.setProperty("package.access", "javax.print");
+ // Use our privileged access in order to prevent checks lower in the call stack. Otherwise we would have
+ // to grant access to IDE unit test runners and unit test libs. We only care about testing the call stack
+ // higher upstream from this point of execution.
+ AccessController.doPrivileged(new PrivilegedAction<Void>() {
+ @Override
+ public Void run() {
+ Security.setProperty("package.access", "javax.print");
+ return null;
+ }
+ });
//This should throw an ACE because its codeBase does not allow access to javax.print
assertExecute(script, "/groovy/security/javax/print/deny", new RuntimePermission("accessClassInPackage.javax.print"));
//This should not throw an ACE because groovy.policy grants the codeBase access to javax.print
@@ -78,11 +84,6 @@ public class SecurityTest extends SecurityTestSupport {
assertExecute(new File("src/test/groovy/ClosureMethodTest.groovy"), null);
}
- public void testGroovyMethodsTest_FAILS() {
- if (notYetImplemented()) return;
- assertExecute(new File("src/test/groovy/GroovyMethodsTest.groovy"), null);
- }
-
public void testClosureWithDefaultParamTest() {
assertExecute(new File("src/test/groovy/ClosureWithDefaultParamTest.groovy"), null);
}
@@ -91,6 +92,10 @@ public class SecurityTest extends SecurityTestSupport {
assertExecute(new File("src/test/groovy/script/ScriptTest.groovy"), null);
}
+ public void testConstructorBug() {
+ assertExecute(new File("src/test/groovy/bugs/ConstructorBug.groovy"), null);
+ }
+
//Mailing list post by Richard Hensley reporting a CodeSource bug. A GroovyCodeSource created
//with a URL was causing an NPE.
public void testCodeSource() throws IOException, CompilationFailedException {
http://git-wip-us.apache.org/repos/asf/groovy/blob/b4f9dd9b/src/test/groovy/security/SecurityTestSupport.java
----------------------------------------------------------------------
diff --git a/src/test/groovy/security/SecurityTestSupport.java b/src/test/groovy/security/SecurityTestSupport.java
index bb63a7b..5a161e8 100644
--- a/src/test/groovy/security/SecurityTestSupport.java
+++ b/src/test/groovy/security/SecurityTestSupport.java
@@ -29,7 +29,6 @@ import junit.framework.TestResult;
import junit.framework.TestSuite;
import junit.textui.ResultPrinter;
import org.codehaus.groovy.runtime.InvokerHelper;
-import org.junit.Ignore;
import java.io.File;
import java.io.PrintStream;
@@ -40,8 +39,7 @@ import java.util.Enumeration;
/**
* @author Steve Goetze
*/
-@Ignore("base class for security tests")
-public class SecurityTestSupport extends GroovyTestCase {
+public abstract class SecurityTestSupport extends GroovyTestCase {
private static final String POLICY_FILE = "security/groovy.policy";
private static int counter = 0;
private static boolean securityDisabled;
@@ -262,17 +260,26 @@ public class SecurityTestSupport extends GroovyTestCase {
* is non-null, then this invocation expects an AccessControlException with missingPermission
* as the reason. If missingPermission is null, the script is expected to execute successfully.
*/
- protected void assertExecute(File file, Permission missingPermission) {
+ protected void assertExecute(final File file, final Permission missingPermission) {
if (!isSecurityAvailable()) {
return;
}
- GroovyCodeSource gcs = null;
- try {
- gcs = new GroovyCodeSource(file);
- } catch (IOException fnfe) {
- fail(fnfe.toString());
- }
- parseAndExecute(gcs, missingPermission);
+ // Use our privileged access in order to prevent checks lower in the call stack. Otherwise we would have
+ // to grant access to IDE unit test runners and unit test libs. We only care about testing the call stack
+ // higher upstream from this point of execution.
+ AccessController.doPrivileged(new PrivilegedAction<Void>() {
+ @Override
+ public Void run() {
+ GroovyCodeSource gcs = null;
+ try {
+ gcs = new GroovyCodeSource(file);
+ } catch (IOException fnfe) {
+ fail(fnfe.toString());
+ }
+ parseAndExecute(gcs, missingPermission);
+ return null;
+ }
+ });
}
/*
@@ -280,13 +287,20 @@ public class SecurityTestSupport extends GroovyTestCase {
* is non-null, then this invocation expects an AccessControlException with missingPermission
* as the reason. If missingPermission is null, the script is expected to execute successfully.
*/
- protected void assertExecute(String scriptStr, String codeBase, Permission missingPermission) {
+ protected void assertExecute(final String scriptStr, String codeBase, final Permission missingPermission) {
if (!isSecurityAvailable()) {
return;
}
- if (codeBase == null) {
- codeBase = "/groovy/security/test";
- }
- parseAndExecute(new GroovyCodeSource(scriptStr, generateClassName(), codeBase), missingPermission);
+ final String effectiveCodeBase = (codeBase != null) ? codeBase : "/groovy/security/test";
+ // Use our privileged access in order to prevent checks lower in the call stack. Otherwise we would have
+ // to grant access to IDE unit test runners and unit test libs. We only care about testing the call stack
+ // higher upstream from this point of execution.
+ AccessController.doPrivileged(new PrivilegedAction<Void>() {
+ @Override
+ public Void run() {
+ parseAndExecute(new GroovyCodeSource(scriptStr, generateClassName(), effectiveCodeBase), missingPermission);
+ return null;
+ }
+ });
}
}
[2/2] groovy git commit: Cleanup Security Tests
Posted by jw...@apache.org.
Cleanup Security Tests
Remove code sources from the test policy file and tests
that use scripts that no longer exist or have been moved to
subprojects and are no longer available when testing core.
Remove unused test.
Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/bce9269a
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/bce9269a
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/bce9269a
Branch: refs/heads/GROOVY_2_4_X
Commit: bce9269a9468eeb9288ce9fe0060268a753f040b
Parents: 4fb0a4b
Author: John Wagenleitner <jw...@apache.org>
Authored: Mon Jul 4 11:51:42 2016 -0700
Committer: John Wagenleitner <jw...@apache.org>
Committed: Mon Jul 4 12:09:00 2016 -0700
----------------------------------------------------------------------
security/groovy.policy | 51 --------------------
.../groovy/security/RunOneGroovyScript.java | 43 -----------------
src/test/groovy/security/SecurityTest.java | 25 ----------
3 files changed, 119 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/groovy/blob/bce9269a/security/groovy.policy
----------------------------------------------------------------------
diff --git a/security/groovy.policy b/security/groovy.policy
index 038e933..82bc047 100644
--- a/security/groovy.policy
+++ b/security/groovy.policy
@@ -205,12 +205,6 @@ grant codeBase "file:${user.dir}/src/test/groovy/bugs/BadScriptNameBug.groovy" {
permission java.lang.RuntimePermission "createClassLoader";
};
-grant codeBase "file:${user.dir}/src/test/groovy/ClosureListenerTest.groovy" {
- permission java.util.PropertyPermission "java.awt.headless", "read";
- // below seems like a new requirement in jdk 1.6/1.7
- permission java.util.PropertyPermission "os.version", "read";
-};
-
grant codeBase "file:${user.dir}/src/test/groovy/ClosureMethodTest.groovy" {
permission java.io.FilePermission "${user.dir}${/}src${/}test${/}-", "read";
permission java.util.PropertyPermission "file.encoding", "read";
@@ -234,21 +228,6 @@ grant codeBase "file:${user.dir}/src/test/groovy/bugs/ConstructorBug.groovy" {
permission java.io.FilePermission "src${/}test${/}groovy${/}bugs${/}TestDerived.groovy", "read";
};
-grant codeBase "file:${user.dir}/src/test/groovy/bugs/ForAndSqlBug.groovy" {
- permission java.io.FilePermission "target${/}classes${/}test${/}*", "read, write";
-};
-
-grant codeBase "file:${user.dir}/src/test/groovy/bugs/ForLoopBug.groovy" {
- permission java.io.FilePermission "target${/}classes${/}test${/}*", "read, write";
- permission java.io.FilePermission "target${/}classes${/}test${/}*", "read, write";
-};
-
-grant codeBase "file:${user.dir}/src/test/groovy/bugs/Groovy303_Bug.groovy" {
- permission java.awt.AWTPermission "showWindowWithoutWarningBanner";
- // below seems like a new requirement in jdk 1.5
- permission java.util.PropertyPermission "os.version", "read";
-};
-
grant codeBase "file:${user.dir}/src/test/groovy/script/ScriptTest.groovy" {
permission java.io.FilePermission "src${/}test${/}groovy${/}-", "read";
};
@@ -256,33 +235,3 @@ grant codeBase "file:${user.dir}/src/test/groovy/script/ScriptTest.groovy" {
grant codeBase "file:${user.dir}/src/test/groovy/script/EvalInScript.groovy" {
permission java.io.FilePermission "src${/}test${/}groovy${/}script${/}HelloWorld.groovy", "read";
};
-
-grant codeBase "file:${user.dir}/src/test/groovy/sql/PersonTest.groovy" {
- permission java.io.FilePermission "target${/}classes${/}test${/}groovy${/}sql${/}-", "read";
-};
-
-grant codeBase "file:${user.dir}/src/test/groovy/sql/SqlCompleteTest.groovy" {
- permission java.io.FilePermission "target${/}classes${/}test${/}groovy${/}sql${/}-", "read";
-};
-
-grant codeBase "file:${user.dir}/src/test/groovy/sql/-" {
- permission java.util.PropertyPermission "groovy.testdb.props", "read";
- permission java.io.FilePermission "${groovy.testdb.props}", "read";
-};
-
-grant codeBase "file:${user.dir}/src/test/groovy/sql/SqlCompleteWithoutDataSourceTest.groovy" {
- permission java.util.PropertyPermission "file.separator", "read";
- permission java.util.PropertyPermission "line.separator", "read";
-};
-
-grant codeBase "file:${user.dir}/src/test/groovy/sql/SqlTest.groovy" {
- permission java.io.FilePermission "target${/}classes${/}test${/}groovy${/}sql${/}-", "read";
-};
-
-grant codeBase "file:${user.dir}/src/test/groovy/util/AntTest.groovy" {
- permission java.security.AllPermission;
-};
-
-grant codeBase "file:${user.dir}/src/test/org/codehaus/groovy/classgen/MetaClassTest.groovy" {
- permission java.io.FilePermission "target${/}classes${/}test${/}-", "read";
-};
http://git-wip-us.apache.org/repos/asf/groovy/blob/bce9269a/src/test/groovy/security/RunOneGroovyScript.java
----------------------------------------------------------------------
diff --git a/src/test/groovy/security/RunOneGroovyScript.java b/src/test/groovy/security/RunOneGroovyScript.java
deleted file mode 100644
index b5d16c0..0000000
--- a/src/test/groovy/security/RunOneGroovyScript.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package groovy.security;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import junit.textui.TestRunner;
-import org.junit.Ignore;
-
-import java.io.File;
-
-/**
- * Test case for running a single groovy script parsed from a .groovy file.
- */
-@Ignore("does not work at the moment, please fix me")
-public class RunOneGroovyScript extends SecurityTestSupport {
-
- protected static String file;
-
- public void testScript() {
- String fileName = System.getProperty("script", file);
- if (fileName == null) {
- throw new RuntimeException("No filename given in the 'script' system property so cannot run a Groovy script");
- }
- assertExecute(new File(fileName), null);
- }
-}
http://git-wip-us.apache.org/repos/asf/groovy/blob/bce9269a/src/test/groovy/security/SecurityTest.java
----------------------------------------------------------------------
diff --git a/src/test/groovy/security/SecurityTest.java b/src/test/groovy/security/SecurityTest.java
index 4330835..c9f5d15 100644
--- a/src/test/groovy/security/SecurityTest.java
+++ b/src/test/groovy/security/SecurityTest.java
@@ -19,9 +19,6 @@
package groovy.security;
import groovy.lang.GroovyCodeSource;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import junit.textui.TestRunner;
import org.codehaus.groovy.control.CompilationFailedException;
import org.junit.Ignore;
@@ -77,10 +74,6 @@ public class SecurityTest extends SecurityTestSupport {
assertExecute(new File("src/test/groovy/bugs/BadScriptNameBug.groovy"), null);
}
- public void testClosureListenerTest() {
- assertExecute(new File("src/test/groovy/ClosureListenerTest.groovy"), null);
- }
-
public void testClosureMethodTest() {
assertExecute(new File("src/test/groovy/ClosureMethodTest.groovy"), null);
}
@@ -94,28 +87,10 @@ public class SecurityTest extends SecurityTestSupport {
assertExecute(new File("src/test/groovy/ClosureWithDefaultParamTest.groovy"), null);
}
- public void testGroovy303_Bug() {
- assertExecute(new File("src/test/groovy/bugs/Groovy303_Bug.groovy"), null);
- }
-
public void testScriptTest() {
assertExecute(new File("src/test/groovy/script/ScriptTest.groovy"), null);
}
- //In addition to requiring several permissions, this test is an example of the case
- //where the groovy class loader is required at script invocation time as well as
- //during compilation.
- public void testSqlCompleteWithoutDataSourceTest() {
- assertExecute(new File("src/test/groovy/sql/SqlCompleteWithoutDataSourceTest.groovy"), null);
- }
-
- //Test to prevent scripts from invoking the groovy compiler. This is done by restricting access
- //to the org.codehaus.groovy packages.
- public void testMetaClassTest() {
- //Security.setProperty("package.access", "org.codehaus.groovy");
- //assertExecute(new File("src/test/org/codehaus/groovy/classgen/MetaClassTest.groovy"), new RuntimePermission("accessClassInPackage.org.codehaus.groovy"));
- }
-
//Mailing list post by Richard Hensley reporting a CodeSource bug. A GroovyCodeSource created
//with a URL was causing an NPE.
public void testCodeSource() throws IOException, CompilationFailedException {