project.properties revision 1204:9597425b6b38
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
24application.title=nashorn
25
26# location of JDK embedded ASM sources
27jdk.asm.src.dir=../jdk/src/java.base/share/classes/jdk/internal/org/objectweb/asm
28
29# source and target levels
30build.compiler=modern
31javac.source=1.8
32javac.target=1.8
33
34# nashorn version information
35nashorn.version=0.1
36nashorn.fullversion=0.1
37nashorn.product.name=Oracle Nashorn
38
39# This directory is removed when the project is cleaned:
40build.dir=build
41build.classes.dir=${build.dir}/classes
42build.zip=${build.dir}/nashorn.zip
43build.gzip=${build.dir}/nashorn.tar.gz
44
45# nashorn Shell tool
46nashorn.shell.tool=jdk.nashorn.tools.Shell
47
48# nasgen tool
49nasgen.tool=jdk.nashorn.internal.tools.nasgen.Main
50
51# parallel test runner tool
52parallel.test.runner=jdk.nashorn.internal.test.framework.ParallelTestRunner
53
54# test classes directory
55build.test.classes.dir=${build.dir}/test/classes
56
57# nashorn test jar - internal tests jar and api tests jar
58nashorn.internal.tests.jar=${build.dir}/nashorn-internal-tests.jar
59nashorn.api.tests.jar=${build.dir}/nashorn-api-tests.jar
60
61# test results directory
62build.test.results.dir=${build.dir}/test/reports
63build.nosecurity.test.results.dir=${build.dir}/test/nosecurity/reports
64build.nooptimistic.test.results.dir=${build.dir}/test/nooptimistic/reports
65
66# This directory is removed when the project is cleaned:
67dist.dir=dist
68dist.jar=${dist.dir}/nashorn.jar
69dist.javadoc.dir=${dist.dir}/javadoc
70
71# nashorn javafx shell
72fxshell.tool = jdk.nashorn.tools.FXShell
73fxshell.classes.dir = ${build.dir}/fxshell/classes
74fxshell.dir = tools/fxshell
75fxshell.jar = ${dist.dir}/nashornfx.jar
76
77# configuration for java flight recorder
78run.test.jvmargs.jfr=-XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:FlightRecorderOptions=defaultrecording=true,disk=true,dumponexit=true,dumponexitpath=${build.dir},stackdepth=128
79
80# jars refererred
81file.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
88testng.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
94testng.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
103javac.debug=true
104javac.encoding=ascii
105javac.classpath=\
106    ${build.classes.dir}
107javac.test.classpath=\
108    ${build.classes.dir}:\
109    ${build.test.classes.dir}:\
110    ${file.reference.testng.jar}
111
112meta.inf.dir=${src.dir}/META-INF
113
114run.classpath=\
115    ${build.classes.dir}
116
117# test scripts to run
118test.dir=test
119test.nosecurity.dir=test/script/nosecurity
120test.script.dir=test/script
121test.basic.dir=test/script/basic
122test.maptests.dir=test/script/maptests
123test.error.dir=test/script/error
124test.sandbox.dir=test/script/sandbox
125test.trusted.dir=test/script/trusted
126test.external.dir=test/script/external
127test262.dir=${test.external.dir}/test262
128test262.suite.dir=${test262.dir}/test/suite
129testjfx.dir=${test.script.dir}/jfx
130testmarkdown.dir=${test.script.dir}/markdown
131
132test-sys-prop.test.dir=${test.dir}
133test-sys-prop.test.js.roots=${test.basic.dir} ${test.maptests.dir} ${test.error.dir} ${test.sandbox.dir} ${test.trusted.dir}
134test-sys-prop.test262.suite.dir=${test262.suite.dir}
135test-sys-prop.es5conform.testcases.dir=${test.external.dir}/ES5Conform/TestCases
136test-sys-prop.test.basic.dir=${test.basic.dir}
137test-sys-prop.test.external.dir=${test.external.dir}
138test-sys-prop.test.maptests.dir=${test.maptests.dir}
139test-sys-prop.test.sandbox.dir=${test.sandbox.dir}
140test-sys-prop.test.trusted.dir=${test.trusted.dir}
141
142test-sys-prop-no-security.test.dir=${test.dir}
143test-sys-prop-no-security.test.js.roots=${test.nosecurity.dir}
144
145# framework root for our script tests
146test-sys-prop.test.js.framework=${test.script.dir}/assert.js
147test-sys-prop-no-security.test.js.framework=${test.script.dir}/assert.js
148
149# Control the verbosity of ParserTest
150test-sys-prop.parsertest.verbose=false
151
152# turn on/off scripting mode for parser tests
153test-sys-prop.parsertest.scripting=true
154test-sys-prop.parserapitest.verbose=false
155
156# turn on/off test262 scripts for parser tests
157test-sys-prop.parsertest.test262=false
158test-sys-prop.parserapitest.test262=false
159
160# Control the verbosity of the CompilerTest
161test-sys-prop.compilertest.verbose=false
162
163# turn on/off scripting mode for compiler tests
164test-sys-prop.compilertest.scripting=true
165
166# turn on/off test262 scripts for compiler tests
167test-sys-prop.compilertest.test262=false
168
169# test directory to be excluded.
170test-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
173test-sys-prop.test.js.unchecked.dir=${test262.dir}
174
175# test root for octane
176octane-test-sys-prop.test.js.roots=${test.external.dir}/octane/
177
178# run octane benchmars in separate processes? (recommended)
179octane-test-sys-prop.separate.process=true
180
181# framework root for octane
182octane-test-sys-prop.test.js.framework=${test.basic.dir}/run-octane.js
183
184# test root for sunspider
185sunspider-test-sys-prop.test.js.roots=${test.external.dir}/sunspider/tests/sunspider-1.0.2/
186
187# framework root for sunspider
188sunspider-test-sys-prop.test.js.framework=${test.basic.dir}/runsunspider.js
189
190# list of tests to be excluded
191sunspider-test-sys-prop.test.js.exclude.list=
192
193# execute our script tests in shared nashorn context or not?
194test-sys-prop.test.js.shared.context=false
195
196# execute test262 tests in shared nashorn context or not?
197test262-test-sys-prop.test.js.shared.context=true
198
199# test262 test root
200test262-test-sys-prop.test.js.roots=${test262.suite.dir}
201
202# test262 enable/disable strict mode tests
203test262-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
209test262-test-sys-prop.test.js.exclude.dir=\
210    ${test262.suite.dir}/intl402/ \
211    ${test262.suite.dir}/bestPractice/
212
213test262-test-sys-prop.test.failed.list.file=${build.dir}/test/failedTests
214
215# test262 test frameworks
216test262-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
226testmarkdown-test-sys-prop.test.js.roots=${testmarkdown.dir}
227
228# execute testmarkdown tests in shared nashorn context or not?
229testmarkdown-test-sys-prop.test.js.shared.context=false
230
231# framework root for markdown script tests
232testmarkdown-test-sys-prop.test.js.framework=\
233    ${test.script.dir}${file.separator}markdown.js
234
235# testjfx test root
236testjfx-test-sys-prop.test.js.roots=${testjfx.dir}
237
238# execute testjfx tests in shared nashorn context or not?
239testjfx-test-sys-prop.test.js.shared.context=false
240
241# framework root for our script tests
242testjfx-test-sys-prop.test.js.framework=\
243    -fx \
244    ${test.script.dir}${file.separator}jfx.js
245
246file.reference.jemmyfx.jar=test${file.separator}lib${file.separator}JemmyFX.jar
247file.reference.jemmycore.jar=test${file.separator}lib${file.separator}JemmyCore.jar
248file.reference.jemmyawtinput.jar=test${file.separator}lib${file.separator}JemmyAWTInput.jar
249file.reference.jfxrt.jar=${java.home}${file.separator}lib${file.separator}ext${file.separator}jfxrt.jar
250testjfx.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
259testjfx-test-sys-prop.test.fork.jvm.options=${run.test.jvmargs.main} -Xmx${run.test.xmx} -cp ${testjfx.run.test.classpath}
260
261run.test.classpath=\
262    ${file.reference.testng.jar}:\
263    ${nashorn.internal.tests.jar}:\
264    ${nashorn.api.tests.jar}
265
266src.dir=src/jdk.scripting.nashorn/share/classes
267test.src.dir=test/src
268
269# -Xmx is used for all tests, -Xms only for octane benchmark
270run.test.xmx=2G
271run.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
278jfr.args=
279
280run.test.user.language=tr
281run.test.user.country=TR
282
283run.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
293run.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
332run.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
335run.test.jvmsecurityargs=-Xverify:all -Djava.security.manager -Djava.security.policy=${build.dir}/nashorn.policy
336
337# VM options for script tests with @fork option
338test-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
341rhino.dir=
342rhino.jar=${rhino.dir}/js.jar
343
344v8.shell=d8
345
346# How many iterations should 'ant octane' run for each
347# benchmark
348octane.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)
357octane.benchmark.box2d=box2d
358#octane.benchmark.code-load=code-load
359octane.benchmark.crypto=crypto
360octane.benchmark.deltablue=deltablue
361octane.benchmark.earley-boyer=earley-boyer
362octane.benchmark.gbemu=gbemu
363octane.benchmark.navier-stokes=navier-stokes
364octane.benchmark.mandreel=mandreel
365octane.benchmark.pdfjs=pdfjs
366octane.benchmark.raytrace=raytrace
367octane.benchmark.regexp=regexp
368octane.benchmark.richards=richards
369octane.benchmark.splay=splay
370#octane.benchmark.typescript=typescript
371#octane.benchmark.zlib=zlib
372
373#path to rhino jar file
374octaneperf-sys-prop.rhino.jar=${rhino.jar}
375
376#timeout for performance tests in minutes
377octaneperf-sys-prop.timeout.value=10
378
379#how many iterations to run sunspider after warmup
380sunspider.iterations=3000
381
382#################
383# code coverage #
384#################
385
386#enable/disable code coverage; please redifine in the ${user.home}/.nashorn.project.local.properties
387make.code.coverage=false
388
389#type of codecoverage; one of static or dynamic. Now only dynamic is supported
390jcov=dynamic
391
392#naming of CC results
393#NB directory specified in the cc.dir will be cleaned up!!!
394cc.dir=${basedir}/../Codecoverage_Nashorn
395cc.result.file.name=CC_${jcov}_nashorn.xml
396
397#dynamic CC parameters; please redefine in the ${user.home}/.nashorn.project.local.properties
398jcov2.lib.dir=${basedir}/../jcov2/lib
399jcov.jar=${jcov2.lib.dir}/jcov.jar
400cc.include=jdk\.nashorn\.*
401cc.exclude=jdk\.nashorn\.internal\.scripts\.*
402cc.dynamic.genereate.template=true
403cc.template=${cc.dir}/CC_template.xml
404cc.dynamic.args=-javaagent:${jcov.jar}=include=${cc.include},exclude=${cc.exclude},type=all,verbose=0,file=${cc.dir}/${cc.result.file.name}
405