From: Bob W. <Rob...@un...> - 2006-04-10 21:16:32
|
User: walkerrl49 Date: 06/04/10 17:16:28 Modified: jboss-admin-console .classpath build.xml Log: Add support for building and running the integration tests (webtest via htmlunit). Revision Changes Path 1.14 +3 -2 jboss-admin-console/.classpath (In the diff below, changes in quantity of whitespace are not shown.) Index: .classpath =================================================================== RCS file: /cvsroot/jboss/jboss-admin-console/.classpath,v retrieving revision 1.13 retrieving revision 1.14 diff -u -b -r1.13 -r1.14 --- .classpath 29 Aug 2005 17:47:18 -0000 1.13 +++ .classpath 10 Apr 2006 21:16:28 -0000 1.14 @@ -1,6 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <classpath> - <classpathentry kind="src" path="src/main"/> + <classpathentry output="output/eclipse/classes" kind="src" path="src/main"/> + <classpathentry output="output/eclipse/test-classes" kind="src" path="src/test"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> <classpathentry kind="lib" path="/thirdparty/sun-servlet/lib/servlet-api.jar"/> <classpathentry kind="lib" path="/thirdparty/apache-struts/lib/struts-1.2.6.jar"/> @@ -27,5 +28,5 @@ <classpathentry combineaccessrules="false" kind="src" path="/hibernate-int"/> <classpathentry combineaccessrules="false" kind="src" path="/messaging"/> <classpathentry combineaccessrules="false" kind="src" path="/common"/> - <classpathentry kind="output" path="output/eclipse/classes"/> + <classpathentry kind="lib" path="/thirdparty/apache-xalan/lib/xalan.jar"/> </classpath> 1.33 +146 -78 jboss-admin-console/build.xml (In the diff below, changes in quantity of whitespace are not shown.) Index: build.xml =================================================================== RCS file: /cvsroot/jboss/jboss-admin-console/build.xml,v retrieving revision 1.32 retrieving revision 1.33 diff -u -b -r1.32 -r1.33 --- build.xml 7 Apr 2006 20:25:50 -0000 1.32 +++ build.xml 10 Apr 2006 21:16:28 -0000 1.33 @@ -75,94 +75,166 @@ </javac> </target> - <!-- - Properties and targets for compiling and running the unit tests for the jboss admin-console. - --> - <property name="dir.report" location="${basedir}/output/ant/test-reports" /> - <property name="dir.report.one-test" location="${dir.report}/one-test" /> - <property name="dir.report.html" location="${dir.report}/html" /> - <property name="dir.report.xml" location="${dir.report}/xml" /> - <property name="dir.test.classes" location="${basedir}/output/ant/test-classes" /> - - <!-- A macro that defines the basic format of the default test, with some parameters for flexibility --> - <!-- Invoke this macro from targets that run a test, varying the report format and location appropriately. --> - <macrodef name="basic.test"> - <attribute name="report-format" /> - <attribute name="report-location" /> - <sequential> - <junit printsummary="yes" haltonfailure="yes"> - <classpath refid="test.classpath.run" /> - <formatter type="@{report-format}" /> - <batchtest fork="yes" todir="@{report-location}" failureProperty="test.failed" errorProperty="test.failed"> - <fileset dir="${dir.test.classes}"> - <include name="**/*Test.class" /> - </fileset> - </batchtest> - </junit> - <fail if="test.failed" message="One or more tests failed." /> - </sequential> - </macrodef> + <!-- ######################################################################################## --> + <!-- ######################## Testing Properties and Targets ############################## --> + <!-- ######################################################################################## --> + + <property name="dir" location="${basedir}" /> + <property name="dir.out" location="${dir}/output/ant" /> + <property name="dir.out.lib" location="${dir.out}/lib" /> + <property name="dir.out.report" location="${dir.out}/test-reports" /> + <property name="dir.out.report.text" location="${dir.out.report}/text" /> + <property name="dir.out.test-classes" location="${dir.out}/test-classes" /> + <property name="dir.out.webtest-classes" location="${dir.out}/webtest-classes" /> + <property name="dir.out.main-classes" location="${dir.out}/classes" /> + <property name="dir.src" location="${dir}/src" /> + <property name="dir.src.test" location="${dir.src}/test" /> + <property name="dir.src.webtest" location="${dir.src}/webtest" /> + <property name="dir.src.main" location="${dir.src}/main" /> + <property name="dir.src.resources" location="${dir.src}/resources" /> + + + <!-- ########################################################### --> + <!-- ################# Unit Tests ################## --> + <!-- ########################################################### --> + - <!-- The classpath for compiling the tests --> + <!-- #### The classpath for compiling and running the tests --> <path id="test.classpath"> - <pathelement location="output/ant/test-classes" /> - <pathelement location="output/ant/classes" /> + <pathelement location="${dir.out.webtest-classes}" /> + <pathelement location="${dir.out.test-classes}" /> + <pathelement location="${dir.out.main-classes}" /> <!-- include both regular runtime jars and test compile&runtime jars --> - <fileset dir="output/ant/lib/"> + <fileset dir="${dir.out}/lib"> <include name="**/*.jar" /> </fileset> + <fileset dir="${dir}/tmp_libs"> + <include name="**/*.jar" /> + </fileset> + <pathelement location="${dir.src.resources}/admin-console.war" /> <!-- include regular compile time dependencies --> <path refid="thirdparty.classpath" /> </path> - <!-- The classpath for running the tests --> - <path id="test.classpath.run"> - <path refid="test.classpath" /> - <!-- used to find web.xml for Struts tests --> - <pathelement location="src/resources/admin-console.war" /> - </path> - + <!-- ############ Compile the unit tests. ######### --> <target name="compile-test" depends="compile,copy-test-jars"> - <mkdir dir="output/ant/test-classes" /> - <javac destdir="output/ant/test-classes" srcdir="src/test" debug="true"> + <mkdir dir="${dir.out.test-classes}" /> + <javac destdir="${dir.out.test-classes}" debug="true"> <classpath refid="test.classpath" /> + <src path="${dir.src.test}" /> </javac> </target> - <!-- run just a single test. Report is text only, located in test-reports/one-test --> - <target name="one-test" depends="compile-test,copy-WEB-INF-jars"> + <!-- ##### during test, logging is enabled by default ##### --> + <target name="log-init"> + <mkdir dir="${dir.out.test-classes}" /> + <copy file="${dir.src.test}/log4j.xml" todir="${dir.out.test-classes}" /> + </target> + + <!-- ########### Run just a single test. ########### --> + <target name="one-test"> <fail unless="test" message="Please specify the class to be tested (e.g., build one-test -Dtest=org.foo.bar.MyTest)." /> - <mkdir dir="${dir.report}" /> - <mkdir dir="${dir.report.one-test}" /> - <junit printsummary="yes" haltonfailure="yes"> - <classpath refid="test.classpath.run" /> + <antcall target="test" /> + </target> + + <!-- ########### Run all unit tests. ########### --> + <target name="test" depends="compile-test,copy-WEB-INF-jars,log-init" description="Run all unit tests."> + <mkdir dir="${dir.out.report}" /> + <mkdir dir="${dir.out.report.text}" /> + <sequential> + <junit printsummary="yes" haltonfailure="no"> + <classpath refid="test.classpath" /> <formatter type="plain" /> - <test if="test" name="${test}" fork="yes" outfile="ONE-TEST-${test}" todir="${dir.report.one-test}" /> + <formatter type="xml" /> + <test if="test" name="${test}" fork="yes" outfile="ONE-TEST-${test}" todir="${dir.out.report}" /> + <batchtest unless="test" fork="yes" todir="${dir.out.report}" failureProperty="test.failed" errorProperty="test.bombed"> + <fileset dir="${dir.out.test-classes}"> + <include name="**/*Test.class" /> + <exclude name="**/webtest/**/*.class" /> + </fileset> + </batchtest> </junit> + <antcall target="create-reports" /> + <fail if="test.bombed" message="One or more unit tests experienced an ERROR (suspected bug in test code)." /> + <fail if="test.failed" message="One or more unit tests failed." /> + </sequential> </target> - <!-- - Basic "test" is invoked here, at "test". - --> - <target name="test" depends="compile-test,copy-WEB-INF-jars"> - <mkdir dir="${dir.report}" /> - <basic.test report-format="plain" report-location="${dir.report}" /> - </target> - - <!-- Souped up: Same as "test" but generates html reports. --> - <target name="html-test" depends="compile-test,copy-WEB-INF-jars"> - <mkdir dir="${dir.report}" /> - <mkdir dir="${dir.report.html}" /> - <mkdir dir="${dir.report.xml}" /> - <basic.test report-format="xml" report-location="${dir.report.xml}" /> - <junitreport tofile="Combined.xml" todir="${dir.report.xml}"> - <fileset dir="${dir.report.xml}"> + <!-- ##### The test targets call this target to run the reports ##### --> + <target name="create-reports"> + <junitreport tofile="Combined.xml" todir="${dir.out.report}"> + <fileset dir="${dir.out.report}"> <include name="TEST-*.xml" /> </fileset> - <report format="frames" todir="${dir.report.html}" /> + <report format="frames" todir="${dir.out.report}" /> </junitreport> + <copy todir="${dir.out.report.text}"> + <fileset dir="${dir.out.report}"> + <include name="*.txt" /> + </fileset> + </copy> + </target> + + <!-- ########################################################### --> + <!-- ########### Integration Tests (webtest) ################## --> + <!-- ########################################################### --> + + <!-- ############################################################################### --> + <!-- # Run Integration Tests # --> + <!-- # # --> + <!-- # Webtest is an HTML-based JUnit extension that presents webpages # --> + <!-- # as documents. # --> + <!-- # The default server must be running with the console deployed # --> + <!-- # for these tests to run. # --> + <!-- # # --> + <!-- # At this time, only the "ports-default" configuration is supported. # --> + <!-- # # --> + <!-- # To run the tests simply start the default server, then invoke ant with: # --> + <!-- # "build webtest" # --> + <!-- ############################################################################### --> + <target name="webtest" depends="compile-test,copy-WEB-INF-jars,log-init"> + <mkdir dir="${dir.out.report}" /> + <sequential> + <junit printsummary="yes" haltonfailure="no"> + <classpath> + <path refid="test.classpath" /> + </classpath> + <formatter type="plain" /> + <formatter type="xml" /> + <batchtest fork="yes" todir="${dir.out.report}" failureProperty="test.failed" errorProperty="test.bombed"> + <fileset dir="${dir.out.webtest-classes}"> + <include name="**/webtest/**/*Test.class" /> + </fileset> + </batchtest> + </junit> + <antcall target="create-reports" /> + <fail if="test.bombed" message="One or more integration tests experienced an ERROR (suspected bug in test code)." /> + <fail if="test.failed" message="One or more integration tests failed." /> + </sequential> + </target> + + <!-- ####### Compile the unit tests (manually invoked) --> + <target name="compile-webtest" depends="compile,copy-test-jars"> + <mkdir dir="${dir.out.webtest-classes}" /> + <javac destdir="${dir.out.webtest-classes}" debug="true" failonerror="true"> + <classpath refid="test.classpath" /> + <src path="${dir.src.webtest}" /> + </javac> + </target> + + <!-- ####### Clean the test classes. --> + <target name="clean-test"> + <delete dir="${dir.out.test-classes}" includeemptydirs="true" /> + <delete dir="${dir.out.webtest-classes}" includeemptydirs="true" /> </target> + <!-- ####### Clean the test reports. --> + <target name="clean-report"> + <delete dir="${dir.out.report}" includeemptydirs="true" /> + </target> + + <!-- ########################### End of Test Stuff ########################## --> + <!-- TODO: remove this when doing builds declaratively with jbossbuild.xml --> <target name="copy-WEB-INF-jars"> <mkdir dir="output/ant/lib/WEB-INF-jars/" /> @@ -206,12 +278,9 @@ <fileset dir="${jaxen.jaxen.lib}"> <include name="jaxen.jar" /> </fileset> - - <fileset dir="${basedir}/tmp_libs" includes="displaytag-1.0-rc1.jar, wsabi4j2ee.jar, wsabi4j2ee-jboss.jar" /> - </copy> </target> @@ -242,12 +311,12 @@ <fileset dir="${apache.collections.lib}"> <include name="commons-collections.jar" /> </fileset> - <fileset dir="${apache.xalan.lib}"> - <include name="xalan.jar" /> - </fileset> <fileset dir="${jboss.common.lib}"> <include name="jboss-common.jar" /> </fileset> + <fileset dir="${apache.xalan.lib}"> + <include name="xalan.jar" /> + </fileset> </copy> </target> @@ -265,7 +334,6 @@ <copy todir="${jboss.home}/server/default/deploy" file="output/ant/lib/admin-console.war" /> </target> - <target name="clean"> <delete dir="output/ant" /> </target> |