123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203 |
- have_target {
- testcase_exceptions: CONFIG += exceptions
- benchmark: type = benchmark
- else: type = check
- $${type}.files =
- $${type}.path = .
- QT_TOOL_NAME = target
- qtAddTargetEnv($${type}.commands, QT)
- TESTRUN_CWD = $$DESTDIR
- debug_and_release:debug_and_release_target {
-
-
-
- TESTRUN_CWD ~= s/(release|debug)$//
- TEST_TARGET_DIR = $$relative_path($$absolute_path($$DESTDIR, $$OUT_PWD), $$absolute_path($$TESTRUN_CWD, $$OUT_PWD))
- }
- $${type}.commands += $(TESTRUNNER)
- unix {
- isEmpty(TEST_TARGET_DIR): TEST_TARGET_DIR = .
- app_bundle: \
- $${type}.commands += $${TEST_TARGET_DIR}/$(QMAKE_TARGET).app/Contents/MacOS/$(QMAKE_TARGET)
- else: \
- $${type}.commands += $${TEST_TARGET_DIR}/$(QMAKE_TARGET)
- } else {
-
- !isEmpty(TEST_TARGET_DIR): TEST_TARGET_DIR = $${TEST_TARGET_DIR}$${QMAKE_DIR_SEP}
- $${type}.commands += $${TEST_TARGET_DIR}$(TARGET)
- }
- $${type}.commands += $(TESTARGS)
- !isEmpty(TESTRUN_CWD):!contains(TESTRUN_CWD, ^\\./?): \
- $${type}.commands = cd $$shell_path($$TESTRUN_CWD) && $$eval($${type}.commands)
- insignificant_test: $${type}.commands = -$$eval($${type}.commands)
- QMAKE_EXTRA_TARGETS *= $${type}
- isEmpty(BUILDS)|build_pass {
- $${type}.depends = first
- } else {
-
- $${type}.CONFIG = recursive
- $${type}.target = $${type}_all
- $${type}.recurse_target = $${type}
- $${type}.commands =
- $${type}_first.depends = $$eval($$first(BUILDS).target)-$${type}
- $${type}_first.target = $${type}
- QMAKE_EXTRA_TARGETS += $${type}_first
- }
- !no_testcase_installs:!contains(INSTALLS, target) {
-
-
-
-
-
-
- load(resolve_target)
- TARGET_BASENAME = $$basename(QMAKE_RESOLVED_TARGET)
- target.path = $$[QT_INSTALL_TESTS]/$$TARGET_BASENAME
- INSTALLS += target
- }
- !builtin_testdata:contains(INSTALLS, target) {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- for(file, TESTDATA) {
- tnam = $$file
- tnam ~= s,\\.\\.,dotdot,
- tnam ~= s,[?*],wildcard,
- tnam ~= s,[^A-Za-z0-9],_,
- tdi = testdata_$$tnam
-
- $${tdi}.files = $$file
-
-
-
-
-
-
-
-
-
-
-
-
-
- file = $$replace(file, ^(\\.\\./)+, )
- $${tdi}.path = $${target.path}/$$dirname(file)
- INSTALLS += $$tdi
- }
-
-
-
- for(file, GENERATED_TESTDATA) {
- tnam = $$file
- tnam ~= s,\\.\\.,dotdot,
- tnam ~= s,[?*],wildcard,
- tnam ~= s,[^A-Za-z0-9],_,
- tdi = testdata_$$tnam
- $${tdi}.files = $$file
- $${tdi}.CONFIG = no_check_exist
- file = $$replace(file, ^(\\.\\./)+, )
- $${tdi}.path = $${target.path}/$$dirname(file)
- INSTALLS += $$tdi
- }
-
-
-
-
-
-
-
-
-
-
-
- win32: extension = .exe
- for(test_helper, TEST_HELPER_INSTALLS) {
- test_helper_dir = $$dirname(test_helper)
- output = $$basename(test_helper_dir)
- target = $$basename(test_helper)
- targetName = $$replace(target, ' ', '_')
- subTarget = $${targetName}.target
- subInstall = $${targetName}_install
- subConfig = $${subInstall}.CONFIG
- subFiles = $${subInstall}.files
- subPath = $${subInstall}.path
- $$subTarget = $${output}/$${target}$${extension}
- $$subFiles = $${OUT_PWD}/$${test_helper}$${extension}
- $$subPath = $${target.path}/$${output}
- $$subConfig += no_check_exist executable
- INSTALLS += $${subInstall}
- }
- }
- builtin_testdata {
- ALL_TESTDATA = $$TESTDATA $$GENERATED_TESTDATA
-
- for(td, ALL_TESTDATA): \
- testdata.files += $$files($$absolute_path($$td, $$_PRO_FILE_PWD_))
- !isEmpty(testdata.files) {
- testdata.base = $$_PRO_FILE_PWD_
- RESOURCES += testdata
- }
- !isEmpty(TEST_HELPER_INSTALLS): \
- error("This platform does not support tests which require helpers.")
- }
- macx-xcode:bundle:isEmpty(QMAKE_BUNDLE_EXTENSION) {
- QMAKE_PBX_PRODUCT_TYPE = com.apple.product-type.bundle.unit-test
- QMAKE_PBX_BUNDLE_TYPE = wrapper.cfbundle
- QMAKE_BUNDLE_EXTENSION = .xctest
- }
- }
|