summaryrefslogtreecommitdiff
path: root/build.qa.incl.xml
diff options
context:
space:
mode:
Diffstat (limited to 'build.qa.incl.xml')
-rwxr-xr-xbuild.qa.incl.xml206
1 files changed, 206 insertions, 0 deletions
diff --git a/build.qa.incl.xml b/build.qa.incl.xml
new file mode 100755
index 000000000..af3095128
--- /dev/null
+++ b/build.qa.incl.xml
@@ -0,0 +1,206 @@
+ <project name="common_qa">
+ <!-- Unitary testing + code coverage -->
+
+ <property name="base.dir" location="../../"/>
+
+ <!-- JAR names -->
+ <property file="${base.dir}/scilab-lib.properties"/>
+ <property file="${base.dir}/scilab-lib-doc.properties"/>
+ <!-- Configure ANT flags -->
+ <property file="${base.dir}/scilab.properties"/>
+
+ <!-- Where we can find the test sources -->
+ <property name="test.dir" location="tests/"/>
+ <property name="src.test.dir" location="${test.dir}/java/"/>
+ <property name="report.test.dir" location="${base.dir}/reports/"/>
+ <property name="report.xml.test.dir" location="${report.test.dir}/xml/"/>
+ <property name="report.html.test.dir" location="${report.test.dir}/html/"/>
+ <property name="report.codecoverage.dir" location="${report.test.dir}/codecoverage/"/>
+ <property name="report.codecoverage.html.dir" location="${report.test.dir}/html-codecoverage/"/>
+ <property name="report.codecoverage.xml.dir" location="${report.test.dir}/xml-codecoverage/"/>
+
+ <!-- Check style definitions -->
+ <property name="checkstyle.config.file" value="${base.dir}/checkstyle/scilab_checkstyle_convention.xml"/>
+ <property name="checkstyle.stylesheet" value="${thirdparty.dir}/checkstyle/contrib/checkstyle-noframes-sorted.xsl"/>
+ <property name="checkstyle.report.dir" value="${build.dir}/checkstyle"/>
+ <property name="checkstyle.xml.report.file" value="${checkstyle.report.dir}/checkstyle_errors.xml"/>
+ <property name="checkstyle.html.report.file" value="${checkstyle.report.dir}/checkstyle_errors.htm"/>
+
+ <path id="unittest.classpath">
+ <pathelement location="${junit4.jar}"/>
+ </path>
+ <path id="cobertura_classpath">
+ <pathelement location="${cobertura.jar}"/>
+ </path>
+
+ <!-- Clean test -->
+ <target name="clean-test" description="Clean test files">
+ <delete dir="${build.test.dir}"/>
+ </target>
+
+ <target name="existing-tests">
+ <available property="test-present" file="${src.test.dir}"/>
+ </target>
+
+ <!-- Compile test sources -->
+ <target name="compile-test" description="Build tests" depends="existing-tests, clean-test, jar" if="test-present">
+ <!-- clean the test to make sure it will build properly -->
+ <javac srcdir="${src.test.dir}" destdir="${classes.test.dir}" deprecation="on" debug="${build.debug}" verbose="off" listfiles="on" includeAntRuntime="no" source="6" target="6" encoding="UTF-8">
+ <classpath>
+ <path refid="unittest.classpath"/>
+ <path refid="compile.classpath"/>
+ </classpath>
+ </javac>
+ </target>
+
+ <taskdef resource="checkstyletask.properties" classpathref="checkstyle.classpath"/>
+ <!-- Checkstyle process -->
+ <target name="checkstyle" depends="checkstyle-init" description="Generates a report of code convention violations.">
+ <checkstyle config="${checkstyle.config.file}" failOnViolation="false">
+ <fileset dir="${src.dir}" includes="**/*.java"/>
+ <!-- Location of cache-file. -->
+ <property key="checkstyle.cache.file" file="${cache.dir}"/>
+ <formatter type="plain"/>
+ <formatter type="xml" toFile="${checkstyle.xml.report.file}"/>
+ </checkstyle>
+ <xslt in="${checkstyle.xml.report.file}" out="${checkstyle.html.report.file}" style="${checkstyle.stylesheet}"/>
+ </target>
+ <!-- Create the build directory -->
+ <target name="checkstyle-init">
+ <mkdir dir="${checkstyle.report.dir}"/>
+ </target>
+ <!-- Delete the build directory -->
+ <target name="checkstyle-clean">
+ <delete dir="${checkstyle.report.dir}"/>
+ </target>
+
+
+ <!-- Allows the override of the forkMode by local build.xml -->
+ <condition property="forkModeAlreadySet">
+ <isset property="junit.forkMode" />
+ </condition>
+
+ <target name="validate">
+ <!-- Empty target to be override by other build.xml -->
+ </target>
+
+ <taskdef classpathref="cobertura_classpath" resource="tasks.properties" />
+
+ <target name="instrument">
+ <cobertura-instrument todir="${instrumented.classes.test.dir}" datafile="${report.test.dir}/${library.name}.ser">
+ <fileset dir="${classes.dir}">
+ <include name="**/*.class" />
+ </fileset>
+ </cobertura-instrument>
+ </target>
+
+ <target name="codecoverage" depends="compile-test, instrument, test">
+ <cobertura-merge>
+ <fileset dir="${report.test.dir}">
+ <include name="*.ser" />
+ </fileset>
+ </cobertura-merge>
+
+ <cobertura-report format="html" destdir="${report.codecoverage.html.dir}">
+
+ <fileset dir="${library.action_binding.src.dir}">
+ <include name="**/*.java" />
+ </fileset>
+ <fileset dir="${library.commons.src.dir}">
+ <include name="**/*.java" />
+ </fileset>
+ <fileset dir="${library.graph.src.dir}">
+ <include name="**/*.java" />
+ </fileset>
+ <fileset dir="${library.graphic_objects.src.dir}">
+ <include name="**/*.java" />
+ </fileset>
+ <fileset dir="${library.xcos.src.dir}">
+ <include name="**/*.java" />
+ </fileset>
+ <fileset dir="${library.types.src.dir}">
+ <include name="**/*.java" />
+ </fileset>
+ <fileset dir="${library.javasci.src.dir}">
+ <include name="**/*.java" />
+ </fileset>
+ </cobertura-report>
+
+ <cobertura-report format="xml" destdir="${report.codecoverage.xml.dir}">
+
+ <fileset dir="${library.action_binding.src.dir}">
+ <include name="**/*.java" />
+ </fileset>
+ <fileset dir="${library.commons.src.dir}">
+ <include name="**/*.java" />
+ </fileset>
+ <fileset dir="${library.graph.src.dir}">
+ <include name="**/*.java" />
+ </fileset>
+ <fileset dir="${library.graphic_objects.src.dir}">
+ <include name="**/*.java" />
+ </fileset>
+ <fileset dir="${library.xcos.src.dir}">
+ <include name="**/*.java" />
+ </fileset>
+ <fileset dir="${library.types.src.dir}">
+ <include name="**/*.java" />
+ </fileset>
+ <fileset dir="${library.javasci.src.dir}">
+ <include name="**/*.java" />
+ </fileset>
+ </cobertura-report>
+
+ </target>
+
+
+ <target name="detectForkMode" unless="forkModeAlreadySet">
+ <property name="junit.forkMode" value="perBatch"/>
+ </target>
+
+ <target name="test" depends="existing-tests, compile-test, validate, detectForkMode" if="test-present">
+ <mkdir dir="${report.xml.test.dir}" />
+ <mkdir dir="${report.html.test.dir}" />
+ <mkdir dir="${report.codecoverage.dir}/" />
+ <junit fork="yes" forkmode="${junit.forkMode}" failureproperty="junit.failure">
+ <sysproperty key="net.sourceforge.cobertura.datafile"
+ file="${report.test.dir}/${library.name}.ser" />
+
+
+ <classpath location="${instrumented.classes.test.dir}"/>
+ <classpath location="${classes.test.dir}"/>
+
+ <classpath>
+ <path refid="unittest.classpath"/>
+ <path refid="compile.classpath"/>
+ <pathelement location="${cobertura.jar}"/>
+ <pathelement location="${classes.test.dir}"/>
+ <pathelement location="${classes.dir}"/>
+ </classpath>
+
+
+ <!-- Where ${basedir} is the module base directory -->
+ <env key="SCI" value="${basedir}/../.."/>
+ <jvmarg value="-DtestngTests=1"/>
+ <jvmarg value="-Djava.library.path=${base.dir}/modules/.libs/:${base.dir}/modules/javasci/.libs/:${base.dir}/modules/types/.libs/:${base.dir}/modules/localization/.libs/:${base.dir}/modules/commons/.libs/:${base.dir}/modules/action_binding/.libs/:${base.dir}/thirdparty/:${base.dir}/bin/:/usr/lib/jni/:/usr/lib64/jni:/usr/lib/java/:/usr/lib64/java:"/>
+
+ <formatter type="brief" useFile="no" />
+ <formatter type="xml" />
+
+ <batchtest fork="yes" todir="${report.xml.test.dir}" >
+ <fileset dir="tests/java/">
+ <include name="**/*.java"/>
+ </fileset>
+ </batchtest>
+ </junit>
+
+ <junitreport todir="${report.xml.test.dir}">
+ <fileset dir="${report.xml.test.dir}">
+ <include name="*.xml"/>
+ </fileset>
+ <report format="frames" todir="${report.html.test.dir}"/>
+ </junitreport>
+
+ <fail if="junit.failure" message="Unit test(s) failed. See the report"/>
+ </target>
+</project>