2011-04-27 10:05:43 +00:00
|
|
|
!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)
|
2011-05-19 01:42:31 +00:00
|
|
|
|
|
|
|
# If the test is marked as insignificant, discard the exit code
|
|
|
|
insignificant_test:check.commands = -$${check.commands}
|
|
|
|
|
2011-04-27 10:05:43 +00:00
|
|
|
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
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|