summaryrefslogtreecommitdiffstats
path: root/uitest/build.xml
blob: 6a40f8e539e8f7ed9927ee2ebe7d1a09b3610a2c (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
<?xml version="1.0"?>

<project name="vaadin-uitest" basedir="." default="test-tb3"
    xmlns:ivy="antlib:org.apache.ivy.ant">
    <description>
        Provides a uitest WAR containing Vaadin UI tests
    </description>
    <include file="../common.xml" as="common" />

    <!-- global properties -->
    <property name="module.name" value="vaadin-uitest" />
    <property name="uitest.dir" location="${vaadin.basedir}/uitest" />
    <property name="result.dir" value="result" />
    <property name="theme.result.dir" value="${result.dir}/VAADIN/themes" />
    <property name="result.war"
        location="${result.dir}/lib/${module.name}-${vaadin.version}.war" />

    <!-- Need to give a default value to keep Ivy happy -->
    <property name="vaadin.build.repository" value="http://maven.vaadin.com/vaadin-prereleases"/>

    <target name="clean">
        <fail unless="result.dir" message="No result.dir parameter given" />
        <delete dir="${result.dir}" />
    </target>

    <target name="fetch-war">
        <mkdir dir="${vaadin.basedir}/uitest/target"/>
        <get src="${vaadin.build.repository}/com/vaadin/vaadin-uitest/${vaadin.version}/vaadin-uitest-${vaadin.version}.war" dest="${vaadin.basedir}/uitest/target/vaadin-uitest-${vaadin.version}.war"/>
    </target>

    <!-- run both normal and server tests -->
    <target name="test-all" depends="clean-testbench-errors">
        <property name="war.file"
            location="${vaadin.basedir}/uitest/target/vaadin-uitest-${vaadin.version}.war" />
        <mkdir dir="${vaadin.basedir}/result" />
        <parallel>
            <daemons>
                <ant antfile="${uitest.dir}/vaadin-server.xml"
                    inheritall="true" inheritrefs="true" target="deploy-and-start" />
            </daemons>
            <sequential>
                <ant antfile="${uitest.dir}/vaadin-server.xml"
                    target="wait-for-startup" />
                <ant antfile="${uitest.dir}/tb3test.xml" target="run-all-tb3-tests"
                    inheritall="true" />
                <!-- within sequential for now not to cause problems with result parsing in CI -->
                <ant antfile="${uitest.dir}/integration_tests.xml"
                    target="integration-test-all" inheritall="false"
                    inheritrefs="false">
                    <property name="demo.war" value="${war.file}" />
                </ant>
            </sequential>
        </parallel>
    </target>

    <target name="test-server" depends="clean-testbench-errors">
        <property name="war.file"
            location="${vaadin.basedir}/uitest/target/vaadin-uitest-${vaadin.version}.war" />
        <ant antfile="${uitest.dir}/integration_tests.xml"
            target="integration-test-all" inheritall="false"
            inheritrefs="false">
            <property name="demo.war" value="${war.file}" />
        </ant>
    </target>

    <target name="test-tb3" depends="clean-testbench-errors">
        <property name="war.file"
            location="${vaadin.basedir}/uitest/target/vaadin-uitest-${vaadin.version}.war" />
        <mkdir dir="${vaadin.basedir}/result" />
        <parallel>
            <daemons>
                <ant antfile="${uitest.dir}/vaadin-server.xml"
                    inheritall="true" inheritrefs="true" target="deploy-and-start" />
            </daemons>
            <sequential>
                <ant antfile="${uitest.dir}/vaadin-server.xml"
                    target="wait-for-startup" />
            	<ant antfile="${uitest.dir}/tb3test.xml" target="run-all-tb3-tests"
                    inheritall="true" />
            </sequential>
        </parallel>
    </target>

    <target name="clean-testbench-errors">
        <fail unless="com.vaadin.testbench.screenshot.directory"
            message="Define screenshot directory using -Dcom.vaadin.testbench.screenshot.directory" />
        <mkdir dir="${com.vaadin.testbench.screenshot.directory}/errors" />
        <delete>
            <fileset
                dir="${com.vaadin.testbench.screenshot.directory}/errors">
                <include name="*" />
            </fileset>
        </delete>
    </target>


</project>