project.properties revision 1301:14ec7d7af490
1262569Simp#
2262569Simp# Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
3262569Simp# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4262569Simp#
5262569Simp# This code is free software; you can redistribute it and/or modify it
6262569Simp# under the terms of the GNU General Public License version 2 only, as
7262569Simp# published by the Free Software Foundation.
8262569Simp#
9262569Simp# This code is distributed in the hope that it will be useful, but WITHOUT
10262569Simp# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11262569Simp# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
12262569Simp# version 2 for more details (a copy is included in the LICENSE file that
13262569Simp# accompanied this code).
14262569Simp#
15262569Simp# You should have received a copy of the GNU General Public License version
16262569Simp# 2 along with this work; if not, write to the Free Software Foundation,
17262569Simp# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18262569Simp#
19262569Simp# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20262569Simp# or visit www.oracle.com if you need additional information or have any
21262569Simp# questions.
22262569Simp#
23262569Simp
24262569Simpapplication.title=nashorn
25262569Simp
26262569Simp# location of JDK embedded ASM sources
27262569Simpjdk.asm.src.dir=../jdk/src/java.base/share/classes/jdk/internal/org/objectweb/asm
28284090Sian
29284090Sian# source and target levels
30262569Simpbuild.compiler=modern
31262569Simpjavac.source=1.8
32262569Simpjavac.target=1.8
33262569Simp
34262569Simp# nashorn version information
35262569Simpnashorn.version=0.1
36262569Simpnashorn.fullversion=0.1
37270864Simpnashorn.product.name=Oracle Nashorn
38270864Simp
39270864Simp# This directory is removed when the project is cleaned:
40270864Simpbuild.dir=build
41262569Simpbuild.classes.dir=${build.dir}/classes
42262569Simpbuild.zip=${build.dir}/nashorn.zip
43262569Simpbuild.gzip=${build.dir}/nashorn.tar.gz
44262569Simp
45262569Simp# nashorn Shell tool
46262569Simpnashorn.shell.tool=jdk.nashorn.tools.Shell
47262569Simp
48284090Sian# nasgen tool
49262569Simpnasgen.tool=jdk.nashorn.internal.tools.nasgen.Main
50270864Simp
51270864Simp# parallel test runner tool
52262569Simpparallel.test.runner=jdk.nashorn.internal.test.framework.ParallelTestRunner
53262569Simp
54262569Simp# test classes directory
55284090Sianbuild.test.classes.dir=${build.dir}/test/classes
56284090Sian
57284090Sian# nashorn test jar - internal tests jar and api tests jar
58284090Siannashorn.internal.tests.jar=${build.dir}/nashorn-internal-tests.jar
59284090Siannashorn.api.tests.jar=${build.dir}/nashorn-api-tests.jar
60284090Sian
61284090Sian# test results directory
62284090Sianbuild.test.results.dir=${build.dir}/test/reports
63284090Sianbuild.nosecurity.test.results.dir=${build.dir}/test/nosecurity/reports
64284090Sianbuild.nooptimistic.test.results.dir=${build.dir}/test/nooptimistic/reports
65284090Sian
66284090Sian# This directory is removed when the project is cleaned:
67284090Siandist.dir=dist
68284090Siandist.jar=${dist.dir}/nashorn.jar
69284090Siandist.javadoc.dir=${dist.dir}/javadoc
70284090Sian
71284090Sian# nashorn javafx shell
72284090Sianfxshell.tool = jdk.nashorn.tools.FXShell
73284090Sianfxshell.classes.dir = ${build.dir}/fxshell/classes
74284090Sianfxshell.dir = tools/fxshell
75284090Sianfxshell.jar = ${dist.dir}/nashornfx.jar
76284090Sian
77284090Sian# configuration for java flight recorder
78262569Simprun.test.jvmargs.jfr=-XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:FlightRecorderOptions=defaultrecording=true,disk=true,dumponexit=true,dumponexitpath=${build.dir},stackdepth=128
79284090Sian
80262569Simp# test library location
81262569Simptest.lib=${basedir}${file.separator}test${file.separator}lib
82262569Simp
83262569Simp# jars refererred
84262569Simpfile.reference.testng.jar=${test.lib}${file.separator}testng.jar
85262569Simp
86284090Sian# Set testng verbose level
87284090Sian# From TestNG docs: "the verbosity level (0 to 10 where 10 is most detailed)
88284090Sian# Actually, this is a lie: you can specify -1 and this will put TestNG in
89284090Sian# debug mode (no longer slicing off stack traces and all)."
90284090Sian
91284090Siantestng.verbose=2
92262569Simp
93262569Simp# TestNG listeners - we want to replace TestNG's own JUnit
94262569Simp# reporter, but want everything else provided by default
95262569Simp# Unfortunately, we've to clone the other default reporters here.
96262569Simp
97262569Simptestng.listeners=\
98262569Simp org.testng.reporters.SuiteHTMLReporter, \
99262569Simp org.testng.reporters.TestHTMLReporter, \
100262569Simp org.testng.reporters.jq.Main, \
101262569Simp org.testng.reporters.FailedReporter, \
102262569Simp org.testng.reporters.XMLReporter \
103262569Simp org.testng.reporters.EmailableReporter, \
104262569Simp jdk.nashorn.internal.test.framework.JSJUnitReportReporter
105262569Simp
106262569Simpjavac.debug=true
107262569Simpjavac.encoding=ascii
108262569Simpjavac.classpath=\
109262569Simp    ${build.classes.dir}
110262569Simpjavac.test.classpath=\
111262569Simp    ${build.classes.dir}${path.separator}\
112262569Simp    ${build.test.classes.dir}${path.separator}\
113262569Simp    ${file.reference.testng.jar}
114262569Simp
115262569Simpmeta.inf.dir=${src.dir}/META-INF
116262569Simp
117262569Simprun.classpath=\
118262569Simp    ${build.classes.dir}
119262569Simp
120262569Simp# test scripts to run
121262569Simptest.dir=test
122262569Simptest.nosecurity.dir=test/script/nosecurity
123262569Simptest.script.dir=test/script
124262569Simptest.basic.dir=test/script/basic
125262569Simptest.maptests.dir=test/script/maptests
126262569Simptest.error.dir=test/script/error
127262569Simptest.sandbox.dir=test/script/sandbox
128262569Simptest.trusted.dir=test/script/trusted
129262569Simptest.external.dir=test/script/external
130262569Simptest262.dir=${test.external.dir}/test262
131262569Simptest262.suite.dir=${test262.dir}/test/suite
132262569Simptestjfx.dir=${test.script.dir}/jfx
133262569Simptestmarkdown.dir=${test.script.dir}/markdown
134262569Simp
135262569Simptest-sys-prop.test.dir=${test.dir}
136262569Simptest-sys-prop.test.js.roots=${test.basic.dir} ${test.maptests.dir} ${test.error.dir} ${test.sandbox.dir} ${test.trusted.dir}
137262569Simptest-sys-prop.test262.suite.dir=${test262.suite.dir}
138262569Simptest-sys-prop.es5conform.testcases.dir=${test.external.dir}/ES5Conform/TestCases
139262569Simptest-sys-prop.test.basic.dir=${test.basic.dir}
140262569Simptest-sys-prop.test.external.dir=${test.external.dir}
141262569Simptest-sys-prop.test.maptests.dir=${test.maptests.dir}
142262569Simptest-sys-prop.test.sandbox.dir=${test.sandbox.dir}
143262569Simptest-sys-prop.test.trusted.dir=${test.trusted.dir}
144262569Simp
145262569Simptest-sys-prop-no-security.test.dir=${test.dir}
146262569Simptest-sys-prop-no-security.test.js.roots=${test.nosecurity.dir}
147284090Sian
148262569Simp# framework root for our script tests
149284090Siantest-sys-prop.test.js.framework=${test.script.dir}/assert.js
150284090Siantest-sys-prop-no-security.test.js.framework=${test.script.dir}/assert.js
151284090Sian
152284090Sian# Control the verbosity of ParserTest
153284090Siantest-sys-prop.parsertest.verbose=false
154262569Simp
155262569Simp# turn on/off scripting mode for parser tests
156262569Simptest-sys-prop.parsertest.scripting=true
157284090Siantest-sys-prop.parserapitest.verbose=false
158262569Simp
159262569Simp# turn on/off test262 scripts for parser tests
160262569Simptest-sys-prop.parsertest.test262=false
161262569Simptest-sys-prop.parserapitest.test262=false
162262569Simp
163262569Simp# Control the verbosity of the CompilerTest
164262569Simptest-sys-prop.compilertest.verbose=false
165262569Simp
166262569Simp# turn on/off scripting mode for compiler tests
167262569Simptest-sys-prop.compilertest.scripting=true
168262569Simp
169262569Simp# turn on/off test262 scripts for compiler tests
170284090Siantest-sys-prop.compilertest.test262=false
171262569Simp
172262569Simp# test directory to be excluded.
173262569Simptest-sys-prop.test.js.exclude.dir=${test.script.dir}/currently-failing ${test.external.dir}
174262569Simp
175262569Simp# run everything that's js in here, without checking file headers for test annotations
176262569Simptest-sys-prop.test.js.unchecked.dir=${test262.dir}
177262569Simp
178262569Simp# test root for octane
179262569Simpoctane-test-sys-prop.test.js.roots=${test.external.dir}/octane/
180262569Simp
181262569Simp# run octane benchmars in separate processes? (recommended)
182262569Simpoctane-test-sys-prop.separate.process=true
183262569Simp
184262569Simp# framework root for octane
185262569Simpoctane-test-sys-prop.test.js.framework=${test.basic.dir}/run-octane.js
186262569Simp
187262569Simp# test root for sunspider
188262569Simpsunspider-test-sys-prop.test.js.roots=${test.external.dir}/sunspider/tests/sunspider-1.0.2/
189262569Simp
190262569Simp# framework root for sunspider
191262569Simpsunspider-test-sys-prop.test.js.framework=${test.basic.dir}/runsunspider.js
192262569Simp
193262569Simp# list of tests to be excluded
194262569Simpsunspider-test-sys-prop.test.js.exclude.list=
195262569Simp
196262569Simp# execute our script tests in shared nashorn context or not?
197262569Simptest-sys-prop.test.js.shared.context=false
198262569Simp
199262569Simp# execute test262 tests in shared nashorn context or not?
200262569Simptest262-test-sys-prop.test.js.shared.context=true
201270864Simp
202262569Simp# test262 test root
203262569Simptest262-test-sys-prop.test.js.roots=${test262.suite.dir}
204262569Simp
205262569Simp# test262 enable/disable strict mode tests
206262569Simptest262-test-sys-prop.test.js.enable.strict.mode=true
207262569Simp
208262569Simp# file containing test262 tests to be excluded
209262569Simp# test262-test-sys-prop.test.js.excludes.file=${test262.dir}/test/config/excludelist.xml
210262569Simp
211284090Sian# list of test262 test dirs to be excluded
212262569Simptest262-test-sys-prop.test.js.exclude.dir=\
213262569Simp    ${test262.suite.dir}/intl402/ \
214262569Simp    ${test262.suite.dir}/bestPractice/
215262569Simp
216270864Simptest262-test-sys-prop.test.failed.list.file=${build.dir}/test/failedTests
217270864Simp
218262569Simp# test262 test frameworks
219262569Simptest262-test-sys-prop.test.js.framework=\
220    --class-cache-size=10 \
221    --no-java \
222    --no-typed-arrays \
223    -timezone=PST \
224    ${test.script.dir}/test262.js \
225    ${test262.dir}/test/harness/framework.js \
226    ${test262.dir}/test/harness/sta.js
227
228# testmarkdown test root
229testmarkdown-test-sys-prop.test.js.roots=${testmarkdown.dir}
230
231# execute testmarkdown tests in shared nashorn context or not?
232testmarkdown-test-sys-prop.test.js.shared.context=false
233
234# framework root for markdown script tests
235testmarkdown-test-sys-prop.test.js.framework=\
236    ${test.script.dir}${file.separator}markdown.js
237
238# testjfx test root
239testjfx-test-sys-prop.test.js.roots=${testjfx.dir}
240
241# execute testjfx tests in shared nashorn context or not?
242testjfx-test-sys-prop.test.js.shared.context=false
243
244# framework root for our script tests
245testjfx-test-sys-prop.test.js.framework=\
246    -fx \
247    ${test.script.dir}${file.separator}jfx.js
248
249file.reference.jemmyfx.jar=${test.lib}${file.separator}JemmyFX.jar
250file.reference.jemmycore.jar=${test.lib}${file.separator}JemmyCore.jar
251file.reference.jemmyawtinput.jar=${test.lib}${file.separator}JemmyAWTInput.jar
252file.reference.jfxrt.jar=${java.home}${file.separator}lib${file.separator}ext${file.separator}jfxrt.jar
253testjfx.run.test.classpath=\
254    ${file.reference.jemmyfx.jar}${path.separator}\
255    ${file.reference.jemmycore.jar}${path.separator}\
256    ${file.reference.jemmyawtinput.jar}${path.separator}\
257    ${file.reference.testng.jar}${path.separator}\
258    ${nashorn.internal.tests.jar}${path.separator}\
259    ${nashorn.api.tests.jar}
260
261# testjfx VM options for script tests with @fork option
262testjfx-test-sys-prop.test.fork.jvm.options=${run.test.jvmargs.main} -Xmx${run.test.xmx} -cp ${testjfx.run.test.classpath}
263
264run.test.classpath=\
265    ${file.reference.testng.jar}${path.separator}\
266    ${nashorn.internal.tests.jar}${path.separator}\
267    ${nashorn.api.tests.jar}
268
269src.dir=src/jdk.scripting.nashorn/share/classes
270test.src.dir=test/src
271
272# -Xmx is used for all tests, -Xms only for octane benchmark
273run.test.xmx=2G
274run.test.xms=2G
275
276# uncomment this jfr.args to enable light recordings. the stack needs to be cranked up to 1024 frames,
277# or everything will as of the now drown in lambda forms and be cut off.
278#
279#jfr.args=-XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:FlightRecorderOptions=defaultrecording=true,disk=true,dumponexit=true,dumponexitpath="test_suite.jfr",stackdepth=1024 \
280
281jfr.args=
282
283run.test.user.language=tr
284run.test.user.country=TR
285
286run.test.jvmargs.common=\
287  -server \
288  -Dfile.encoding=UTF-8 \
289  -Duser.language=${run.test.user.language} \
290  -Duser.country=${run.test.user.country} \
291  -Dnashorn.typeInfo.cacheDir=${build.dir}${file.separator}test${file.separator}type_info_cache \
292  ${jfr.args} \
293  -XX:+HeapDumpOnOutOfMemoryError
294
295# turn on assertions for tests
296run.test.jvmargs.main=${run.test.jvmargs.common} -esa -ea
297
298# Extra jvmargs that might be useful for debugging
299# and performance improvements/monitoring
300#
301# -XX:+UnlockDiagnosticVMOptions
302#
303# turn off compressed class pointers in metaspace
304# -XX:-UseCompressedKlassPointers
305#
306# dump the heap after every GC
307# -XX:+PrintHeapAtGC
308#
309# manually set a metaspace size for class data
310# -XX:ClassMetaspaceSize=300M
311#
312# print out methods compiled
313# -XX:+PrintCompilation
314#
315# print all compiled nmethods with oopmaps and lots of other info
316# -XX:+PrintNMethods
317#
318# activate the generic "UseNewCode" flag to test whatever functionality
319# lies behind it. This is the preferred way to test a, yet flagless,
320# feature in HotSpot - for example, the uncommon trap placement fix
321# was hidden behind this flag before it became the default
322#
323# -XX:+UnlockDiagnosticVMOptions -XX:+UseNewCode
324#
325# Crank up the type profile level to 222, which has some warmup
326# penalties, but produces much better code for JavaScript, where better
327# and more intrusive type profiling is required to get rid of
328# a large amount of unnecessary guard code, that could not otherwise
329# be eliminated
330#
331# -XX:TypeProfileLevel=222
332#
333
334# Use best known performance options for octane
335run.test.jvmargs.octane.main=${run.test.jvmargs.common} -XX:TypeProfileLevel=222
336
337# Security manager args - make sure that we run with the nashorn.policy that the build creates
338run.test.jvmsecurityargs=-Xverify:all -Djava.security.manager -Djava.security.policy=${build.dir}/nashorn.policy
339
340# VM options for script tests with @fork option
341test-sys-prop.test.fork.jvm.options=${run.test.jvmargs.main} -Xmx${run.test.xmx} ${run.test.jvmsecurityargs} -cp ${run.test.classpath}
342# VM options for no-security script tests with @fork option - same as above but without jvmsecurityargs
343test-sys-prop-no-security.test.fork.jvm.options=${run.test.jvmargs.main} -Xmx${run.test.xmx} -cp ${run.test.classpath}
344
345# path of rhino.jar for benchmarks
346rhino.dir=
347rhino.jar=${rhino.dir}/js.jar
348
349v8.shell=d8
350
351# How many iterations should 'ant octane' run for each
352# benchmark
353octane.iterations=25
354
355# List of octane tests to run, as properties prefixed with
356# "octane.benchmark." mapping to the benchmark name in
357# the test harness
358#
359# Octane tests that are disabled should have their entire line
360# commented out  Tests may be disabled for functionality reasons when
361# they have bugs or when the runtime doesn't handle them (yet)
362octane.benchmark.box2d=box2d
363#octane.benchmark.code-load=code-load
364octane.benchmark.crypto=crypto
365octane.benchmark.deltablue=deltablue
366octane.benchmark.earley-boyer=earley-boyer
367octane.benchmark.gbemu=gbemu
368octane.benchmark.navier-stokes=navier-stokes
369octane.benchmark.mandreel=mandreel
370octane.benchmark.pdfjs=pdfjs
371octane.benchmark.raytrace=raytrace
372octane.benchmark.regexp=regexp
373octane.benchmark.richards=richards
374octane.benchmark.splay=splay
375#octane.benchmark.typescript=typescript
376#octane.benchmark.zlib=zlib
377
378#path to rhino jar file
379octaneperf-sys-prop.rhino.jar=${rhino.jar}
380
381#timeout for performance tests in minutes
382octaneperf-sys-prop.timeout.value=10
383
384#how many iterations to run sunspider after warmup
385sunspider.iterations=3000
386
387#################
388# code coverage #
389#################
390
391#enable/disable code coverage; please redifine in the ${user.home}/.nashorn.project.local.properties
392make.code.coverage=false
393
394#type of codecoverage; one of static or dynamic. Now only dynamic is supported
395jcov=dynamic
396
397#naming of CC results
398#NB directory specified in the cc.dir will be cleaned up!!!
399cc.dir=${basedir}/../Codecoverage_Nashorn
400cc.result.file.name=CC_${jcov}_nashorn.xml
401
402#dynamic CC parameters; please redefine in the ${user.home}/.nashorn.project.local.properties
403jcov2.lib.dir=${basedir}/../jcov2/lib
404jcov.jar=${jcov2.lib.dir}/jcov.jar
405cc.include=jdk\.nashorn\.*
406cc.exclude=jdk\.nashorn\.internal\.scripts\.*
407cc.dynamic.genereate.template=true
408cc.template=${cc.dir}/CC_template.xml
409cc.dynamic.args=-javaagent:${jcov.jar}=include=${cc.include},exclude=${cc.exclude},type=all,verbose=0,file=${cc.dir}/${cc.result.file.name}
410