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