nashorn/test/README
changeset 16147 e63b63819133
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nashorn/test/README	Fri Dec 21 16:36:24 2012 -0400
@@ -0,0 +1,78 @@
+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.