| Nashorn tests are TestNG based. Running tests requires downloading the TestNG |
| library and placing its jar file into the lib subdirectory: |
| |
| # 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 lib/testng.jar |
| |
| # run tests |
| cd .. |
| ant test |
| |
| This will fail with a message like |
| |
| taskdef class org.testng.TestNGAntTask cannot be found |
| |
| if the TestNG jar file is not installed properly or if the wrong |
| version is present. (Check build.xml to find the version of TestNG |
| that is required.) Only the jar file is necessary. The unzipped |
| hierarchy can be removed. |
| |
| We have tested using TestNG 6.7 as well ad TestNG 6.8. TestNG 6.7's jar file |
| is also available as part of jtreg 4.1 b05 which can be downloaded at |
| http://download.java.net/openjdk/jtreg/ |
| |
| ECMAScript script test framework: |
| |
| * Test tags for test framework: |
| |
| The test runner crawls these directories for .js files and looks for JTReg-style |
| @foo comments to identify tests. |
| |
| * @test - A test is tagged with @test. |
| |
| * @test/fail - Tests that are supposed to fail (compiling, see @run/fail |
| for runtime) are tagged with @test/fail. |
| |
| * @test/compile-error - Test expects compilation to fail, compares |
| output. |
| |
| * @test/warning - Test expects compiler warnings, compares output. |
| |
| * @test/nocompare - Test expects to compile [and/or run?] |
| successfully(may be warnings), does not compare output. |
| |
| * @subtest - denotes necessary file for a main test file; itself is not |
| a test. |
| |
| * @run - A test that should be run is also tagged with @run (otherwise |
| the test runner only compiles the test). |
| |
| * @runif - A test that should be run only if a specific System property |
| is defined (Example: @runif external.v8) |
| |
| * @run/fail - A test that should compile but fail with a runtime error. |
| |
| * @run/param - specify runtime arguments to script. |
| |
| * @run/ignore-std-error - script may produce output on stderr, ignore |
| this output. |
| |
| * @compilearg \ - pass arg to compiler, sample. |
| |
| /** |
| * @compilearg --dump-ir-graph |
| * @test/warning |
| */ |
| |
| * @compilefirst foo.js - foo.js being a necessary file for a test; it |
| may or may not itself be a test. These are compiled separately before |
| main test file. |
| |
| * @compile/fail foo.js - foo.js being a necessary file for a test; it |
| may or may not itself be a test, compile should fail. These are compile |
| with main file. |
| |
| * @compile bar.js - bar.js being a necessary file for a test; it may or |
| may not itself be a test. These are compiled with main file. |