|
1 ------------------------------------------------------------------------- |
|
2 TESTING WIDGETS DEFINED IN *.UI FILES (SCREENSHOT COMPARISON) |
|
3 ------------------------------------------------------------------------- |
|
4 This test is based on dev/qt/tests/auto/atwrapper/ |
|
5 |
|
6 |
|
7 HOW TO RUN THE TESTS |
|
8 |
|
9 Compile the necessary programs: |
|
10 qmake |
|
11 make |
|
12 |
|
13 Now there should be an executable 'uiloader'. |
|
14 Run the tests: |
|
15 ./uiloader |
|
16 |
|
17 |
|
18 |
|
19 CONFIGURATION |
|
20 |
|
21 The tests can be executed on different machines. For every machine there |
|
22 is a config file <hostname>.ini. |
|
23 |
|
24 If this file is not available the tests won't be run on the machine. |
|
25 |
|
26 Example kayak.ini: |
|
27 |
|
28 [General] |
|
29 ftpBaseDir=/arthurtest |
|
30 ftpHost=wartburg |
|
31 ftpPass=anonymouspass |
|
32 ftpUser=anonymous |
|
33 output=testresults |
|
34 |
|
35 [engines] |
|
36 1\engine=uic |
|
37 size=1 |
|
38 |
|
39 Don't modify the [engines] section. Later it will be used for styles. The |
|
40 only thing you might want to modify is the ftpHost value. At the moment |
|
41 wartburg is just a server on which we test the tests. |
|
42 |
|
43 The actual test server is: kramer.troll.no |
|
44 |
|
45 |
|
46 |
|
47 HOW IT WORKS |
|
48 |
|
49 There are 3 important folders: |
|
50 |
|
51 tst_uiloader/ Actual program executing the tests. |
|
52 tst_screenshot/ Program to generate one *.png file out of *.ui |
|
53 baseline/ This is a dir with *.ui files. |
|
54 |
|
55 ./uiloader (compiled from tst_uiloader) will use the tst_screenshot program |
|
56 and the files in baseline/. |
|
57 |
|
58 In order to generate screenshots the *.ui files in baseline/ will be used. |
|
59 Therefore a folder testresults/ (specified in the config) will be |
|
60 created/used. |
|
61 |
|
62 Structure of testresults/: |
|
63 |
|
64 |-- testresults |
|
65 | `-- i686 Linux g++-4 full-config That's buildKey(). |
|
66 | `-- 4.5.0 Used Qt version. |
|
67 | |-- uic Here are the generated images. |
|
68 | |-- uic.baseline Baseline downloaded from server. |
|
69 | |-- uic.diff Diff Images of failed tests. |
|
70 | `-- uic.failed Generated images of failed tests. |
|
71 |
|
72 If there is no baseline at the server the results in uic/ will be uploaded |
|
73 as a new baseline (first run for your machine). So to create a new baseline |
|
74 on the server you just need to remove your folders there. |
|
75 |
|
76 On the server side there is a dir /arthurtest with following structure |
|
77 (it will be created if it's not there): |
|
78 |
|
79 |-- arthurtest |
|
80 | `-- <your machines hostname> |
|
81 | `-- <buildKey()> |
|
82 | `-- <qt version> |
|
83 | |-- uic.baseline Baseline. |
|
84 | |-- uic.diff Here the local diffs will be uploaded. |
|
85 | `-- uic.failed Here the local failed files will be uploaded. |
|
86 |
|
87 After a test run the files in local uic.diff/ and uic.failed/ will be |
|
88 uploaded to the server. |
|
89 |
|
90 For every run the uic.diff/ and uic.failed/ on the local and remote machine |
|
91 will be cleared in order to place new files there. On the local side uic/ |
|
92 gets cleared, too. |
|
93 |