nashorn/make/build.xml
changeset 34021 8ef2b9585f25
parent 34020 d9b12d08137b
parent 30982 7c36fab40d4a
child 34024 00d015c3e298
equal deleted inserted replaced
34020:d9b12d08137b 34021:8ef2b9585f25
   394       <available file="${test.external.dir}/test262" property="test-sys-prop.external.test262"/>
   394       <available file="${test.external.dir}/test262" property="test-sys-prop.external.test262"/>
   395       <available file="${test.external.dir}/showdown" property="test-sys-prop.external.markdown"/>
   395       <available file="${test.external.dir}/showdown" property="test-sys-prop.external.markdown"/>
   396   </target>
   396   </target>
   397 
   397 
   398   <target name="check-testng" unless="testng.available">
   398   <target name="check-testng" unless="testng.available">
   399     <echo message="WARNING: TestNG not available, will not run tests. Please copy testng.jar under test/lib directory."/>
   399     <echo message="WARNING: TestNG not available, will not run tests. Please copy testng.jar under ${test.lib} directory."/>
   400   </target>
   400   </target>
   401 
   401 
   402   <!-- only to be invoked as dependency of "test" target -->
   402   <!-- only to be invoked as dependency of "test" target -->
   403   <target name="-test-classes-all" depends="jar" unless="test.class">
   403   <target name="-test-classes-all" depends="jar" unless="test.class">
   404       <fileset id="test.classes" dir="${build.test.classes.dir}">
   404       <fileset id="test.classes" dir="${build.test.classes.dir}">
   467           <pathelement path="${run.test.classpath}"/>
   467           <pathelement path="${run.test.classpath}"/>
   468       </classpath>
   468       </classpath>
   469     </testng>
   469     </testng>
   470   </target>
   470   </target>
   471 
   471 
   472   <target name="test" depends="javadoc, test-pessimistic, test-optimistic"/>
   472   <target name="test" depends="get-testng, javadoc, test-pessimistic, test-optimistic"/>
   473 
   473 
   474   <target name="test-optimistic" depends="jar, -test-classes-all,-test-classes-single, check-testng, check-external-tests, compile-test, generate-policy-file" if="testng.available">
   474   <target name="test-optimistic" depends="jar, -test-classes-all,-test-classes-single, check-testng, check-external-tests, compile-test, generate-policy-file" if="testng.available">
   475     <echo message="Running test suite in OPTIMISTIC mode..."/>
   475     <echo message="Running test suite in OPTIMISTIC mode..."/>
   476     <antcall target="-test-nosecurity" inheritRefs="true">
   476     <antcall target="-test-nosecurity" inheritRefs="true">
   477       <param name="optimistic" value="true"/>
   477       <param name="optimistic" value="true"/>
   497 
   497 
   498   <target name="check-jemmy.jfx.testng" unless="jemmy.jfx.testng.available">
   498   <target name="check-jemmy.jfx.testng" unless="jemmy.jfx.testng.available">
   499     <echo message="WARNING: Jemmy or JavaFX or TestNG not available, will not run tests. Please copy testng.jar, JemmyCore.jar, JemmyFX.jar, JemmyAWTInput.jar under test${file.separator}lib directory. And make sure you have jfxrt.jar in ${java.home}${file.separator}lib${file.separator}ext dir."/>
   499     <echo message="WARNING: Jemmy or JavaFX or TestNG not available, will not run tests. Please copy testng.jar, JemmyCore.jar, JemmyFX.jar, JemmyAWTInput.jar under test${file.separator}lib directory. And make sure you have jfxrt.jar in ${java.home}${file.separator}lib${file.separator}ext dir."/>
   500   </target>
   500   </target>
   501 
   501 
   502   <target name="testjfx" depends="jar, check-jemmy.jfx.testng, compile-test" if="jemmy.jfx.testng.available">
   502   <target name="testjfx" depends="jar, get-testng, check-jemmy.jfx.testng, compile-test" if="jemmy.jfx.testng.available">
   503     <fileset id="test.classes" dir="${build.test.classes.dir}">
   503     <fileset id="test.classes" dir="${build.test.classes.dir}">
   504        <include name="**/framework/*Test.class"/>
   504        <include name="**/framework/*Test.class"/>
   505     </fileset>
   505     </fileset>
   506 
   506 
   507     <copy file="${file.reference.jfxrt.jar}" todir="dist"/>
   507     <copy file="${file.reference.jfxrt.jar}" todir="dist"/>
   525           <pathelement path="${testjfx.run.test.classpath}"/>
   525           <pathelement path="${testjfx.run.test.classpath}"/>
   526       </classpath>
   526       </classpath>
   527     </testng>
   527     </testng>
   528   </target>
   528   </target>
   529 
   529 
   530   <target name="testmarkdown" depends="jar, check-testng, check-external-tests, compile-test, generate-policy-file" if="testng.available">
   530   <target name="testmarkdown" depends="jar, get-testng, check-testng, check-external-tests, compile-test, generate-policy-file" if="testng.available">
   531     <fileset id="test.classes" dir="${build.test.classes.dir}">
   531     <fileset id="test.classes" dir="${build.test.classes.dir}">
   532        <include name="**/framework/*Test.class"/>
   532        <include name="**/framework/*Test.class"/>
   533     </fileset>
   533     </fileset>
   534 
   534 
   535     <testng outputdir="${build.test.results.dir}" classfilesetref="test.classes"
   535     <testng outputdir="${build.test.results.dir}" classfilesetref="test.classes"
   544           <pathelement path="${run.test.classpath}"/>
   544           <pathelement path="${run.test.classpath}"/>
   545       </classpath>
   545       </classpath>
   546     </testng>
   546     </testng>
   547   </target>
   547   </target>
   548 
   548 
   549   <target name="test262" depends="jar, check-testng, check-external-tests, compile-test, generate-policy-file" if="testng.available">
   549   <target name="test262" depends="jar, get-testng, check-testng, check-external-tests, compile-test, generate-policy-file" if="testng.available">
   550     <fileset id="test.classes" dir="${build.test.classes.dir}">
   550     <fileset id="test.classes" dir="${build.test.classes.dir}">
   551        <include name="**/framework/*Test.class"/>
   551        <include name="**/framework/*Test.class"/>
   552     </fileset>
   552     </fileset>
   553 
   553 
   554     <testng outputdir="${build.test.results.dir}" classfilesetref="test.classes"
   554     <testng outputdir="${build.test.results.dir}" classfilesetref="test.classes"
   568     </testng>
   568     </testng>
   569   </target>
   569   </target>
   570 
   570 
   571   <target name="test262parallel" depends="test262-parallel"/>
   571   <target name="test262parallel" depends="test262-parallel"/>
   572 
   572 
   573   <target name="test262-parallel" depends="jar, check-testng, check-external-tests, compile-test, generate-policy-file" if="testng.available">
   573   <target name="test262-parallel" depends="jar, get-testng, check-testng, check-external-tests, compile-test, generate-policy-file" if="testng.available">
   574     <!-- use just build.test.classes.dir to avoid referring to TestNG -->
   574     <!-- use just build.test.classes.dir to avoid referring to TestNG -->
   575     <java classname="${parallel.test.runner}" dir="${basedir}" fork="true">
   575     <java classname="${parallel.test.runner}" dir="${basedir}" fork="true">
   576       <jvmarg line="${boot.class.path}"/>
   576       <jvmarg line="${boot.class.path}"/>
   577       <jvmarg line="${run.test.jvmargs} -Xmx${run.test.xmx} ${run.test.jvmsecurityargs} -Dbuild.dir=${build.dir}"/>
   577       <jvmarg line="${run.test.jvmargs} -Xmx${run.test.xmx} ${run.test.jvmsecurityargs} -Dbuild.dir=${build.dir}"/>
   578       <!-- avoid too many typeinfo cache files. Each script is run only once anyway -->
   578       <!-- avoid too many typeinfo cache files. Each script is run only once anyway -->
   587     </java>
   587     </java>
   588   </target>
   588   </target>
   589 
   589 
   590   <target name="testparallel" depends="test-parallel"/>
   590   <target name="testparallel" depends="test-parallel"/>
   591 
   591 
   592   <target name="test-parallel" depends="jar, check-testng, check-external-tests, compile-test, generate-policy-file" if="testng.available">
   592   <target name="test-parallel" depends="jar, get-testng, check-testng, check-external-tests, compile-test, generate-policy-file" if="testng.available">
   593       <!-- use just build.test.classes.dir to avoid referring to TestNG -->
   593       <!-- use just build.test.classes.dir to avoid referring to TestNG -->
   594       <java classname="${parallel.test.runner}" dir="${basedir}"
   594       <java classname="${parallel.test.runner}" dir="${basedir}"
   595         failonerror="true"
   595         failonerror="true"
   596         fork="true">
   596         fork="true">
   597       <jvmarg line="${boot.class.path}"/>
   597       <jvmarg line="${boot.class.path}"/>
   692        <arg value="update"/>
   692        <arg value="update"/>
   693     </exec>
   693     </exec>
   694   </target>
   694   </target>
   695 
   695 
   696   <!-- get all external test scripts -->
   696   <!-- get all external test scripts -->
   697   <target name="externals" depends="init, check-external-tests, get-test262, get-octane, get-sunspider">
   697   <target name="externals" depends="init, check-external-tests, get-test262, get-octane, get-sunspider, get-testng">
   698     <!-- make external test dir -->
   698     <!-- make external test dir -->
   699     <mkdir dir="${test.external.dir}"/>
   699     <mkdir dir="${test.external.dir}"/>
   700 
   700 
   701     <!-- jquery -->
   701     <!-- jquery -->
   702     <mkdir dir="${test.external.dir}/jquery"/>
   702     <mkdir dir="${test.external.dir}/jquery"/>
   717     <get src="http://yui.yahooapis.com/3.5.1/build/yui/yui.js" dest="${test.external.dir}/yui" skipexisting="true" ignoreerrors="true"/>
   717     <get src="http://yui.yahooapis.com/3.5.1/build/yui/yui.js" dest="${test.external.dir}/yui" skipexisting="true" ignoreerrors="true"/>
   718     <get src="http://yui.yahooapis.com/3.5.1/build/yui/yui-min.js" dest="${test.external.dir}/yui" skipexisting="true" ignoreerrors="true"/>
   718     <get src="http://yui.yahooapis.com/3.5.1/build/yui/yui-min.js" dest="${test.external.dir}/yui" skipexisting="true" ignoreerrors="true"/>
   719 
   719 
   720     <!-- showdown -->
   720     <!-- showdown -->
   721     <mkdir dir="${test.external.dir}/showdown"/>
   721     <mkdir dir="${test.external.dir}/showdown"/>
   722     <get src="https://raw.github.com/coreyti/showdown/master/src/showdown.js" dest="${test.external.dir}/showdown" skipexisting="true" ignoreerrors="true"/>
   722     <get src="https://raw.githubusercontent.com/showdownjs/showdown/0.5.4/src/showdown.js" dest="${test.external.dir}/showdown" skipexisting="true" ignoreerrors="true"/>
   723     <get src="https://raw.github.com/coreyti/showdown/master/src/extensions/table.js" dest="${test.external.dir}/showdown" skipexisting="true" ignoreerrors="true"/>
   723     <get src="https://raw.githubusercontent.com/showdownjs/showdown/0.5.4/src/extensions/table.js" dest="${test.external.dir}/showdown" skipexisting="true" ignoreerrors="true"/>
   724 
   724 
   725   </target>
   725   </target>
   726 
   726 
   727   <!-- update external test suites that are pulled from source control systems -->
   727   <!-- update external test suites that are pulled from source control systems -->
   728   <target name="update-externals" depends="init, check-external-tests, update-test262, update-octane, update-sunspider"/>
   728   <target name="update-externals" depends="init, check-external-tests, update-test262, update-octane, update-sunspider"/>
   729 
   729 
   730   <!-- run all perf tests -->
   730   <!-- run all perf tests -->
   731   <target name="perf" depends="externals, update-externals, sunspider, octane"/>
   731   <target name="perf" depends="externals, update-externals, sunspider, octane"/>
   732 
   732 
       
   733   <!-- download and install testng.jar -->
       
   734   <target name="get-testng" depends="prepare" unless="testng.available">
       
   735     <get src="http://testng.org/testng-6.8.zip" dest="${test.lib}" skipexisting="true" ignoreerrors="true"/>
       
   736     <unzip src="${test.lib}${file.separator}testng-6.8.zip" dest="${test.lib}">
       
   737       <patternset>
       
   738         <include name="testng-6.8/testng-6.8.jar"/>
       
   739       </patternset>
       
   740     </unzip>
       
   741     <move file="${test.lib}${file.separator}testng-6.8${file.separator}testng-6.8.jar" tofile="${test.lib}${file.separator}testng.jar"/>
       
   742     <delete dir="${test.lib}${file.separator}testng-6.8"/>
       
   743   </target>
       
   744 
   733   <!-- run all tests -->
   745   <!-- run all tests -->
   734   <target name="exit-if-no-testng" depends="init, check-testng" unless="${testng.available}">
   746   <target name="alltests" depends="get-testng, externals, update-externals, test, test262parallel, testmarkdown, perf"/>
   735      <fail message="Exiting.."/>
       
   736   </target>
       
   737 
       
   738   <target name="alltests" depends="exit-if-no-testng, externals, update-externals, test, test262parallel, perf"/>
       
   739 
   747 
   740   <import file="build-benchmark.xml"/>
   748   <import file="build-benchmark.xml"/>
   741 
   749 
   742 </project>
   750 </project>