Mercurial > hg > jdk9-shenandoah > nashorn
changeset 1301:14ec7d7af490
8080275: transparently download testng.jar for Nashorn testing
Summary: Instead of asking the user to manually download and install testng.jar, automate the process via "ant externals".
Reviewed-by: hannesw, sundar
author | mhaupt |
---|---|
date | Tue, 02 Jun 2015 14:35:03 +0200 |
parents | 078107e0651f |
children | 10553f87f3e7 |
files | README make/build.xml make/project.properties |
diffstat | 3 files changed, 27 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/README Tue Jun 02 14:34:37 2015 +0200 +++ b/README Tue Jun 02 14:35:03 2015 +0200 @@ -72,14 +72,11 @@ - Running tests Nashorn tests are TestNG based. Running tests requires downloading the -TestNG library and placing its jar file into the lib subdirectory: +TestNG library and placing its jar file into the test/lib subdirectory. This is +done automatically when executing the "ant externals" command to get external +test suites (see below). - # download and install TestNG - wget http://testng.org/testng-x.y.z.zip - unzip testng-x.y.z.zip - cp testng-x.y.z/testng-x.y.z.jar test/lib/testng.jar - -After that, you can run the tests using: +Once TestNG is properly installed, you can run the tests using: cd make ant clean test
--- a/make/build.xml Tue Jun 02 14:34:37 2015 +0200 +++ b/make/build.xml Tue Jun 02 14:35:03 2015 +0200 @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <!-- - Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2010, 2015, 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 @@ -396,7 +396,7 @@ </target> <target name="check-testng" unless="testng.available"> - <echo message="WARNING: TestNG not available, will not run tests. Please copy testng.jar under test/lib directory."/> + <echo message="WARNING: TestNG not available, will not run tests. Please copy testng.jar under ${test.lib} directory."/> </target> <!-- only to be invoked as dependency of "test" target --> @@ -694,7 +694,7 @@ </target> <!-- get all external test scripts --> - <target name="externals" depends="init, check-external-tests, get-test262, get-octane, get-sunspider"> + <target name="externals" depends="init, check-external-tests, get-test262, get-octane, get-sunspider, get-testng"> <!-- make external test dir --> <mkdir dir="${test.external.dir}"/> @@ -735,6 +735,18 @@ <fail message="Exiting.."/> </target> + <!-- download and install testng.jar --> + <target name="get-testng" unless="testng.available"> + <get src="http://testng.org/testng-6.8.zip" dest="${test.lib}" skipexisting="true" ignoreerrors="true"/> + <unzip src="${test.lib}${file.separator}testng-6.8.zip" dest="${test.lib}"> + <patternset> + <include name="testng-6.8/testng-6.8.jar"/> + </patternset> + </unzip> + <move file="${test.lib}${file.separator}testng-6.8${file.separator}testng-6.8.jar" tofile="${test.lib}${file.separator}testng.jar"/> + <delete dir="${test.lib}${file.separator}testng-6.8"/> + </target> + <target name="alltests" depends="exit-if-no-testng, externals, update-externals, test, test262parallel, perf"/> <import file="build-benchmark.xml"/>
--- a/make/project.properties Tue Jun 02 14:34:37 2015 +0200 +++ b/make/project.properties Tue Jun 02 14:35:03 2015 +0200 @@ -1,5 +1,5 @@ # -# Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2010, 2015, 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 @@ -77,8 +77,11 @@ # configuration for java flight recorder run.test.jvmargs.jfr=-XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:FlightRecorderOptions=defaultrecording=true,disk=true,dumponexit=true,dumponexitpath=${build.dir},stackdepth=128 +# test library location +test.lib=${basedir}${file.separator}test${file.separator}lib + # jars refererred -file.reference.testng.jar=test/lib/testng.jar +file.reference.testng.jar=${test.lib}${file.separator}testng.jar # Set testng verbose level # From TestNG docs: "the verbosity level (0 to 10 where 10 is most detailed) @@ -243,9 +246,9 @@ -fx \ ${test.script.dir}${file.separator}jfx.js -file.reference.jemmyfx.jar=test${file.separator}lib${file.separator}JemmyFX.jar -file.reference.jemmycore.jar=test${file.separator}lib${file.separator}JemmyCore.jar -file.reference.jemmyawtinput.jar=test${file.separator}lib${file.separator}JemmyAWTInput.jar +file.reference.jemmyfx.jar=${test.lib}${file.separator}JemmyFX.jar +file.reference.jemmycore.jar=${test.lib}${file.separator}JemmyCore.jar +file.reference.jemmyawtinput.jar=${test.lib}${file.separator}JemmyAWTInput.jar file.reference.jfxrt.jar=${java.home}${file.separator}lib${file.separator}ext${file.separator}jfxrt.jar testjfx.run.test.classpath=\ ${file.reference.jemmyfx.jar}${path.separator}\