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