| !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) |
| 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 |
| } |
| } |
| } |
| |
| } |
| |