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