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