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.8
  35 javac.target=1.8
  36 
  37 # nashorn version information
  38 nashorn.version=0.1
  39 nashorn.fullversion=0.1
  40 nashorn.product.name=Oracle Nashorn
  41 
  42 # This directory is removed when the project is cleaned:
  43 build.dir=build
  44 build.classes.dir=${build.dir}/classes
  45 build.zip=${build.dir}/nashorn.zip
  46 build.gzip=${build.dir}/nashorn.tar.gz
  47 
  48 # nashorn Shell tool
  49 nashorn.shell.tool=jdk.nashorn.tools.Shell
  50 
  51 # nasgen tool
  52 nasgen.tool=jdk.nashorn.internal.tools.nasgen.Main
  53 
  54 # parallel test runner tool
  55 parallel.test.runner=jdk.nashorn.internal.test.framework.ParallelTestRunner
  56 
  57 # test classes directory
  58 build.test.classes.dir=${build.dir}/test/classes
  59 
  60 # nashorn test jar - internal tests jar and api tests jar
  61 nashorn.internal.tests.jar=${build.dir}/nashorn-internal-tests.jar
  62 nashorn.api.tests.jar=${build.dir}/nashorn-api-tests.jar
  63 
  64 # test results directory
  65 build.test.results.dir=${build.dir}/test/reports
  66 build.nosecurity.test.results.dir=${build.dir}/test/nosecurity/reports
  67 build.nooptimistic.test.results.dir=${build.dir}/test/nooptimistic/reports
  68 
  69 # This directory is removed when the project is cleaned:
  70 dist.dir=dist
  71 dist.jar=${dist.dir}/nashorn.jar
  72 dist.javadoc.dir=${dist.dir}/javadoc
  73 
  74 # nashorn javafx shell
  75 fxshell.tool = jdk.nashorn.tools.FXShell
  76 fxshell.classes.dir = ${build.dir}/fxshell/classes
  77 fxshell.dir = tools/fxshell
  78 fxshell.jar = ${dist.dir}/nashornfx.jar
  79 
  80 # configuration for java flight recorder
  81 run.test.jvmargs.jfr=-XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:FlightRecorderOptions=defaultrecording=true,disk=true,dumponexit=true,dumponexitpath=${build.dir},stackdepth=128
  82 
  83 # test library location
  84 test.lib=${basedir}${file.separator}test${file.separator}lib
  85 
  86 # jars refererred
  87 file.reference.testng.jar=${test.lib}${file.separator}testng.jar
  88 
  89 # Set testng verbose level
  90 # From TestNG docs: "the verbosity level (0 to 10 where 10 is most detailed)
  91 # Actually, this is a lie: you can specify -1 and this will put TestNG in
  92 # debug mode (no longer slicing off stack traces and all)."
  93 
  94 testng.verbose=2
  95 
  96 # TestNG listeners - we want to replace TestNG's own JUnit
  97 # reporter, but want everything else provided by default
  98 # Unfortunately, we've to clone the other default reporters here.
  99 
 100 testng.listeners=\
 101  org.testng.reporters.SuiteHTMLReporter, \
 102  org.testng.reporters.TestHTMLReporter, \
 103  org.testng.reporters.jq.Main, \
 104  org.testng.reporters.FailedReporter, \
 105  org.testng.reporters.XMLReporter \
 106  org.testng.reporters.EmailableReporter, \
 107  jdk.nashorn.internal.test.framework.JSJUnitReportReporter
 108 
 109 javac.debug=true
 110 javac.encoding=ascii
 111 javac.classpath=\
 112     ${build.classes.dir}
 113 javac.test.classpath=\
 114     ${build.classes.dir}${path.separator}\
 115     ${build.test.classes.dir}${path.separator}\
 116     ${file.reference.testng.jar}
 117 
 118 meta.inf.dir=${nashorn.module.src.dir}/META-INF
 119 
 120 run.classpath=\
 121     ${build.classes.dir}
 122 
 123 # test scripts to run
 124 test.dir=test
 125 test.nosecurity.dir=test/script/nosecurity
 126 test.script.dir=test/script
 127 test.basic.dir=test/script/basic
 128 test.maptests.dir=test/script/maptests
 129 test.error.dir=test/script/error
 130 test.sandbox.dir=test/script/sandbox
 131 test.trusted.dir=test/script/trusted
 132 test.external.dir=test/script/external
 133 test262.dir=${test.external.dir}/test262
 134 test262.suite.dir=${test262.dir}/test/suite
 135 testjfx.dir=${test.script.dir}/jfx
 136 testmarkdown.dir=${test.script.dir}/markdown
 137 
 138 test-sys-prop.test.dir=${test.dir}
 139 test-sys-prop.test.js.roots=${test.basic.dir} ${test.maptests.dir} ${test.error.dir} ${test.sandbox.dir} ${test.trusted.dir}
 140 test-sys-prop.test262.suite.dir=${test262.suite.dir}
 141 test-sys-prop.es5conform.testcases.dir=${test.external.dir}/ES5Conform/TestCases
 142 test-sys-prop.test.basic.dir=${test.basic.dir}
 143 test-sys-prop.test.external.dir=${test.external.dir}
 144 test-sys-prop.test.maptests.dir=${test.maptests.dir}
 145 test-sys-prop.test.sandbox.dir=${test.sandbox.dir}
 146 test-sys-prop.test.trusted.dir=${test.trusted.dir}
 147 
 148 test-sys-prop-no-security.test.dir=${test.dir}
 149 test-sys-prop-no-security.test.js.roots=${test.nosecurity.dir}
 150 
 151 # framework root for our script tests
 152 test-sys-prop.test.js.framework=${test.script.dir}/assert.js
 153 test-sys-prop-no-security.test.js.framework=${test.script.dir}/assert.js
 154 
 155 # Control the verbosity of ParserTest
 156 test-sys-prop.parsertest.verbose=false
 157 
 158 # turn on/off scripting mode for parser tests
 159 test-sys-prop.parsertest.scripting=true
 160 test-sys-prop.parserapitest.verbose=false
 161 
 162 # turn on/off test262 scripts for parser tests
 163 test-sys-prop.parsertest.test262=false
 164 test-sys-prop.parserapitest.test262=false
 165 
 166 # Control the verbosity of the CompilerTest
 167 test-sys-prop.compilertest.verbose=false
 168 
 169 # turn on/off scripting mode for compiler tests
 170 test-sys-prop.compilertest.scripting=true
 171 
 172 # turn on/off test262 scripts for compiler tests
 173 test-sys-prop.compilertest.test262=false
 174 
 175 # test directory to be excluded.
 176 test-sys-prop.test.js.exclude.dir=${test.script.dir}/currently-failing ${test.external.dir}
 177 
 178 # run everything that's js in here, without checking file headers for test annotations
 179 test-sys-prop.test.js.unchecked.dir=${test262.dir}
 180 
 181 # test root for octane
 182 octane-test-sys-prop.test.js.roots=${test.external.dir}/octane/
 183 
 184 # run octane benchmars in separate processes? (recommended)
 185 octane-test-sys-prop.separate.process=true
 186 
 187 # framework root for octane
 188 octane-test-sys-prop.test.js.framework=${test.basic.dir}/run-octane.js
 189 
 190 # test root for sunspider
 191 sunspider-test-sys-prop.test.js.roots=${test.external.dir}/sunspider/tests/sunspider-1.0.2/
 192 
 193 # framework root for sunspider
 194 sunspider-test-sys-prop.test.js.framework=${test.basic.dir}/runsunspider.js
 195 
 196 # list of tests to be excluded
 197 sunspider-test-sys-prop.test.js.exclude.list=
 198 
 199 # execute our script tests in shared nashorn context or not?
 200 test-sys-prop.test.js.shared.context=false
 201 
 202 # execute test262 tests in shared nashorn context or not?
 203 test262-test-sys-prop.test.js.shared.context=true
 204 
 205 # test262 test root
 206 test262-test-sys-prop.test.js.roots=${test262.suite.dir}
 207 
 208 # test262 enable/disable strict mode tests
 209 test262-test-sys-prop.test.js.enable.strict.mode=true
 210 
 211 # file containing test262 tests to be excluded
 212 # test262-test-sys-prop.test.js.excludes.file=${test262.dir}/test/config/excludelist.xml
 213 
 214 # list of test262 test dirs to be excluded
 215 test262-test-sys-prop.test.js.exclude.dir=\
 216     ${test262.suite.dir}/intl402/ \
 217     ${test262.suite.dir}/bestPractice/
 218 
 219 test262-test-sys-prop.test.failed.list.file=${build.dir}/test/failedTests
 220 
 221 # test262 test frameworks
 222 test262-test-sys-prop.test.js.framework=\
 223     --class-cache-size=10 \
 224     --no-java \
 225     --no-typed-arrays \
 226     -timezone=PST \
 227     ${test.script.dir}/test262.js \
 228     ${test262.dir}/test/harness/framework.js \
 229     ${test262.dir}/test/harness/sta.js
 230 
 231 # testmarkdown test root
 232 testmarkdown-test-sys-prop.test.js.roots=${testmarkdown.dir}
 233 
 234 # execute testmarkdown tests in shared nashorn context or not?
 235 testmarkdown-test-sys-prop.test.js.shared.context=false
 236 
 237 # framework root for markdown script tests
 238 testmarkdown-test-sys-prop.test.js.framework=\
 239     ${test.script.dir}${file.separator}markdown.js
 240 
 241 # testjfx test root
 242 testjfx-test-sys-prop.test.js.roots=${testjfx.dir}
 243 
 244 # execute testjfx tests in shared nashorn context or not?
 245 testjfx-test-sys-prop.test.js.shared.context=false
 246 
 247 # framework root for our script tests
 248 testjfx-test-sys-prop.test.js.framework=\
 249     -fx \
 250     ${test.script.dir}${file.separator}jfx.js
 251 
 252 file.reference.jemmyfx.jar=${test.lib}${file.separator}JemmyFX.jar
 253 file.reference.jemmycore.jar=${test.lib}${file.separator}JemmyCore.jar
 254 file.reference.jemmyawtinput.jar=${test.lib}${file.separator}JemmyAWTInput.jar
 255 file.reference.jfxrt.jar=${java.home}${file.separator}lib${file.separator}ext${file.separator}jfxrt.jar
 256 testjfx.run.test.classpath=\
 257     ${file.reference.jemmyfx.jar}${path.separator}\
 258     ${file.reference.jemmycore.jar}${path.separator}\
 259     ${file.reference.jemmyawtinput.jar}${path.separator}\
 260     ${file.reference.testng.jar}${path.separator}\
 261     ${nashorn.internal.tests.jar}${path.separator}\
 262     ${nashorn.api.tests.jar}
 263 
 264 # testjfx VM options for script tests with @fork option
 265 testjfx-test-sys-prop.test.fork.jvm.options=${run.test.jvmargs.main} -Xmx${run.test.xmx} -cp ${testjfx.run.test.classpath}
 266 
 267 run.test.classpath=\
 268     ${file.reference.testng.jar}${path.separator}\
 269     ${nashorn.internal.tests.jar}${path.separator}\
 270     ${nashorn.api.tests.jar}
 271 
 272 nashorn.module.src.dir=src/jdk.scripting.nashorn/share/classes
 273 nashorn.shell.module.src.dir=src/jdk.scripting.nashorn.shell/share/classes
 274 
 275 src.dir=${nashorn.module.src.dir}${path.separator}\
 276         ${nashorn.shell.module.src.dir}${path.separator}\
 277         ${jdk.jline.src.dir}
 278 
 279 test.src.dir=test/src
 280 
 281 # -Xmx is used for all tests, -Xms only for octane benchmark
 282 run.test.xmx=2G
 283 run.test.xms=2G
 284 
 285 # uncomment this jfr.args to enable light recordings. the stack needs to be cranked up to 1024 frames,
 286 # or everything will as of the now drown in lambda forms and be cut off.
 287 #
 288 #jfr.args=-XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:FlightRecorderOptions=defaultrecording=true,disk=true,dumponexit=true,dumponexitpath="test_suite.jfr",stackdepth=1024 \
 289 
 290 jfr.args=
 291 
 292 run.test.user.language=tr
 293 run.test.user.country=TR
 294 
 295 run.test.jvmargs.common=\
 296   -server \
 297   -Dfile.encoding=UTF-8 \
 298   -Duser.language=${run.test.user.language} \
 299   -Duser.country=${run.test.user.country} \
 300   -Dnashorn.typeInfo.cacheDir=${build.dir}${file.separator}test${file.separator}type_info_cache \
 301   ${jfr.args} \
 302   -XX:+HeapDumpOnOutOfMemoryError
 303 
 304 # turn on assertions for tests
 305 run.test.jvmargs.main=${run.test.jvmargs.common} -esa -ea
 306 
 307 # Extra jvmargs that might be useful for debugging
 308 # and performance improvements/monitoring
 309 #
 310 # -XX:+UnlockDiagnosticVMOptions
 311 #
 312 # turn off compressed class pointers in metaspace
 313 # -XX:-UseCompressedKlassPointers
 314 #
 315 # dump the heap after every GC
 316 # -XX:+PrintHeapAtGC
 317 #
 318 # manually set a metaspace size for class data
 319 # -XX:ClassMetaspaceSize=300M
 320 #
 321 # print out methods compiled
 322 # -XX:+PrintCompilation
 323 #
 324 # print all compiled nmethods with oopmaps and lots of other info
 325 # -XX:+PrintNMethods
 326 #
 327 # activate the generic "UseNewCode" flag to test whatever functionality
 328 # lies behind it. This is the preferred way to test a, yet flagless,
 329 # feature in HotSpot - for example, the uncommon trap placement fix
 330 # was hidden behind this flag before it became the default
 331 #
 332 # -XX:+UnlockDiagnosticVMOptions -XX:+UseNewCode
 333 #
 334 # Crank up the type profile level to 222, which has some warmup
 335 # penalties, but produces much better code for JavaScript, where better
 336 # and more intrusive type profiling is required to get rid of
 337 # a large amount of unnecessary guard code, that could not otherwise
 338 # be eliminated
 339 #
 340 # -XX:TypeProfileLevel=222
 341 #
 342 
 343 # Use best known performance options for octane
 344 run.test.jvmargs.octane.main=${run.test.jvmargs.common} -XX:TypeProfileLevel=222
 345 
 346 # Security manager args - make sure that we run with the nashorn.policy that the build creates
 347 run.test.jvmsecurityargs=-Xverify:all -Djava.security.manager -Djava.security.policy=${build.dir}/nashorn.policy
 348 
 349 # VM options for script tests with @fork option
 350 test-sys-prop.test.fork.jvm.options=${run.test.jvmargs.main} -Xmx${run.test.xmx} ${run.test.jvmsecurityargs} -cp ${run.test.classpath}
 351 # VM options for no-security script tests with @fork option - same as above but without jvmsecurityargs
 352 test-sys-prop-no-security.test.fork.jvm.options=${run.test.jvmargs.main} -Xmx${run.test.xmx} -cp ${run.test.classpath}
 353 
 354 # path of rhino.jar for benchmarks
 355 rhino.dir=
 356 rhino.jar=${rhino.dir}/js.jar
 357 
 358 v8.shell=d8
 359 
 360 # How many iterations should 'ant octane' run for each
 361 # benchmark
 362 octane.iterations=25
 363 
 364 # List of octane tests to run, as properties prefixed with
 365 # "octane.benchmark." mapping to the benchmark name in
 366 # the test harness
 367 #
 368 # Octane tests that are disabled should have their entire line
 369 # commented out  Tests may be disabled for functionality reasons when
 370 # they have bugs or when the runtime doesn't handle them (yet)
 371 octane.benchmark.box2d=box2d
 372 #octane.benchmark.code-load=code-load
 373 octane.benchmark.crypto=crypto
 374 octane.benchmark.deltablue=deltablue
 375 octane.benchmark.earley-boyer=earley-boyer
 376 octane.benchmark.gbemu=gbemu
 377 octane.benchmark.navier-stokes=navier-stokes
 378 octane.benchmark.mandreel=mandreel
 379 octane.benchmark.pdfjs=pdfjs
 380 octane.benchmark.raytrace=raytrace
 381 octane.benchmark.regexp=regexp
 382 octane.benchmark.richards=richards
 383 octane.benchmark.splay=splay
 384 #octane.benchmark.typescript=typescript
 385 #octane.benchmark.zlib=zlib
 386 
 387 #path to rhino jar file
 388 octaneperf-sys-prop.rhino.jar=${rhino.jar}
 389 
 390 #timeout for performance tests in minutes
 391 octaneperf-sys-prop.timeout.value=10
 392 
 393 #how many iterations to run sunspider after warmup
 394 sunspider.iterations=3000
 395 
 396 #################
 397 # code coverage #
 398 #################
 399 
 400 #enable/disable code coverage; please redifine in the ${user.home}/.nashorn.project.local.properties
 401 make.code.coverage=false
 402 
 403 #type of codecoverage; one of static or dynamic. Now only dynamic is supported
 404 jcov=dynamic
 405 
 406 #naming of CC results
 407 #NB directory specified in the cc.dir will be cleaned up!!!
 408 cc.dir=${basedir}/../Codecoverage_Nashorn
 409 cc.result.file.name=CC_${jcov}_nashorn.xml
 410 
 411 #dynamic CC parameters; please redefine in the ${user.home}/.nashorn.project.local.properties
 412 jcov2.lib.dir=${basedir}/../jcov2/lib
 413 jcov.jar=${jcov2.lib.dir}/jcov.jar
 414 cc.include=jdk\.nashorn\.*
 415 cc.exclude=jdk\.nashorn\.internal\.scripts\.*
 416 cc.dynamic.genereate.template=true
 417 cc.template=${cc.dir}/CC_template.xml
 418 cc.dynamic.args=-javaagent:${jcov.jar}=include=${cc.include},exclude=${cc.exclude},type=all,verbose=0,file=${cc.dir}/${cc.result.file.name}