aboutsummaryrefslogtreecommitdiffstats
path: root/make/build-junit.xml
blob: 636035f1db8200ae98dfd6565aa0cc1149b3624f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
<?xml version="1.0" encoding="UTF-8"?>

<project name="JOGLTest" basedir="." default="all">

    <description>JUNIT Tests JOGL</description>

    <import file="build-common.xml"/>

    <!-- ================================================================== -->
    <!-- 
       - Declare all paths and user defined variables.
      -->
    <target name="declare.common" description="Declare properties" depends="common.init">
        <property name="rootrel.src.junit"    value="src/junit" />
        <property name="src.junit"            value="${project.root}/${rootrel.src.junit}" />

        <property name="classes"              value="${build.junit}/classes" />

        <property name="java.dir.test"        value="com/jogamp/test"/>
        <property name="java.part.test"       value="${java.dir.test}/**"/>

    </target>
    
    <!-- ================================================================== -->
    <!-- 
       - Initialize all parameters required for the build and create any
       - required directories.
      -->
    <target name="init" depends="declare.common">
        <!-- Create the required output directories. -->
        <mkdir dir="${obj.junit}" />
        <mkdir dir="${classes}" />
    </target>

    <!-- ================================================================== -->
    <!--
       - Clean up all that is built.
      -->
    <target name="clean" description="Remove all build products" depends="declare.common">
        <delete includeEmptyDirs="true" quiet="true">
            <fileset dir="${build.junit}" />
        </delete>
    </target>

    <!-- ================================================================== -->
    <!--
       - Build/run junit.
      -->
    <target name="junit.compile" depends="init">
        <!-- Perform the junit pass Java compile -->
        <javac destdir="${classes}"
               source="${host.sourcelevel}"
               fork="yes"
               memoryMaximumSize="${javac.memorymax}"
               debug="${javacdebug}" debuglevel="${javacdebuglevel}">
            <classpath refid="junit_jogl_newt.compile.classpath"/>
            <src path="${src.junit}" />
        </javac>
        <jar destfile="${jogl.test.jar}" filesonly="true">
            <fileset dir="${classes}">
                <include name="${java.part.test}"/>
            </fileset>
        </jar>
    </target>

    <target name="junit.run" depends="declare.common">
        <!-- Perform the junit tests-->
        <mkdir dir="${results.junit}" />
        <junit forkmode="once" showoutput="true" fork="true" haltonerror="true">
            <env key="${system.env.library.path}" path="${obj.all.paths}"/>
            <jvmarg value="-Djava.library.path=${obj.all.paths}"/>

            <!--
            <jvmarg value="-Dgluegen.debug.NativeLibrary=true"/>
            <jvmarg value="-Dgluegen.debug.ProcAddressHelper=true"/>
            <jvmarg value="-Djogl.debug.GLSLState"/>
            <jvmarg value="-Dnativewindow.debug=all"/>
            <jvmarg value="-Djogl.debug=all"/>
            <jvmarg value="-Dnewt.debug=all"/>
            <jvmarg value="-verbose:jni"/> 
            <jvmarg value="-client"/>
            <jvmarg value="-d32"/>
            -->

            <formatter usefile="false" type="plain"/>
            <formatter usefile="true" type="xml"/>
            <classpath refid="junit_jogl_newt.run.classpath"/>

            <batchtest todir="${results.junit}">
              <fileset dir="${classes}">
                  <include name="${java.dir.test}/**/Test*"/>
              </fileset>
              <formatter usefile="false" type="brief"/>
              <formatter usefile="true" type="xml"/>
            </batchtest>

        </junit>
    </target>

    <!-- ================================================================== -->
    <!--
       - Build everything.
      -->
    <target name="all" description="Build JOGL JUNIT tests and run them." depends="junit.compile, junit.run" />

</project>