summaryrefslogtreecommitdiffstats
path: root/tests/auto/uiloader/README.TXT
blob: cbbf0ff774f828abca82518b813f97dfa828b1d7 (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
   -------------------------------------------------------------------------
         TESTING WIDGETS DEFINED IN *.UI FILES (SCREENSHOT COMPARISON)
   -------------------------------------------------------------------------
              This test is based on dev/qt/tests/auto/atwrapper/


HOW TO RUN THE TESTS

    Compile the necessary programs:
        qmake
        make

    Now there should be an executable 'uiloader'.
    Run the tests:
        ./uiloader



CONFIGURATION

    The tests can be executed on different machines. For every machine there
    is a config file <hostname>.ini.

    If this file is not available the tests won't be run on the machine.

        Example kayak.ini:

            [General]
            ftpBaseDir=/arthurtest
            ftpHost=wartburg
            ftpPass=anonymouspass
            ftpUser=anonymous
            output=testresults

            [engines]
            1\engine=uic
            size=1

    Don't modify the [engines] section. Later it will be used for styles.  The
    only thing you might want to modify is the ftpHost value. At the moment
    wartburg is just a server on which we test the tests.

    The actual test server is: kramer.troll.no



HOW IT WORKS

    There are 3 important folders:

        tst_uiloader/       Actual program executing the tests.
        tst_screenshot/     Program to generate one *.png file out of *.ui
        baseline/           This is a dir with *.ui files.
        
    ./uiloader (compiled from tst_uiloader) will use the tst_screenshot program
    and the files in baseline/.

    In order to generate screenshots the *.ui files in baseline/ will be used.
    Therefore a folder testresults/ (specified in the config) will be
    created/used.

    Structure of testresults/:
        
        |-- testresults
        |   `-- i686 Linux g++-4 full-config    That's buildKey().
        |       `-- 4.5.0                       Used Qt version.
        |           |-- uic                     Here are the generated images.
        |           |-- uic.baseline            Baseline downloaded from server.
        |           |-- uic.diff                Diff Images of failed tests.
        |           `-- uic.failed              Generated images of failed tests.

    If there is no baseline at the server the results in uic/ will be uploaded
    as a new baseline (first run for your machine). So to create a new baseline
    on the server you just need to remove your folders there.

    On the server side there is a dir /arthurtest with following structure
    (it will be created if it's not there):

        |-- arthurtest
        |   `-- <your machines hostname>
        |       `-- <buildKey()>
        |           `-- <qt version>
        |               |-- uic.baseline    Baseline.
        |               |-- uic.diff        Here the local diffs will be uploaded.
        |               `-- uic.failed      Here the local failed files will be uploaded.

    After a test run the files in local uic.diff/ and uic.failed/ will be
    uploaded to the server.

    For every run the uic.diff/ and uic.failed/ on the local and remote machine
    will be cleared in order to place new files there. On the local side uic/
    gets cleared, too.