README
1Nashorn tests are TestNG based. Running tests requires downloading the TestNG
2library and placing its jar file into the lib subdirectory:
3
4 # download and install TestNG
5 wget http://testng.org/testng-x.y.z.zip
6 unzip testng-x.y.z.zip
7 cp testng-x.y.z/testng-x.y.z.jar lib/testng.jar
8
9 # run tests
10 cd ..
11 ant test
12
13This will fail with a message like
14
15 taskdef class org.testng.TestNGAntTask cannot be found
16
17if the TestNG jar file is not installed properly or if the wrong
18version is present. (Check build.xml to find the version of TestNG
19that is required.) Only the jar file is necessary. The unzipped
20hierarchy can be removed.
21
22We have tested using TestNG 6.7 as well ad TestNG 6.8. TestNG 6.7's jar file
23is also available as part of jtreg 4.1 b05 which can be downloaded at
24http://download.java.net/openjdk/jtreg/
25
26ECMAScript script test framework:
27
28* Test tags for test framework:
29
30The test runner crawls these directories for .js files and looks for JTReg-style
31@foo comments to identify tests.
32
33 * @test - A test is tagged with @test.
34
35 * @test/fail - Tests that are supposed to fail (compiling, see @run/fail
36 for runtime) are tagged with @test/fail.
37
38 * @test/compile-error - Test expects compilation to fail, compares
39 output.
40
41 * @test/warning - Test expects compiler warnings, compares output.
42
43 * @test/nocompare - Test expects to compile [and/or run?]
44 successfully(may be warnings), does not compare output.
45
46 * @subtest - denotes necessary file for a main test file; itself is not
47 a test.
48
49 * @run - A test that should be run is also tagged with @run (otherwise
50 the test runner only compiles the test).
51
52 * @runif - A test that should be run only if a specific System property
53 is defined (Example: @runif external.v8)
54
55 * @run/fail - A test that should compile but fail with a runtime error.
56
57 * @run/param - specify runtime arguments to script.
58
59 * @run/ignore-std-error - script may produce output on stderr, ignore
60 this output.
61
62 * @compilearg \ - pass arg to compiler, sample.
63
64/**
65 * @compilearg --dump-ir-graph
66 * @test/warning
67 */
68
69 * @compilefirst foo.js - foo.js being a necessary file for a test; it
70 may or may not itself be a test. These are compiled separately before
71 main test file.
72
73 * @compile/fail foo.js - foo.js being a necessary file for a test; it
74 may or may not itself be a test, compile should fail. These are compile
75 with main file.
76
77 * @compile bar.js - bar.js being a necessary file for a test; it may or
78 may not itself be a test. These are compiled with main file.
79