aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsundar <none@none>2014-05-20 08:32:09 +0530
committersundar <none@none>2014-05-20 08:32:09 +0530
commitedc01dfee9918172aefe04568e2898ed17ebcdfc (patch)
tree8b3e35c6472ee8b16c80735f13c884156cd18ed3
parent688e837068c4ee7b04b6d7dfa5a4af2e74d889a3 (diff)
downloadnashorn-edc01dfee9918172aefe04568e2898ed17ebcdfc.tar.gz
8043443: Test framework changes to run script tests without security manager
Reviewed-by: attila
-rw-r--r--make/build.xml19
-rw-r--r--make/project.properties6
-rw-r--r--test/script/nosecurity/nosecurity.js34
3 files changed, 59 insertions, 0 deletions
diff --git a/make/build.xml b/make/build.xml
index 4d23f228..35877aef 100644
--- a/make/build.xml
+++ b/make/build.xml
@@ -348,6 +348,10 @@ grant codeBase "file:/${basedir}/test/script/basic/classloader.js" {
<include name="**/framework/*Test.class"/>
</fileset>
+ <fileset id="test.nosecurity.classes" dir="${build.test.classes.dir}">
+ <include name="**/framework/ScriptTest.class"/>
+ </fileset>
+
<testng outputdir="${build.test.results.dir}" classfilesetref="test.classes"
verbose="${testng.verbose}" haltonfailure="true" useDefaultListeners="false" listeners="${testng.listeners}" workingDir="${basedir}">
<jvmarg line="${ext.class.path}"/>
@@ -361,6 +365,21 @@ grant codeBase "file:/${basedir}/test/script/basic/classloader.js" {
<pathelement path="${run.test.classpath}"/>
</classpath>
</testng>
+ <testng outputdir="${build.nosecurity.test.results.dir}" classfilesetref="test.nosecurity.classes"
+ verbose="${testng.verbose}" haltonfailure="true" useDefaultListeners="false" listeners="${testng.listeners}" workingDir="${basedir}">
+ <jvmarg line="${ext.class.path}"/>
+ <jvmarg line="${run.test.jvmargs} -Xmx${run.test.xmx}"/>
+ <propertyset>
+ <propertyref prefix="nashorn."/>
+ </propertyset>
+ <propertyset>
+ <propertyref prefix="test-sys-prop-no-security."/>
+ <mapper from="test-sys-prop-no-security.*" to="*" type="glob"/>
+ </propertyset>
+ <classpath>
+ <pathelement path="${run.test.classpath}"/>
+ </classpath>
+ </testng>
</target>
<target name="test-basicparallel" depends="jar, check-testng, check-external-tests, compile-test, generate-policy-file">
diff --git a/make/project.properties b/make/project.properties
index 8c5dd4f4..d38dd50d 100644
--- a/make/project.properties
+++ b/make/project.properties
@@ -59,6 +59,7 @@ nashorn.api.tests.jar=${build.dir}/nashorn-api-tests.jar
# test results directory
build.test.results.dir=${build.dir}/test/reports
+build.nosecurity.test.results.dir=${build.dir}/test/nosecurity/reports
# This directory is removed when the project is cleaned:
dist.dir=dist
@@ -110,6 +111,7 @@ run.classpath=\
# test scripts to run
test.dir=test
+test.nosecurity.dir=test/script/nosecurity
test.script.dir=test/script
test.basic.dir=test/script/basic
test.maptests.dir=test/script/maptests
@@ -127,8 +129,12 @@ test-sys-prop.test262.suite.dir=${test262.suite.dir}
test-sys-prop.es5conform.testcases.dir=${test.external.dir}/ES5Conform/TestCases
test-sys-prop.test.basic.dir=${test.basic.dir}
+test-sys-prop-no-security.test.dir=${test.dir}
+test-sys-prop-no-security.test.js.roots=${test.nosecurity.dir}
+
# framework root for our script tests
test-sys-prop.test.js.framework=${test.script.dir}/assert.js
+test-sys-prop-no-security.test.js.framework=${test.script.dir}/assert.js
# Control the verbosity of ParserTest
test-sys-prop.parsertest.verbose=false
diff --git a/test/script/nosecurity/nosecurity.js b/test/script/nosecurity/nosecurity.js
new file mode 100644
index 00000000..688af8cf
--- /dev/null
+++ b/test/script/nosecurity/nosecurity.js
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/**
+ * 8043443: Test framework changes to run script tests without security manager
+ * @test
+ * @run
+ */
+
+var System = Java.type("java.lang.System");
+
+if (System.securityManager != null) {
+ fail("SecurityManager is set!");
+}