|
1 !contains(TEMPLATE,subdirs) { |
|
2 |
|
3 check.files = |
|
4 check.path = . |
|
5 |
|
6 # If the test ends up in a different directory, we should cd to that directory. |
|
7 # Note that qmake modifies DESTDIR after this file is processed, |
|
8 # therefore, testing DESTDIR for emptiness is not sufficient. |
|
9 # Also note that in debug-and-release mode we don't want to cd into the debug/release |
|
10 # directory (e.g. if the test goes to foo/release/tst_thing.exe, we want to do |
|
11 # cd foo && release/tst_thing.exe ). |
|
12 MUNGED_DESTDIR=$$DESTDIR |
|
13 MUNGED_TARGET=$$TARGET |
|
14 win32:debug_and_release { |
|
15 contains(DESTDIR,^release$)|contains(DESTDIR,^debug$):MUNGED_DESTDIR= |
|
16 |
|
17 # In debug-and-release mode, the first ../ in TARGET breaks out of the debug/release |
|
18 # subdirectory. However, since make's working directory is already outside of the |
|
19 # debug/release subdirectory, this first ../ should be ignored when deciding if |
|
20 # we have to change directory before running the test. |
|
21 MUNGED_TARGET=$$replace(MUNGED_TARGET,^\\.\\./,) |
|
22 } |
|
23 !isEmpty(MUNGED_DESTDIR):!contains(MUNGED_DESTDIR,^\\./?):check.commands = cd $(DESTDIR) && |
|
24 contains(MUNGED_TARGET,.*/.*):check.commands = cd $(DESTDIR) && |
|
25 |
|
26 # Allow for a custom test runner script |
|
27 check.commands += $(TESTRUNNER) |
|
28 |
|
29 macx { |
|
30 app_bundle: check.commands += ./$(QMAKE_TARGET).app/Contents/MacOS/$(QMAKE_TARGET) |
|
31 else: check.commands += ./$(QMAKE_TARGET) |
|
32 } |
|
33 else:unix: check.commands += ./$(QMAKE_TARGET) |
|
34 else: check.commands += $(DESTDIR_TARGET) |
|
35 |
|
36 # For Qt/Embedded, run every test app as a QWS server |
|
37 embedded: check.commands += -qws |
|
38 |
|
39 # Allow for custom arguments to tests |
|
40 check.commands += $(TESTARGS) |
|
41 QMAKE_EXTRA_TARGETS *= check |
|
42 |
|
43 !debug_and_release|build_pass { |
|
44 check.depends = first |
|
45 } else { |
|
46 check.CONFIG = recursive |
|
47 # In debug and release mode, only run the test once. |
|
48 # Run debug if available, release otherwise. |
|
49 debug_and_release { |
|
50 check.target = dummy_check |
|
51 check.recurse_target = check |
|
52 debug { |
|
53 real_check.depends = debug-check |
|
54 real_check.target = check |
|
55 QMAKE_EXTRA_TARGETS += real_check |
|
56 } else { |
|
57 real_check.depends = release-check |
|
58 real_check.target = check |
|
59 QMAKE_EXTRA_TARGETS += real_check |
|
60 } |
|
61 } |
|
62 } |
|
63 |
|
64 } |
|
65 |