1 #
   2 # Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
   3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4 #
   5 # This code is free software; you can redistribute it and/or modify it
   6 # under the terms of the GNU General Public License version 2 only, as
   7 # published by the Free Software Foundation.
   8 #
   9 # This code is distributed in the hope that it will be useful, but WITHOUT
  10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12 # version 2 for more details (a copy is included in the LICENSE file that
  13 # accompanied this code).
  14 #
  15 # You should have received a copy of the GNU General Public License version
  16 # 2 along with this work; if not, write to the Free Software Foundation,
  17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18 #
  19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20 # or visit www.oracle.com if you need additional information or have any
  21 # questions.
  22 #
  23 
  24 application.title=nashorn
  25 
  26 # location of JDK embedded ASM sources
  27 jdk.asm.src.dir=../jdk/src/java.base/share/classes/jdk/internal/org/objectweb/asm
  28 
  29 # location of JDK embedded jline sources
  30 jdk.jline.src.dir=../jdk/src/jdk.internal.le/share/classes
  31 
  32 # source and target levels
  33 build.compiler=modern
  34 javac.source=1.9
  35 javac.target=1.9
  36 
  37 javadoc.option=-tag "implSpec:a:Implementation Requirements:"
  38 
  39 # nashorn version information
  40 nashorn.version=0.1
  41 nashorn.fullversion=0.1
  42 nashorn.product.name=Oracle Nashorn
  43 
  44 # This directory is removed when the project is cleaned:
  45 build.dir=build
  46 build.classes.dir=${build.dir}/classes
  47 build.zip=${build.dir}/nashorn.zip
  48 build.gzip=${build.dir}/nashorn.tar.gz
  49 
  50 # project directory of <nashorn> ant task
  51 nashorntask.dir=buildtools/nashorntask
  52 
  53 # nashorn Shell tool
  54 nashorn.shell.tool=jdk.nashorn.tools.Shell
  55 
  56 # nasgen tool
  57 nasgen.tool=jdk.nashorn.internal.tools.nasgen.Main
  58 
  59 nasgen.module.imports=\
  60     java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED,\
  61     java.base/jdk.internal.org.objectweb.asm.util=ALL-UNNAMED
  62 
  63 # parallel test runner tool
  64 parallel.test.runner=jdk.nashorn.internal.test.framework.ParallelTestRunner
  65 
  66 # test classes directory
  67 build.test.classes.dir=${build.dir}/test/classes
  68 
  69 # nashorn test jar - internal tests jar and api tests jar
  70 nashorn.internal.tests.jar=${build.dir}/nashorn-internal-tests.jar
  71 nashorn.api.tests.jar=${build.dir}/nashorn-api-tests.jar
  72 
  73 # test results directory
  74 build.test.results.dir=${build.dir}/test/reports
  75 build.nosecurity.test.results.dir=${build.dir}/test/nosecurity/reports
  76 build.nooptimistic.test.results.dir=${build.dir}/test/nooptimistic/reports
  77 
  78 # This directory is removed when the project is cleaned:
  79 dist.dir=dist
  80 dynalink.jar=${dist.dir}/dynalink.jar
  81 nashorn.jar=${dist.dir}/nashorn.jar
  82 jjs.jar=${dist.dir}/jjs.jar
  83 dist.javadoc.dir=${dist.dir}/javadoc
  84 
  85 # configuration for java flight recorder
  86 run.test.jvmargs.jfr=-XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:FlightRecorderOptions=defaultrecording=true,disk=true,dumponexit=true,dumponexitpath=${build.dir},stackdepth=128
  87 
  88 # test library location
  89 test.lib=${basedir}${file.separator}test${file.separator}lib
  90 
  91 # jars refererred
  92 file.reference.testng.jar=${test.lib}${file.separator}testng-6.8.jar
  93 file.reference.jcommander.jar=${test.lib}${file.separator}jcommander-1.27.jar
  94 file.reference.bsh.jar=${test.lib}${file.separator}bsh-2.0b4.jar
  95 file.reference.snakeyaml.jar=${test.lib}${file.separator}snakeyaml-1.6.jar
  96 file.reference.asmtools.jar=${test.lib}${file.separator}asmtools-60.jar
  97 
  98 # TestNG ant task classpath
  99 testng.ant.classpath=\
 100     ${file.reference.testng.jar}${path.separator}\
 101     ${file.reference.jcommander.jar}${path.separator}\
 102     ${file.reference.bsh.jar}${path.separator}\
 103     ${file.reference.snakeyaml.jar}${path.separator}
 104 
 105 # Set testng verbose level
 106 # From TestNG docs: "the verbosity level (0 to 10 where 10 is most detailed)
 107 # Actually, this is a lie: you can specify -1 and this will put TestNG in
 108 # debug mode (no longer slicing off stack traces and all)."
 109 
 110 testng.verbose=2
 111 
 112 # TestNG listeners - we want to replace TestNG's own JUnit
 113 # reporter, but want everything else provided by default
 114 # Unfortunately, we've to clone the other default reporters here.
 115 
 116 testng.listeners=\
 117  org.testng.reporters.SuiteHTMLReporter, \
 118  org.testng.reporters.TestHTMLReporter, \
 119  org.testng.reporters.jq.Main, \
 120  org.testng.reporters.FailedReporter, \
 121  org.testng.reporters.XMLReporter \
 122  org.testng.reporters.EmailableReporter, \
 123  jdk.nashorn.internal.test.framework.JSJUnitReportReporter
 124 
 125 javac.debug=true
 126 javac.encoding=ascii
 127 javac.test.classpath=\
 128     ${build.test.classes.dir}${path.separator}\
 129     ${file.reference.testng.jar}${path.separator}\
 130     ${file.reference.jcommander.jar}${path.separator}\
 131     ${file.reference.bsh.jar}${path.separator}\
 132     ${file.reference.snakeyaml.jar}
 133 
 134 test.module.imports=\
 135     jdk.scripting.nashorn/jdk.nashorn.internal.ir=ALL-UNNAMED,\
 136     jdk.scripting.nashorn/jdk.nashorn.internal.codegen=ALL-UNNAMED,\
 137     jdk.scripting.nashorn/jdk.nashorn.internal.parser=ALL-UNNAMED,\
 138     jdk.scripting.nashorn/jdk.nashorn.internal.objects=ALL-UNNAMED,\
 139     jdk.scripting.nashorn/jdk.nashorn.internal.runtime=ALL-UNNAMED,\
 140     jdk.scripting.nashorn/jdk.nashorn.internal.runtime.doubleconv=ALL-UNNAMED,\
 141     jdk.scripting.nashorn/jdk.nashorn.internal.runtime.linker=ALL-UNNAMED,\
 142     jdk.scripting.nashorn/jdk.nashorn.internal.runtime.events=ALL-UNNAMED,\
 143     jdk.scripting.nashorn/jdk.nashorn.internal.runtime.options=ALL-UNNAMED,\
 144     jdk.scripting.nashorn/jdk.nashorn.internal.runtime.regexp=ALL-UNNAMED,\
 145     jdk.scripting.nashorn/jdk.nashorn.internal.runtime.regexp.joni=ALL-UNNAMED,\
 146     jdk.scripting.nashorn/jdk.nashorn.tools=ALL-UNNAMED,\
 147     java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED
 148 
 149 meta.inf.dir=${nashorn.module.src.dir}/META-INF
 150 
 151 run.classpath=\
 152     ${build.classes.dir}
 153 
 154 # test scripts to run
 155 test.dir=test
 156 test.nosecurity.dir=test/script/nosecurity
 157 test.script.dir=test/script
 158 test.basic.dir=test/script/basic
 159 test.maptests.dir=test/script/maptests
 160 test.error.dir=test/script/error
 161 test.sandbox.dir=test/script/sandbox
 162 test.trusted.dir=test/script/trusted
 163 test.external.dir=test/script/external
 164 test262.dir=${test.external.dir}/test262
 165 test262.suite.dir=${test262.dir}/test/suite
 166 testjfx.dir=${test.script.dir}/jfx
 167 testmarkdown.dir=${test.script.dir}/markdown
 168 
 169 test-sys-prop.test.dir=${test.dir}
 170 test-sys-prop.test.js.roots=${test.basic.dir} ${test.maptests.dir} ${test.error.dir} ${test.sandbox.dir} ${test.trusted.dir}
 171 test-sys-prop.test262.suite.dir=${test262.suite.dir}
 172 test-sys-prop.es5conform.testcases.dir=${test.external.dir}/ES5Conform/TestCases
 173 test-sys-prop.test.basic.dir=${test.basic.dir}
 174 test-sys-prop.test.external.dir=${test.external.dir}
 175 test-sys-prop.test.maptests.dir=${test.maptests.dir}
 176 test-sys-prop.test.sandbox.dir=${test.sandbox.dir}
 177 test-sys-prop.test.trusted.dir=${test.trusted.dir}
 178 
 179 test-sys-prop-no-security.test.dir=${test.dir}
 180 test-sys-prop-no-security.test.js.roots=${test.nosecurity.dir}
 181 
 182 # framework root for our script tests
 183 test-sys-prop.test.js.framework=${test.script.dir}/assert.js
 184 test-sys-prop-no-security.test.js.framework=${test.script.dir}/assert.js
 185 
 186 # Control the verbosity of ParserTest
 187 test-sys-prop.parsertest.verbose=false
 188 
 189 # turn on/off scripting mode for parser tests
 190 test-sys-prop.parsertest.scripting=true
 191 test-sys-prop.parserapitest.verbose=false
 192 
 193 # turn on/off test262 scripts for parser tests
 194 test-sys-prop.parsertest.test262=false
 195 test-sys-prop.parserapitest.test262=false
 196 
 197 # Control the verbosity of the CompilerTest
 198 test-sys-prop.compilertest.verbose=false
 199 
 200 # turn on/off scripting mode for compiler tests
 201 test-sys-prop.compilertest.scripting=true
 202 
 203 # turn on/off test262 scripts for compiler tests
 204 test-sys-prop.compilertest.test262=false
 205 
 206 # test directory to be excluded.
 207 test-sys-prop.test.js.exclude.dir=${test.script.dir}/currently-failing ${test.external.dir}
 208 
 209 # run everything that's js in here, without checking file headers for test annotations
 210 test-sys-prop.test.js.unchecked.dir=${test262.dir}
 211 
 212 # test root for octane
 213 octane-test-sys-prop.test.js.roots=${test.external.dir}/octane/
 214 
 215 # run octane benchmars in separate processes? (recommended)
 216 octane-test-sys-prop.separate.process=true
 217 
 218 # framework root for octane
 219 octane-test-sys-prop.test.js.framework=${test.basic.dir}/run-octane.js
 220 
 221 # test root for sunspider
 222 sunspider-test-sys-prop.test.js.roots=${test.external.dir}/sunspider/tests/sunspider-1.0.2/
 223 
 224 # framework root for sunspider
 225 sunspider-test-sys-prop.test.js.framework=${test.basic.dir}/runsunspider.js
 226 
 227 # list of tests to be excluded
 228 sunspider-test-sys-prop.test.js.exclude.list=
 229 
 230 # execute our script tests in shared nashorn context or not?
 231 test-sys-prop.test.js.shared.context=false
 232 
 233 # execute test262 tests in shared nashorn context or not?
 234 test262-test-sys-prop.test.js.shared.context=true
 235 
 236 # test262 test root
 237 test262-test-sys-prop.test.js.roots=${test262.suite.dir}
 238 
 239 # test262 enable/disable strict mode tests
 240 test262-test-sys-prop.test.js.enable.strict.mode=true
 241 
 242 # file containing test262 tests to be excluded
 243 # test262-test-sys-prop.test.js.excludes.file=${test262.dir}/test/config/excludelist.xml
 244 
 245 # list of test262 files to be excluded
 246 test262-test-sys-prop.test.js.exclude.list=\
 247     ${test262.suite.dir}/ch07/7.4/S7.4_A6.js \
 248     ${test262.suite.dir}/ch07/7.8/7.8.5/S7.8.5_A1.4_T2.js \
 249     ${test262.suite.dir}/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-170.js 
 250 
 251 # list of test262 test dirs to be excluded
 252 test262-test-sys-prop.test.js.exclude.dir=\
 253     ${test262.suite.dir}/intl402/ \
 254     ${test262.suite.dir}/bestPractice/
 255 
 256 test262-test-sys-prop.test.failed.list.file=${build.dir}/test/failedTests
 257 
 258 # test262 test frameworks
 259 test262-test-sys-prop.test.js.framework=\
 260     --class-cache-size=10 \
 261     --no-java \
 262     --no-typed-arrays \
 263     -timezone=PST \
 264     ${test.script.dir}/test262.js \
 265     ${test262.dir}/test/harness/framework.js \
 266     ${test262.dir}/test/harness/sta.js
 267 
 268 # testmarkdown test root
 269 testmarkdown-test-sys-prop.test.js.roots=${testmarkdown.dir}
 270 
 271 # execute testmarkdown tests in shared nashorn context or not?
 272 testmarkdown-test-sys-prop.test.js.shared.context=false
 273 
 274 # framework root for markdown script tests
 275 testmarkdown-test-sys-prop.test.js.framework=\
 276     ${test.script.dir}${file.separator}markdown.js
 277 
 278 # testjfx test root
 279 testjfx-test-sys-prop.test.js.roots=${testjfx.dir}
 280 
 281 # execute testjfx tests in shared nashorn context or not?
 282 testjfx-test-sys-prop.test.js.shared.context=false
 283 
 284 # framework root for our script tests
 285 testjfx-test-sys-prop.test.js.framework=\
 286     -fx \
 287     ${test.script.dir}${file.separator}jfx.js
 288 
 289 file.reference.jemmyfx.jar=${test.lib}${file.separator}JemmyFX.jar
 290 file.reference.jemmycore.jar=${test.lib}${file.separator}JemmyCore.jar
 291 file.reference.jemmyawtinput.jar=${test.lib}${file.separator}JemmyAWTInput.jar
 292 file.reference.jfxrt.jar=${java.home}${file.separator}lib${file.separator}ext${file.separator}jfxrt.jar
 293 testjfx.run.test.classpath=\
 294     ${file.reference.jemmyfx.jar}${path.separator}\
 295     ${file.reference.jemmycore.jar}${path.separator}\
 296     ${file.reference.jemmyawtinput.jar}${path.separator}\
 297     ${file.reference.testng.jar}${path.separator}\
 298     ${file.reference.jcommander.jar}${path.separator}\
 299     ${file.reference.bsh.jar}${path.separator}\
 300     ${file.reference.snakeyaml.jar}${path.separator}\
 301     ${nashorn.internal.tests.jar}${path.separator}\
 302     ${nashorn.api.tests.jar}
 303 
 304 # testjfx VM options for script tests with @fork option
 305 testjfx-test-sys-prop.test.fork.jvm.options=${run.test.jvmargs.main} -Xmx${run.test.xmx} -cp ${testjfx.run.test.classpath}
 306 
 307 run.test.classpath=\
 308     ${file.reference.testng.jar}${path.separator}\
 309     ${file.reference.jcommander.jar}${path.separator}\
 310     ${file.reference.bsh.jar}${path.separator}\
 311     ${file.reference.snakeyaml.jar}${path.separator}\
 312     ${nashorn.internal.tests.jar}${path.separator}\
 313     ${nashorn.api.tests.jar}
 314 
 315 dynalink.module.src.dir=src/jdk.dynalink/share/classes
 316 dynalink.module.classes.dir=${build.classes.dir}/jdk.dynalink
 317 nashorn.module.src.dir=src/jdk.scripting.nashorn/share/classes
 318 nashorn.module.classes.dir=${build.classes.dir}/jdk.scripting.nashorn
 319 nashorn.shell.module.src.dir=src/jdk.scripting.nashorn.shell/share/classes
 320 nashorn.shell.module.classes.dir=${build.classes.dir}/jdk.scripting.nashorn.shell
 321 
 322 src.dir=${dynalink.module.src.dir}${path.separator}\
 323         ${nashorn.module.src.dir}${path.separator}\
 324         ${nashorn.shell.module.src.dir}${path.separator}\
 325         ${jdk.jline.src.dir}
 326 
 327 test.src.dir=test/src
 328 
 329 # -Xmx is used for all tests, -Xms only for octane benchmark
 330 run.test.xmx=2G
 331 run.test.xms=2G
 332 
 333 # uncomment this jfr.args to enable light recordings. the stack needs to be cranked up to 1024 frames,
 334 # or everything will as of the now drown in lambda forms and be cut off.
 335 #
 336 #jfr.args=-XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:FlightRecorderOptions=defaultrecording=true,disk=true,dumponexit=true,dumponexitpath="test_suite.jfr",stackdepth=1024 \
 337 
 338 jfr.args=
 339 
 340 run.test.user.language=tr
 341 run.test.user.country=TR
 342 
 343 run.test.jvmargs.common=\
 344   -server \
 345   -XaddExports:${test.module.imports} \
 346   -Xpatch:${build.classes.dir} \
 347   -Dfile.encoding=UTF-8 \
 348   -Duser.language=${run.test.user.language} \
 349   -Duser.country=${run.test.user.country} \
 350   -Dnashorn.typeInfo.cacheDir=${build.dir}${file.separator}test${file.separator}type_info_cache \
 351   ${jfr.args} \
 352   -XX:+HeapDumpOnOutOfMemoryError
 353 
 354 # turn on assertions for tests
 355 run.test.jvmargs.main=${run.test.jvmargs.common} -esa -ea
 356 
 357 # Extra jvmargs that might be useful for debugging
 358 # and performance improvements/monitoring
 359 #
 360 # -XX:+UnlockDiagnosticVMOptions
 361 #
 362 # turn off compressed class pointers in metaspace
 363 # -XX:-UseCompressedKlassPointers
 364 #
 365 # dump the heap after every GC
 366 # -XX:+PrintHeapAtGC
 367 #
 368 # manually set a metaspace size for class data
 369 # -XX:ClassMetaspaceSize=300M
 370 #
 371 # print out methods compiled
 372 # -XX:+PrintCompilation
 373 #
 374 # print all compiled nmethods with oopmaps and lots of other info
 375 # -XX:+PrintNMethods
 376 #
 377 # activate the generic "UseNewCode" flag to test whatever functionality
 378 # lies behind it. This is the preferred way to test a, yet flagless,
 379 # feature in HotSpot - for example, the uncommon trap placement fix
 380 # was hidden behind this flag before it became the default
 381 #
 382 # -XX:+UnlockDiagnosticVMOptions -XX:+UseNewCode
 383 #
 384 # Crank up the type profile level to 222, which has some warmup
 385 # penalties, but produces much better code for JavaScript, where better
 386 # and more intrusive type profiling is required to get rid of
 387 # a large amount of unnecessary guard code, that could not otherwise
 388 # be eliminated
 389 #
 390 # -XX:TypeProfileLevel=222
 391 #
 392 
 393 # Use best known performance options for octane
 394 run.test.jvmargs.octane.main=${run.test.jvmargs.common} -XX:TypeProfileLevel=222
 395 
 396 # Security manager args - make sure that we run with the nashorn.policy that the build creates
 397 run.test.jvmsecurityargs=-Xverify:all -Djava.security.manager -Djava.security.policy=${build.dir}/nashorn.policy
 398 
 399 # VM options for script tests with @fork option
 400 test-sys-prop.test.fork.jvm.options=${run.test.jvmargs.main} -Xmx${run.test.xmx} ${run.test.jvmsecurityargs} -cp ${run.test.classpath}
 401 # VM options for no-security script tests with @fork option - same as above but without jvmsecurityargs
 402 test-sys-prop-no-security.test.fork.jvm.options=${run.test.jvmargs.main} -Xmx${run.test.xmx} -cp ${run.test.classpath}
 403 
 404 # path of rhino.jar for benchmarks
 405 rhino.dir=
 406 rhino.jar=${rhino.dir}/js.jar
 407 
 408 v8.shell=d8
 409 
 410 # How many iterations should 'ant octane' run for each
 411 # benchmark
 412 octane.iterations=25
 413 
 414 # List of octane tests to run, as properties prefixed with
 415 # "octane.benchmark." mapping to the benchmark name in
 416 # the test harness
 417 #
 418 # Octane tests that are disabled should have their entire line
 419 # commented out  Tests may be disabled for functionality reasons when
 420 # they have bugs or when the runtime doesn't handle them (yet)
 421 octane.benchmark.box2d=box2d
 422 #octane.benchmark.code-load=code-load
 423 octane.benchmark.crypto=crypto
 424 octane.benchmark.deltablue=deltablue
 425 octane.benchmark.earley-boyer=earley-boyer
 426 octane.benchmark.gbemu=gbemu
 427 octane.benchmark.navier-stokes=navier-stokes
 428 octane.benchmark.mandreel=mandreel
 429 octane.benchmark.pdfjs=pdfjs
 430 octane.benchmark.raytrace=raytrace
 431 octane.benchmark.regexp=regexp
 432 octane.benchmark.richards=richards
 433 octane.benchmark.splay=splay
 434 #octane.benchmark.typescript=typescript
 435 #octane.benchmark.zlib=zlib
 436 
 437 #path to rhino jar file
 438 octaneperf-sys-prop.rhino.jar=${rhino.jar}
 439 
 440 #timeout for performance tests in minutes
 441 octaneperf-sys-prop.timeout.value=10
 442 
 443 #how many iterations to run sunspider after warmup
 444 sunspider.iterations=3000
 445 
 446 #################
 447 # code coverage #
 448 #################
 449 
 450 #enable/disable code coverage; please redifine in the ${user.home}/.nashorn.project.local.properties
 451 make.code.coverage=false
 452 
 453 #type of codecoverage; one of static or dynamic. Now only dynamic is supported
 454 jcov=dynamic
 455 
 456 #naming of CC results
 457 #NB directory specified in the cc.dir will be cleaned up!!!
 458 cc.dir=${basedir}/../Codecoverage_Nashorn
 459 cc.result.file.name=CC_${jcov}_nashorn.xml
 460 
 461 #dynamic CC parameters; please redefine in the ${user.home}/.nashorn.project.local.properties
 462 jcov2.lib.dir=${basedir}/../jcov2/lib
 463 jcov.jar=${jcov2.lib.dir}/jcov.jar
 464 cc.include=jdk\.nashorn\.*
 465 cc.exclude=jdk\.nashorn\.internal\.scripts\.*
 466 cc.dynamic.genereate.template=true
 467 cc.template=${cc.dir}/CC_template.xml
 468 cc.dynamic.args=-javaagent:${jcov.jar}=include=${cc.include},exclude=${cc.exclude},type=all,verbose=0,file=${cc.dir}/${cc.result.file.name}