diff options
Diffstat (limited to 'js/src/jit-test/README')
-rw-r--r-- | js/src/jit-test/README | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/js/src/jit-test/README b/js/src/jit-test/README new file mode 100644 index 0000000..ddde38d --- /dev/null +++ b/js/src/jit-test/README @@ -0,0 +1,74 @@ +JS Trace Test Suite + +* PURPOSE + +This is a test suite for testing TraceMonkey. All tests are run in the JS shell +with tracing enabled (-j). + +* REQUIREMENTS + +Python 2.5. This is already a standard requirement for building our tree. + +* RUNNING THE TESTS + +Basic usage: + + python jit_test.py <path-to-js-shell> + +The progress bar shows [#tests passed, #tests failed, #tests run] at the left. +If all tests pass, the output is 'PASSED ALL'. The test suite can be interrupted +at any time with Ctrl+C and partial results will be printed. + +To run only the basic tests, not including the slow tests: + + python jit_test.py <path-to-js-shell> basic + +For more options: + + python jit_test.py -h + +* CREATING NEW TESTS + +Simply create a JS file under the 'tests/' directory. Most tests should go in +'tests/basic/'. + +All tests are run with 'lib/prolog.js' included first on the command line. The +command line also creates a global variable 'libdir' that is set to the path +of the 'lib' directory. To include a file 'foo.js' from the lib directory in a +test case: + + load(libdir + 'foo.js') + +* TEST METALINES + +The first line of a test case can contain a special comment controlling how the +test is run. For example: + + // |jit-test| allow-oom; + +The general format in EBNF is: + + metaline ::= cookie { item ";" } + cookie ::= "|jit-test|" + item ::= flag | attribute + + flag ::= "slow" | "allow-oom" + + attribute ::= name ":" value + name ::= "TMFLAGS" | "error" + value ::= <string> + +The metaline may appear anywhere in the first line of the file: this allows it +to be placed inside any kind of comment. + +The meaning of the items: + + slow Test runs slowly. Do not run if the --no-slow option is given. + allow-oom If the test runs out of memory, it counts as passing. + valgrind Run test under valgrind. + + error The test should be considered to pass iff it throws the + given JS exception. + TMFLAGS Set the environment variable TMFLAGS to the given value. + +* END |