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