1.1 --- a/make/build.xml Wed Jan 09 15:02:48 2013 +0100 1.2 +++ b/make/build.xml Wed Jan 09 22:32:40 2013 +0530 1.3 @@ -31,6 +31,12 @@ 1.4 <pathelement location="${dist.dir}"/> 1.5 </path> 1.6 <property name="ext.class.path" value="-Djava.ext.dirs="${toString:nashorn.ext.path}""/> 1.7 + <condition property="svn.executable" value="/usr/local/bin/svn" else="svn"> 1.8 + <available file="/usr/local/bin/svn"/> 1.9 + </condition> 1.10 + <condition property="hg.executable" value="/usr/local/bin/hg" else="hg"> 1.11 + <available file="/usr/local/bin/hg"/> 1.12 + </condition> 1.13 </target> 1.14 1.15 <target name="prepare" depends="init"> 1.16 @@ -357,4 +363,93 @@ 1.17 <arg value="test.js"/> 1.18 </java> 1.19 </target> 1.20 + 1.21 + <!-- targets to get external script tests --> 1.22 + 1.23 + <!-- test262 test suite --> 1.24 + <target name="get-test262" depends="init" unless="${test-sys-prop.external.test262}"> 1.25 + <!-- clone test262 mercurial repo --> 1.26 + <exec executable="${hg.executable}"> 1.27 + <arg value="clone"/> 1.28 + <arg value="http://hg.ecmascript.org/tests/test262"/> 1.29 + <arg value="${test.external.dir}/test262"/> 1.30 + </exec> 1.31 + </target> 1.32 + <target name="update-test262" depends="init" if="${test-sys-prop.external.test262}"> 1.33 + <!-- update test262 mercurial repo --> 1.34 + <exec executable="${hg.executable}" dir="${test.external.dir}/test262"> 1.35 + <arg value="pull"/> 1.36 + <arg value="-u"/> 1.37 + </exec> 1.38 + </target> 1.39 + 1.40 + <!-- octane benchmark --> 1.41 + <target name="get-octane" depends="init" unless="${test-sys-prop.external.octane}"> 1.42 + <!-- checkout octane benchmarks --> 1.43 + <exec executable="${svn.executable}"> 1.44 + <arg value="--non-interactive"/> 1.45 + <arg value="--trust-server-cert"/> 1.46 + <arg value="checkout"/> 1.47 + <arg value="http://octane-benchmark.googlecode.com/svn/trunk/"/> 1.48 + <arg value="${test.external.dir}/octane"/> 1.49 + </exec> 1.50 + </target> 1.51 + <target name="update-octane" depends="init" if="${test-sys-prop.external.octane}"> 1.52 + <!-- update octane benchmarks --> 1.53 + <exec executable="${svn.executable}" dir="${test.external.dir}/octane"> 1.54 + <arg value="--non-interactive"/> 1.55 + <arg value="--trust-server-cert"/> 1.56 + <arg value="update"/> 1.57 + </exec> 1.58 + </target> 1.59 + 1.60 + <!-- sunspider benchmark --> 1.61 + <target name="get-sunspider" depends="init" unless="${test-sys-prop.external.sunspider}"> 1.62 + <!-- checkout sunspider --> 1.63 + <exec executable="${svn.executable}"> 1.64 + <arg value="--non-interactive"/> 1.65 + <arg value="--trust-server-cert"/> 1.66 + <arg value="checkout"/> 1.67 + <arg value="http://svn.webkit.org/repository/webkit/trunk/PerformanceTests/SunSpider"/> 1.68 + <arg value="${test.external.dir}/sunspider"/> 1.69 + </exec> 1.70 + </target> 1.71 + <target name="update-sunspider" depends="init" if="${test-sys-prop.external.sunspider}"> 1.72 + <!-- update sunspider --> 1.73 + <exec executable="${svn.executable}" dir="${test.external.dir}/sunspider"> 1.74 + <arg value="--non-interactive"/> 1.75 + <arg value="--trust-server-cert"/> 1.76 + <arg value="update"/> 1.77 + </exec> 1.78 + </target> 1.79 + 1.80 + <!-- get all external test scripts --> 1.81 + <target name="externals" depends="prepare, check-external-tests, get-test262, get-octane, get-sunspider"> 1.82 + <!-- make external test dir --> 1.83 + <mkdir dir="${test.external.dir}"/> 1.84 + 1.85 + <!-- jquery --> 1.86 + <mkdir dir="${test.external.dir}/jquery"/> 1.87 + <get src="http://code.jquery.com/jquery-1.7.2.js" dest="${test.external.dir}/jquery" skipexisting="true" ignoreerrors="true"/> 1.88 + <get src="http://code.jquery.com/jquery-1.7.2.min.js" dest="${test.external.dir}/jquery" skipexisting="true" ignoreerrors="true"/> 1.89 + 1.90 + <!-- prototype --> 1.91 + <mkdir dir="${test.external.dir}/prototype"/> 1.92 + <get src="http://ajax.googleapis.com/ajax/libs/prototype/1.7.0/prototype.js" dest="${test.external.dir}/prototype" usetimestamp="true" skipexisting="true" ignoreerrors="true"/> 1.93 + 1.94 + <!-- underscorejs --> 1.95 + <mkdir dir="${test.external.dir}/underscore"/> 1.96 + <get src="http://underscorejs.org/underscore.js" dest="${test.external.dir}/underscore" skipexisting="true" ignoreerrors="true"/> 1.97 + <get src="http://underscorejs.org/underscore-min.js" dest="${test.external.dir}/underscore" skipexisting="true" ignoreerrors="true"/> 1.98 + 1.99 + <!-- yui --> 1.100 + <mkdir dir="${test.external.dir}/yui"/> 1.101 + <get src="http://yui.yahooapis.com/3.5.1/build/yui/yui.js" dest="${test.external.dir}/yui" skipexisting="true" ignoreerrors="true"/> 1.102 + <get src="http://yui.yahooapis.com/3.5.1/build/yui/yui-min.js" dest="${test.external.dir}/yui" skipexisting="true" ignoreerrors="true"/> 1.103 + 1.104 + </target> 1.105 + 1.106 + <!-- update external test suites that are pulled from source control systems --> 1.107 + <target name="update-externals" depends="prepare, check-external-tests, update-test262, update-octane, update-sunspider"/> 1.108 + 1.109 </project>