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/share/classes/jdk/internal/org/objectweb/asm
  28 
  29 # source and target levels
  30 build.compiler=modern
  31 javac.source=1.7
  32 javac.target=1.7
  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 
 138 test-sys-prop-no-security.test.dir=${test.dir}
 139 test-sys-prop-no-security.test.js.roots=${test.nosecurity.dir}
 140 
 141 # framework root for our script tests
 142 test-sys-prop.test.js.framework=${test.script.dir}/assert.js
 143 test-sys-prop-no-security.test.js.framework=${test.script.dir}/assert.js
 144 
 145 # Control the verbosity of ParserTest
 146 test-sys-prop.parsertest.verbose=false
 147 
 148 # turn on/off scripting mode for parser tests
 149 test-sys-prop.parsertest.scripting=true
 150 
 151 # turn on/off test262 scripts for parser tests
 152 test-sys-prop.parsertest.test262=false
 153 
 154 # Control the verbosity of the CompilerTest
 155 test-sys-prop.compilertest.verbose=false
 156 
 157 # turn on/off scripting mode for compiler tests
 158 test-sys-prop.compilertest.scripting=true
 159 
 160 # turn on/off test262 scripts for compiler tests
 161 test-sys-prop.compilertest.test262=false
 162 
 163 # test directory to be excluded.
 164 test-sys-prop.test.js.exclude.dir=${test.script.dir}/currently-failing ${test.external.dir}
 165 
 166 # run everything that's js in here, without checking file headers for test annotations
 167 test-sys-prop.test.js.unchecked.dir=${test262.dir}
 168 
 169 # test root for octane
 170 octane-test-sys-prop.test.js.roots=${test.external.dir}/octane/
 171 
 172 # run octane benchmars in separate processes? (recommended)
 173 octane-test-sys-prop.separate.process=true
 174 
 175 # framework root for octane
 176 octane-test-sys-prop.test.js.framework=${test.basic.dir}/run-octane.js
 177 
 178 # test root for sunspider
 179 sunspider-test-sys-prop.test.js.roots=${test.external.dir}/sunspider/tests/sunspider-1.0.2/
 180 
 181 # framework root for sunspider
 182 sunspider-test-sys-prop.test.js.framework=${test.basic.dir}/runsunspider.js
 183 
 184 # list of tests to be excluded
 185 sunspider-test-sys-prop.test.js.exclude.list=
 186 
 187 # execute our script tests in shared nashorn context or not?
 188 test-sys-prop.test.js.shared.context=false
 189 
 190 # execute test262 tests in shared nashorn context or not?
 191 test262-test-sys-prop.test.js.shared.context=true
 192 
 193 # test262 test root
 194 test262-test-sys-prop.test.js.roots=${test262.suite.dir}
 195 
 196 # test262 enable/disable strict mode tests
 197 test262-test-sys-prop.test.js.enable.strict.mode=true
 198 
 199 # file containing test262 tests to be excluded
 200 # test262-test-sys-prop.test.js.excludes.file=${test262.dir}/test/config/excludelist.xml
 201 
 202 # list of test262 test dirs to be excluded
 203 test262-test-sys-prop.test.js.exclude.dir=\
 204     ${test262.suite.dir}/ch12/12.6/12.6.4/12.6.4-2.js \
 205     ${test262.suite.dir}/intl402/ \
 206     ${test262.suite.dir}/bestPractice/
 207 
 208 test262-test-sys-prop.test.failed.list.file=${build.dir}/test/failedTests
 209 
 210 # test262 test frameworks
 211 test262-test-sys-prop.test.js.framework=\
 212     --class-cache-size=10 \
 213     --no-java \
 214     --no-typed-arrays \
 215     -timezone=PST \
 216     ${test.script.dir}/test262.js \
 217     ${test262.dir}/test/harness/framework.js \
 218     ${test262.dir}/test/harness/sta.js
 219 
 220 # testmarkdown test root
 221 testmarkdown-test-sys-prop.test.js.roots=${testmarkdown.dir}
 222 
 223 # execute testmarkdown tests in shared nashorn context or not?
 224 testmarkdown-test-sys-prop.test.js.shared.context=false
 225 
 226 # framework root for markdown script tests
 227 testmarkdown-test-sys-prop.test.js.framework=\
 228     ${test.script.dir}${file.separator}markdown.js
 229 
 230 # testjfx test root
 231 testjfx-test-sys-prop.test.js.roots=${testjfx.dir}
 232 
 233 # execute testjfx tests in shared nashorn context or not?
 234 testjfx-test-sys-prop.test.js.shared.context=false
 235 
 236 # framework root for our script tests
 237 testjfx-test-sys-prop.test.js.framework=\
 238     -fx \
 239     ${test.script.dir}${file.separator}jfx.js
 240 
 241 file.reference.jemmyfx.jar=test${file.separator}lib${file.separator}JemmyFX.jar
 242 file.reference.jemmycore.jar=test${file.separator}lib${file.separator}JemmyCore.jar
 243 file.reference.jemmyawtinput.jar=test${file.separator}lib${file.separator}JemmyAWTInput.jar
 244 file.reference.jfxrt.jar=${java.home}${file.separator}lib${file.separator}ext${file.separator}jfxrt.jar
 245 testjfx.run.test.classpath=\
 246     ${file.reference.jemmyfx.jar}${path.separator}\
 247     ${file.reference.jemmycore.jar}${path.separator}\
 248     ${file.reference.jemmyawtinput.jar}${path.separator}\
 249     ${file.reference.testng.jar}${path.separator}\
 250     ${nashorn.internal.tests.jar}${path.separator}\
 251     ${nashorn.api.tests.jar}
 252 
 253 # testjfx VM options for script tests with @fork option
 254 testjfx-test-sys-prop.test.fork.jvm.options=${run.test.jvmargs.main} -Xmx${run.test.xmx} -cp ${testjfx.run.test.classpath}
 255 
 256 run.test.classpath=\
 257     ${file.reference.testng.jar}:\
 258     ${nashorn.internal.tests.jar}:\
 259     ${nashorn.api.tests.jar}
 260 
 261 src.dir=src
 262 test.src.dir=test/src
 263 
 264 # -Xmx is used for all tests, -Xms only for octane benchmark
 265 run.test.xmx=2G
 266 run.test.xms=2G
 267 
 268 # uncomment this jfr.args to enable light recordings. the stack needs to be cranked up to 1024 frames,
 269 # or everything will as of the now drown in lambda forms and be cut off.
 270 #
 271 #jfr.args=-XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:FlightRecorderOptions=defaultrecording=true,disk=true,dumponexit=true,dumponexitpath="test_suite.jfr",stackdepth=1024 \
 272 
 273 jfr.args=
 274 
 275 run.test.user.language=tr
 276 run.test.user.country=TR
 277 
 278 run.test.jvmargs.common=\
 279   -server \
 280   -Dfile.encoding=UTF-8 \
 281   -Duser.language=${run.test.user.language} \
 282   -Duser.country=${run.test.user.country} \
 283   -Dnashorn.typeInfo.cacheDir=${build.dir}${file.separator}test${file.separator}type_info_cache \
 284   ${jfr.args} \
 285   -XX:+HeapDumpOnOutOfMemoryError
 286 
 287 # turn on assertions for tests
 288 run.test.jvmargs.main=${run.test.jvmargs.common} -ea
 289 
 290 # extra jvmargs that might be useful for debugging
 291 #
 292 # -XX:+UnlockDiagnosticVMOptions 
 293 #
 294 # turn off compressed class pointers in metaspace
 295 # -XX:-UseCompressedKlassPointers  
 296 #
 297 # dump the heap after every GC
 298 # -XX:+PrintHeapAtGC
 299 #
 300 # manually set a metaspace size for class data 
 301 # -XX:ClassMetaspaceSize=300M
 302 #
 303 # print out methods compiled
 304 # -XX:+PrintCompilation 
 305 #
 306 # print all compiled nmethods with oopmaps and lots of other info
 307 # -XX:+PrintNMethods
 308 
 309 # Use best known performance options for octane
 310 run.test.jvmargs.octane.main=${run.test.jvmargs.common} -XX:+UnlockDiagnosticVMOptions -XX:+UseNewCode -XX:TypeProfileLevel=222
 311 
 312 # Security manager args - make sure that we run with the nashorn.policy that the build creates
 313 run.test.jvmsecurityargs=-Xverify:all -Djava.security.manager -Djava.security.policy=${build.dir}/nashorn.policy
 314 
 315 # VM options for script tests with @fork option
 316 test-sys-prop.test.fork.jvm.options=${run.test.jvmargs.main} -Xmx${run.test.xmx} ${run.test.jvmsecurityargs} -cp ${run.test.classpath}
 317 
 318 # path of rhino.jar for benchmarks
 319 rhino.dir=
 320 rhino.jar=${rhino.dir}/js.jar
 321 
 322 v8.shell=d8
 323 
 324 # How many iterations should 'ant octane' run for each
 325 # benchmark
 326 octane.iterations=25
 327 
 328 # List of octane tests to run, as properties prefixed with
 329 # "octane.benchmark." mapping to the benchmark name in 
 330 # the test harness
 331 #
 332 # Octane tests that are disabled should have their entire line
 333 # commented out  Tests may be disabled for functionality reasons when
 334 # they have bugs or when the runtime doesn't handle them (yet)
 335 octane.benchmark.box2d=box2d
 336 #octane.benchmark.code-load=code-load
 337 octane.benchmark.crypto=crypto
 338 octane.benchmark.deltablue=deltablue
 339 octane.benchmark.earley-boyer=earley-boyer
 340 octane.benchmark.gbemu=gbemu
 341 octane.benchmark.navier-stokes=navier-stokes
 342 octane.benchmark.mandreel=mandreel
 343 octane.benchmark.pdfjs=pdfjs
 344 octane.benchmark.raytrace=raytrace
 345 octane.benchmark.regexp=regexp
 346 octane.benchmark.richards=richards
 347 octane.benchmark.splay=splay
 348 #octane.benchmark.typescript=typescript
 349 #octane.benchmark.zlib=zlib
 350 
 351 #path to rhino jar file
 352 octaneperf-sys-prop.rhino.jar=${rhino.jar}
 353 
 354 #timeout for performance tests in minutes
 355 octaneperf-sys-prop.timeout.value=10
 356 
 357 #how many iterations to run sunspider after warmup
 358 sunspider.iterations=3000
 359 
 360 #################
 361 # code coverage #
 362 #################
 363 
 364 #enable/disable code coverage; please redifine in the ${user.home}/.nashorn.project.local.properties
 365 make.code.coverage=false
 366 
 367 #type of codecoverage; one of static or dynamic. Now only dynamic is supported
 368 jcov=dynamic
 369 
 370 #naming of CC results
 371 #NB directory specified in the cc.dir will be cleaned up!!!
 372 cc.dir=${basedir}/../Codecoverage_Nashorn
 373 cc.result.file.name=CC_${jcov}_nashorn.xml
 374 
 375 #dynamic CC parameters; please redefine in the ${user.home}/.nashorn.project.local.properties
 376 jcov2.lib.dir=${basedir}/../jcov2/lib
 377 jcov.jar=${jcov2.lib.dir}/jcov.jar
 378 cc.include=jdk\.nashorn\.*
 379 cc.exclude=jdk\.nashorn\.internal\.scripts\.*
 380 cc.dynamic.genereate.template=true
 381 cc.template=${cc.dir}/CC_template.xml
 382 cc.dynamic.args=-javaagent:${jcov.jar}=include=${cc.include},exclude=${cc.exclude},type=all,verbose=0,file=${cc.dir}/${cc.result.file.name}