nashorn/README
author joehw
Wed, 17 Feb 2016 16:32:51 -0800
changeset 36029 a847c5a7e22d
parent 30981 7ef4e72901cf
child 43016 f78ab1eafdb9
permissions -rw-r--r--
8146237: PREFER from Features API taking precedence over catalog file Reviewed-by: lancea
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
26650
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
     1
- What is Nashorn?
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
     2
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
     3
Nashorn is a runtime environment for programs written in ECMAScript 5.1
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
     4
that runs on top of JVM.
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
     5
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
     6
- How to find out more about ECMAScript 5.1?
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
     7
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
     8
The specification can be found at
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
     9
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    10
    http://www.ecma-international.org/publications/standards/Ecma-262.htm
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    11
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    12
- How to checkout sources of Nashorn project?
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    13
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    14
Nashorn project uses Mercurial source code control system. You can
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    15
download Mercurial from http://mercurial.selenic.com/wiki/Download
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    16
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    17
Information about the forest extension can be found at
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    18
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    19
    http://mercurial.selenic.com/wiki/ForestExtension
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    20
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    21
and downlaoded using
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    22
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    23
    hg clone https://bitbucket.org/gxti/hgforest
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    24
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    25
You can clone Nashorn Mercurial forest using this command:
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    26
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    27
    hg fclone http://hg.openjdk.java.net/nashorn/jdk8 nashorn~jdk8
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    28
    
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    29
To update your copy of the forest (fwith the latest code:
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    30
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    31
    (cd nashorn~jdk8 ; hg fpull)
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    32
    
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    33
Or just the nashorn subdirectory with
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    34
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    35
    (cd nashorn~jdk8/nashorn ; hg pull -u)
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    36
    
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    37
To learn about Mercurial in detail, please visit http://hgbook.red-bean.com.
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    38
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    39
- How to build?
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    40
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    41
To build Nashorn, you need to install JDK 8. You may use the Nashorn
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    42
forest build (recommended) or down load from java.net.  You will need to
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    43
set JAVA_HOME environmental variable to point to your JDK installation
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    44
directory.
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    45
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    46
    cd nashorn~jdk8/nashorn/make
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    47
    ant clean; ant
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    48
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    49
- How to run?
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    50
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    51
Use the jjs script (see RELESE_README):
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    52
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    53
    cd nashorn~jdk8/nashorn
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    54
    sh bin/jjs <your .js file>
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    55
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    56
Nashorn supports javax.script API. It is possible to drop nashorn.jar in
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    57
class path and request for "nashorn" script engine from
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    58
javax.script.ScriptEngineManager. 
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    59
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    60
Look for samples under the directory test/src/jdk/nashorn/api/scripting/.
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    61
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    62
- Documentation
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    63
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    64
Comprehensive development documentation is found in the Nashorn JavaDoc. You can
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    65
build it using:
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    66
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    67
    cd nashorn~jdk8/nashorn/make
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    68
    ant javadoc
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    69
    
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    70
after which you can view the generated documentation at dist/javadoc/index.html.
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    71
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    72
- Running tests
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    73
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    74
Nashorn tests are TestNG based. Running tests requires downloading the
30981
7ef4e72901cf 8080275: transparently download testng.jar for Nashorn testing
mhaupt
parents: 26650
diff changeset
    75
TestNG library and placing its jar file into the test/lib subdirectory. This is
7ef4e72901cf 8080275: transparently download testng.jar for Nashorn testing
mhaupt
parents: 26650
diff changeset
    76
done automatically when executing the "ant externals" command to get external
7ef4e72901cf 8080275: transparently download testng.jar for Nashorn testing
mhaupt
parents: 26650
diff changeset
    77
test suites (see below).
26650
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    78
30981
7ef4e72901cf 8080275: transparently download testng.jar for Nashorn testing
mhaupt
parents: 26650
diff changeset
    79
Once TestNG is properly installed, you can run the tests using:
26650
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    80
    cd make
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    81
    ant clean test
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    82
    
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    83
You can also run the ECMA-262 test suite with Nashorn. In order to do
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    84
that, you will need to get a copy of it and put it in
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    85
test/script/external/test262 directory. A convenient way to do it is:
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    86
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    87
   git clone https://github.com/tc39/test262 test/script/external/test262
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    88
    
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    89
Alternatively, you can check it out elsewhere and make
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    90
test/script/external/test262 a symbolic link to that directory. After
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    91
you've done this, you can run the ECMA-262 tests using:
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    92
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    93
    cd nashorn~jdk8/nashorn/make
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    94
    ant test262
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    95
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    96
Ant target to get/update external test suites:
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    97
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    98
    ant externals
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
    99
    ant update-externals
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   100
    
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   101
These tests take time, so we have a parallelized runner for them that
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   102
takes advantage of all processor cores on the computer:
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   103
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   104
    cd nashorn~jdk8/nashorn/make
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   105
    ant test262parallel
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   106
    
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   107
- How to write your own test?
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   108
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   109
Nashorn uses it's own simple test framework. Any .js file dropped under
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   110
nashorn/test directory is considered as a test. A test file can
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   111
optionally have .js.EXPECTED (foo.js.EXPECTED for foo.js) associated
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   112
with it. The .EXPECTED file, if exists, should contain the output
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   113
expected from compiling and/or running the test file.
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   114
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   115
The test runner crawls these directories for .js files and looks for
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   116
JTReg-style @foo comments to identify tests.
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   117
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   118
    * @test - A test is tagged with @test.
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   119
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   120
    * @test/fail - Tests that are supposed to fail (compiling, see @run/fail
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   121
      for runtime) are tagged with @test/fail.
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   122
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   123
    * @test/compile-error - Test expects compilation to fail, compares
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   124
      output.
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   125
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   126
    * @test/warning - Test expects compiler warnings, compares output.
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   127
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   128
    * @test/nocompare - Test expects to compile [and/or run?]
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   129
      successfully(may be warnings), does not compare output.
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   130
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   131
    * @subtest - denotes necessary file for a main test file; itself is not
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   132
      a test.
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   133
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   134
    * @run - A test that should be run is also tagged with @run (otherwise
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   135
      the test runner only compiles the test).
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   136
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   137
    * @run/fail - A test that should compile but fail with a runtime error.
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   138
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   139
    * @run/ignore-std-error - script may produce output on stderr, ignore
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   140
      this output.
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   141
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   142
    * @argument - pass an argument to script.
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   143
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   144
    * @option \ - pass option to engine, sample.
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   145
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   146
/**
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   147
 * @option --dump-ir-graph
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   148
 * @test
6652a6d37d93 8058551: Top level README accidentally modified with changeset 1025:1d7a917a35e2
sundar
parents: 26649
diff changeset
   149
 */