Mon, 15 Feb 2016 14:36:18 +0100
8149744: fix testng.jar delivery in Nashorn build.xml
Reviewed-by: hannesw, sundar
.hgignore | file | annotate | diff | comparison | revisions | |
make/build.xml | file | annotate | diff | comparison | revisions | |
make/project.properties | file | annotate | diff | comparison | revisions |
1.1 --- a/.hgignore Fri Feb 12 19:11:54 2016 +0000 1.2 +++ b/.hgignore Mon Feb 15 14:36:18 2016 +0100 1.3 @@ -22,6 +22,6 @@ 1.4 CC/* 1.5 jcov2/* 1.6 .idea/* 1.7 -test/lib/testng.jar 1.8 +test/lib/*.jar 1.9 test/script/external/* 1.10 .project
2.1 --- a/make/build.xml Fri Feb 12 19:11:54 2016 +0000 2.2 +++ b/make/build.xml Mon Feb 15 14:36:18 2016 +0100 2.3 @@ -49,9 +49,17 @@ 2.4 <condition property="git.executable" value="/usr/local/bin/git" else="git"> 2.5 <available file="/usr/local/bin/git"/> 2.6 </condition> 2.7 - <!-- check if testng.jar is avaiable --> 2.8 - <available property="testng.available" file="${file.reference.testng.jar}"/> 2.9 - <!-- check if Jemmy ang testng.jar are avaiable --> 2.10 + <!-- check if TestNG and dependencies are available, and download them if they aren't --> 2.11 + <antcall target="get-testng"/> 2.12 + <condition property="testng.available" value="true"> 2.13 + <and> 2.14 + <available file="${file.reference.testng.jar}"/> 2.15 + <available file="${file.reference.jcommander.jar}"/> 2.16 + <available file="${file.reference.bsh.jar}"/> 2.17 + <available file="${file.reference.snakeyaml.jar}"/> 2.18 + </and> 2.19 + </condition> 2.20 + <!-- check if Jemmy ang TestNG are avaiable --> 2.21 <condition property="jemmy.jfx.testng.available" value="true"> 2.22 <and> 2.23 <available file="${file.reference.jemmyfx.jar}"/> 2.24 @@ -275,7 +283,7 @@ 2.25 <target name="compile-test" depends="compile, run-nasgen" if="testng.available"> 2.26 <!-- testng task --> 2.27 <taskdef name="testng" classname="org.testng.TestNGAntTask" 2.28 - classpath="${file.reference.testng.jar}"/> 2.29 + classpath="${testng.ant.classpath}"/> 2.30 2.31 <javac srcdir="${test.src.dir}" 2.32 destdir="${build.test.classes.dir}" 2.33 @@ -331,6 +339,15 @@ 2.34 grant codeBase "file:/${basedir}/${file.reference.testng.jar}" { 2.35 permission java.security.AllPermission; 2.36 }; 2.37 +grant codeBase "file:/${basedir}/${file.reference.jcommander.jar}" { 2.38 + permission java.security.AllPermission; 2.39 +}; 2.40 +grant codeBase "file:/${basedir}/${file.reference.bsh.jar}" { 2.41 + permission java.security.AllPermission; 2.42 +}; 2.43 +grant codeBase "file:/${basedir}/${file.reference.snakeyaml.jar}" { 2.44 + permission java.security.AllPermission; 2.45 +}; 2.46 //// in case of absolute path: 2.47 grant codeBase "file:/${nashorn.internal.tests.jar}" { 2.48 permission java.security.AllPermission; 2.49 @@ -339,6 +356,16 @@ 2.50 grant codeBase "file:/${file.reference.testng.jar}" { 2.51 permission java.security.AllPermission; 2.52 }; 2.53 +grant codeBase "file:/${file.reference.jcommander.jar}" { 2.54 + permission java.security.AllPermission; 2.55 +}; 2.56 +grant codeBase "file:/${file.reference.bsh.jar}" { 2.57 + permission java.security.AllPermission; 2.58 +}; 2.59 +grant codeBase "file:/${file.reference.snakeyaml.jar}" { 2.60 + permission java.security.AllPermission; 2.61 +}; 2.62 + 2.63 2.64 grant codeBase "file:/${basedir}/test/script/trusted/*" { 2.65 permission java.security.AllPermission; 2.66 @@ -408,7 +435,7 @@ 2.67 </target> 2.68 2.69 <target name="check-testng" unless="testng.available"> 2.70 - <echo message="WARNING: TestNG not available, will not run tests. Please copy testng.jar under ${test.lib} directory."/> 2.71 + <echo message="WARNING: TestNG not available, will not run tests. Please copy TestNG and dependency JARs to the ${test.lib} directory."/> 2.72 </target> 2.73 2.74 <!-- only to be invoked as dependency of "test" target --> 2.75 @@ -480,7 +507,7 @@ 2.76 </testng> 2.77 </target> 2.78 2.79 - <target name="test" depends="get-testng, javadocnh, test-pessimistic, test-optimistic"/> 2.80 + <target name="test" depends="prepare, javadocnh, test-pessimistic, test-optimistic"/> 2.81 2.82 <target name="test-optimistic" depends="jar, -test-classes-all,-test-classes-single, check-testng, check-external-tests, compile-test, generate-policy-file" if="testng.available"> 2.83 <echo message="Running test suite in OPTIMISTIC mode..."/> 2.84 @@ -507,7 +534,7 @@ 2.85 </target> 2.86 2.87 <target name="check-jemmy.jfx.testng" unless="jemmy.jfx.testng.available"> 2.88 - <echo message="WARNING: Jemmy or JavaFX or TestNG not available, will not run tests. Please copy testng.jar, JemmyCore.jar, JemmyFX.jar, JemmyAWTInput.jar under test${file.separator}lib directory. And make sure you have jfxrt.jar in ${java.home}${file.separator}lib${file.separator}ext dir."/> 2.89 + <echo message="WARNING: Jemmy or JavaFX or TestNG not available, will not run tests. Please copy TestNG and dependency JARs, JemmyCore.jar, JemmyFX.jar, JemmyAWTInput.jar to the test${file.separator}lib directory. And make sure you have jfxrt.jar in ${java.home}${file.separator}lib${file.separator}ext dir."/> 2.90 </target> 2.91 2.92 <target name="testjfx" depends="jar, get-testng, check-jemmy.jfx.testng, compile-test" if="jemmy.jfx.testng.available"> 2.93 @@ -742,15 +769,13 @@ 2.94 <target name="perf" depends="externals, update-externals, sunspider, octane"/> 2.95 2.96 <!-- download and install testng.jar --> 2.97 - <target name="get-testng" depends="prepare" unless="testng.available"> 2.98 - <get src="http://testng.org/testng-6.8.zip" dest="${test.lib}" skipexisting="true" ignoreerrors="true"/> 2.99 - <unzip src="${test.lib}${file.separator}testng-6.8.zip" dest="${test.lib}"> 2.100 - <patternset> 2.101 - <include name="testng-6.8/testng-6.8.jar"/> 2.102 - </patternset> 2.103 - </unzip> 2.104 - <move file="${test.lib}${file.separator}testng-6.8${file.separator}testng-6.8.jar" tofile="${test.lib}${file.separator}testng.jar"/> 2.105 - <delete dir="${test.lib}${file.separator}testng-6.8"/> 2.106 + <target name="get-testng"> 2.107 + <get dest="${test.lib}" skipexisting="true"> 2.108 + <url url="http://central.maven.org/maven2/org/testng/testng/6.8/testng-6.8.jar"/> 2.109 + <url url="http://central.maven.org/maven2/com/beust/jcommander/1.27/jcommander-1.27.jar"/> 2.110 + <url url="http://central.maven.org/maven2/org/beanshell/bsh/2.0b4/bsh-2.0b4.jar"/> 2.111 + <url url="http://central.maven.org/maven2/org/yaml/snakeyaml/1.6/snakeyaml-1.6.jar"/> 2.112 + </get> 2.113 </target> 2.114 2.115 <!-- run all tests -->
3.1 --- a/make/project.properties Fri Feb 12 19:11:54 2016 +0000 3.2 +++ b/make/project.properties Mon Feb 15 14:36:18 2016 +0100 3.3 @@ -83,7 +83,17 @@ 3.4 test.lib=${basedir}${file.separator}test${file.separator}lib 3.5 3.6 # jars refererred 3.7 -file.reference.testng.jar=${test.lib}${file.separator}testng.jar 3.8 +file.reference.testng.jar=${test.lib}${file.separator}testng-6.8.jar 3.9 +file.reference.jcommander.jar=${test.lib}${file.separator}jcommander-1.27.jar 3.10 +file.reference.bsh.jar=${test.lib}${file.separator}bsh-2.0b4.jar 3.11 +file.reference.snakeyaml.jar=${test.lib}${file.separator}snakeyaml-1.6.jar 3.12 + 3.13 +# TestNG ant task classpath 3.14 +testng.ant.classpath=\ 3.15 + ${file.reference.testng.jar}${path.separator}\ 3.16 + ${file.reference.jcommander.jar}${path.separator}\ 3.17 + ${file.reference.bsh.jar}${path.separator}\ 3.18 + ${file.reference.snakeyaml.jar}${path.separator} 3.19 3.20 # Set testng verbose level 3.21 # From TestNG docs: "the verbosity level (0 to 10 where 10 is most detailed) 3.22 @@ -112,7 +122,10 @@ 3.23 javac.test.classpath=\ 3.24 ${build.classes.dir}${path.separator}\ 3.25 ${build.test.classes.dir}${path.separator}\ 3.26 - ${file.reference.testng.jar} 3.27 + ${file.reference.testng.jar}${path.separator}\ 3.28 + ${file.reference.jcommander.jar}${path.separator}\ 3.29 + ${file.reference.bsh.jar}${path.separator}\ 3.30 + ${file.reference.snakeyaml.jar} 3.31 3.32 meta.inf.dir=${src.dir}/META-INF 3.33 3.34 @@ -251,6 +264,9 @@ 3.35 ${file.reference.jemmycore.jar}${path.separator}\ 3.36 ${file.reference.jemmyawtinput.jar}${path.separator}\ 3.37 ${file.reference.testng.jar}${path.separator}\ 3.38 + ${file.reference.jcommander.jar}${path.separator}\ 3.39 + ${file.reference.bsh.jar}${path.separator}\ 3.40 + ${file.reference.snakeyaml.jar}${path.separator}\ 3.41 ${nashorn.internal.tests.jar}${path.separator}\ 3.42 ${nashorn.api.tests.jar} 3.43 3.44 @@ -259,6 +275,9 @@ 3.45 3.46 run.test.classpath=\ 3.47 ${file.reference.testng.jar}${path.separator}\ 3.48 + ${file.reference.jcommander.jar}${path.separator}\ 3.49 + ${file.reference.bsh.jar}${path.separator}\ 3.50 + ${file.reference.snakeyaml.jar}${path.separator}\ 3.51 ${nashorn.internal.tests.jar}${path.separator}\ 3.52 ${nashorn.api.tests.jar} 3.53