testcase.prf
69 lines
| 2.4 KiB
| application/pics-rules
|
TextLexer
r47 | !contains(TEMPLATE,subdirs) { | |||
check.files = | ||||
check.path = . | ||||
# If the test ends up in a different directory, we should cd to that directory. | ||||
# Note that qmake modifies DESTDIR after this file is processed, | ||||
# therefore, testing DESTDIR for emptiness is not sufficient. | ||||
# Also note that in debug-and-release mode we don't want to cd into the debug/release | ||||
# directory (e.g. if the test goes to foo/release/tst_thing.exe, we want to do | ||||
# cd foo && release/tst_thing.exe ). | ||||
MUNGED_DESTDIR=$$DESTDIR | ||||
MUNGED_TARGET=$$TARGET | ||||
win32:debug_and_release { | ||||
contains(DESTDIR,^release$)|contains(DESTDIR,^debug$):MUNGED_DESTDIR= | ||||
# In debug-and-release mode, the first ../ in TARGET breaks out of the debug/release | ||||
# subdirectory. However, since make's working directory is already outside of the | ||||
# debug/release subdirectory, this first ../ should be ignored when deciding if | ||||
# we have to change directory before running the test. | ||||
MUNGED_TARGET=$$replace(MUNGED_TARGET,^\\.\\./,) | ||||
} | ||||
!isEmpty(MUNGED_DESTDIR):!contains(MUNGED_DESTDIR,^\\./?):check.commands = cd $(DESTDIR) && | ||||
contains(MUNGED_TARGET,.*/.*):check.commands = cd $(DESTDIR) && | ||||
# Allow for a custom test runner script | ||||
check.commands += $(TESTRUNNER) | ||||
macx { | ||||
app_bundle: check.commands += ./$(QMAKE_TARGET).app/Contents/MacOS/$(QMAKE_TARGET) | ||||
else: check.commands += ./$(QMAKE_TARGET) | ||||
} | ||||
else:unix: check.commands += ./$(QMAKE_TARGET) | ||||
else: check.commands += $(DESTDIR_TARGET) | ||||
# For Qt/Embedded, run every test app as a QWS server | ||||
embedded: check.commands += -qws | ||||
# Allow for custom arguments to tests | ||||
check.commands += $(TESTARGS) | ||||
# If the test is marked as insignificant, discard the exit code | ||||
insignificant_test:check.commands = -$${check.commands} | ||||
QMAKE_EXTRA_TARGETS *= check | ||||
!debug_and_release|build_pass { | ||||
check.depends = first | ||||
} else { | ||||
check.CONFIG = recursive | ||||
# In debug and release mode, only run the test once. | ||||
# Run debug if available, release otherwise. | ||||
debug_and_release { | ||||
check.target = dummy_check | ||||
check.recurse_target = check | ||||
debug { | ||||
real_check.depends = debug-check | ||||
real_check.target = check | ||||
QMAKE_EXTRA_TARGETS += real_check | ||||
} else { | ||||
real_check.depends = release-check | ||||
real_check.target = check | ||||
QMAKE_EXTRA_TARGETS += real_check | ||||
} | ||||
} | ||||
} | ||||
} | ||||