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