aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/api/testdata/QBS-728/QBS-728.qbs2
-rw-r--r--tests/auto/api/testdata/add-qobject-macro-to-cpp-file/add-qobject-macro-to-cpp-file.qbs2
-rw-r--r--tests/auto/api/testdata/added-file-persistent/added-file-persistent.qbs2
-rw-r--r--tests/auto/api/testdata/app-without-sources/app-without-sources.qbs2
-rw-r--r--tests/auto/api/testdata/base-properties/imports/Bar.qbs2
-rw-r--r--tests/auto/api/testdata/base-properties/imports/Foo.qbs2
-rw-r--r--tests/auto/api/testdata/base-properties/prj.qbs1
-rw-r--r--tests/auto/api/testdata/build-error-code-location/build-error-code-location.qbs2
-rw-r--r--tests/auto/api/testdata/build-properties-source/build-properties-source.qbs2
-rw-r--r--tests/auto/api/testdata/build-single-file/build-single-file.qbs8
-rw-r--r--tests/auto/api/testdata/buildgraph-info/buildgraph-info.qbs2
-rw-r--r--tests/auto/api/testdata/buildgraph-locking/buildgraph-locking.qbs2
-rw-r--r--tests/auto/api/testdata/change-dependent-lib/change-dependent-lib.qbs2
-rw-r--r--tests/auto/api/testdata/check-outputs/check-outputs.qbs1
-rw-r--r--tests/auto/api/testdata/codegen/codegen.qbs1
-rw-r--r--tests/auto/api/testdata/command-extraction/command-extraction.qbs2
-rw-r--r--tests/auto/api/testdata/disabled-product/disabled-product.qbs2
-rw-r--r--tests/auto/api/testdata/disabled-project/disabled-project.qbs1
-rw-r--r--tests/auto/api/testdata/disabled_install_group/disabled_install_group.qbs2
-rw-r--r--tests/auto/api/testdata/duplicate-product-names/explicit.qbs2
-rw-r--r--tests/auto/api/testdata/duplicate-product-names/implicit-indirect.qbs2
-rw-r--r--tests/auto/api/testdata/duplicate-product-names/implicit.qbs2
-rw-r--r--tests/auto/api/testdata/duplicate-product-names/subdir1/subproject.qbs2
-rw-r--r--tests/auto/api/testdata/duplicate-product-names/subdir2/subproject.qbs2
-rw-r--r--tests/auto/api/testdata/empty-filetag-list/empty-filetag-list.qbs2
-rw-r--r--tests/auto/api/testdata/empty-submodules-list/empty-submodules-list.qbs2
-rw-r--r--tests/auto/api/testdata/enable-and-disable-product/enable-and-disable-product.qbs2
-rw-r--r--tests/auto/api/testdata/error-in-setup-run-environment/error-in-setup-run-environment.qbs2
-rw-r--r--tests/auto/api/testdata/error-in-setup-run-environment/modules/mymodule/mymodule.qbs2
-rw-r--r--tests/auto/api/testdata/excluded-inputs/excluded-inputs.qbs1
-rw-r--r--tests/auto/api/testdata/explicitly-depends-on/explicitly-depends-on.qbs1
-rw-r--r--tests/auto/api/testdata/export-item-with-group/export-item-with-group.qbs2
-rw-r--r--tests/auto/api/testdata/export-simple/export-simple.qbs2
-rw-r--r--tests/auto/api/testdata/export-with-recursive-depends/export-with-recursive-depends.qbs2
-rw-r--r--tests/auto/api/testdata/export-with-recursive-depends/modules/module1/module1.qbs2
-rw-r--r--tests/auto/api/testdata/export-with-recursive-depends/modules/module2/module2.qbs2
-rw-r--r--tests/auto/api/testdata/fallback-gcc/fallback-gcc.qbs2
-rw-r--r--tests/auto/api/testdata/file-tagger/moc_cpp.qbs1
-rw-r--r--tests/auto/api/testdata/filetagsfilter_override/InstalledApp.qbs2
-rw-r--r--tests/auto/api/testdata/filetagsfilter_override/filetagsfilter_override.qbs1
-rw-r--r--tests/auto/api/testdata/generated-files-list/generated-files-list.qbs2
-rw-r--r--tests/auto/api/testdata/infinite-loop-js/infinite-loop.qbs2
-rw-r--r--tests/auto/api/testdata/infinite-loop-process/infinite-loop.qbs7
-rw-r--r--tests/auto/api/testdata/infinite-loop-resolving/infinite-loop-resolving.qbs2
-rw-r--r--tests/auto/api/testdata/inherit-qbs-search-paths/imports/Foo.qbs2
-rw-r--r--tests/auto/api/testdata/inherit-qbs-search-paths/prj.qbs1
-rw-r--r--tests/auto/api/testdata/inherit-qbs-search-paths/subdir/modules/bli/m.qbs2
-rw-r--r--tests/auto/api/testdata/inherit-qbs-search-paths/subdir2/modules/bla/m.qbs2
-rw-r--r--tests/auto/api/testdata/installed-artifact/installed-artifact.qbs9
-rw-r--r--tests/auto/api/testdata/is-runnable/is-runnable.qbs2
-rw-r--r--tests/auto/api/testdata/lib-same-source/lib-same-source.qbs2
-rw-r--r--tests/auto/api/testdata/link-dynamiclibs-staticlibs/link-dynamiclibs-staticlibs.qbs2
-rw-r--r--tests/auto/api/testdata/link-dynamiclibs/link-dynamiclibs.qbs2
-rw-r--r--tests/auto/api/testdata/link-static-lib/link-static-lib.qbs2
-rw-r--r--tests/auto/api/testdata/link-staticlib-dynamiclib/link-staticlib-dynamiclib.qbs2
-rw-r--r--tests/auto/api/testdata/link-staticlibs-dynamiclibs/link-staticlibs-dynamiclibs.qbs2
-rw-r--r--tests/auto/api/testdata/local-profiles/local-profiles.qbs2
-rw-r--r--tests/auto/api/testdata/lots-of-dots/lots-of-dots.qbs2
-rw-r--r--tests/auto/api/testdata/missing-source-file/missing-source-file.qbs2
-rw-r--r--tests/auto/api/testdata/moc-cpp/moc-cpp.qbs2
-rw-r--r--tests/auto/api/testdata/moc-hpp-included/moc-hpp-included.qbs2
-rw-r--r--tests/auto/api/testdata/moc-hpp/moc-hpp.qbs2
-rw-r--r--tests/auto/api/testdata/multi-arch/multi-arch.qbs3
-rw-r--r--tests/auto/api/testdata/multiplexing/multiplexing.qbs1
-rw-r--r--tests/auto/api/testdata/new-output-artifact-in-dependency/new-output-artifact-in-dependency.qbs2
-rw-r--r--tests/auto/api/testdata/new-pattern-match/new-pattern-match.qbs2
-rw-r--r--tests/auto/api/testdata/nonexistingprojectproperties/invalidaccessfromproduct.qbs2
-rw-r--r--tests/auto/api/testdata/nonexistingprojectproperties/nonexistingprojectproperties.qbs2
-rw-r--r--tests/auto/api/testdata/objc/objc.qbs2
-rw-r--r--tests/auto/api/testdata/precompiled-header-dynamic/precompiled-header-dynamic.qbs1
-rw-r--r--tests/auto/api/testdata/precompiled-header-new/precompiled-header-new.qbs2
-rw-r--r--tests/auto/api/testdata/process-result/process-result.qbs8
-rw-r--r--tests/auto/api/testdata/productNameWithDots/productNameWithDots.qbs1
-rw-r--r--tests/auto/api/testdata/project-data-after-product-invalidation/project-data-after-product-invalidation.qbs2
-rw-r--r--tests/auto/api/testdata/project-editing/project-editing.qbs2
-rw-r--r--tests/auto/api/testdata/project-editing/project-with-no-files.qbs2
-rw-r--r--tests/auto/api/testdata/project-invalidation/project.early-error.qbs2
-rw-r--r--tests/auto/api/testdata/project-invalidation/project.late-error.qbs2
-rw-r--r--tests/auto/api/testdata/project-invalidation/project.no-error.qbs2
-rw-r--r--tests/auto/api/testdata/project-locking/project-locking.qbs2
-rw-r--r--tests/auto/api/testdata/project-properties-by-name/project-properties-by-name.qbs2
-rw-r--r--tests/auto/api/testdata/project-with-properties-item/project-with-properties-item.qbs2
-rw-r--r--tests/auto/api/testdata/properties-blocks/properties-blocks.qbs2
-rw-r--r--tests/auto/api/testdata/rc/rc.qbs2
-rw-r--r--tests/auto/api/testdata/recursive-wildcards/recursive-wildcards.qbs1
-rw-r--r--tests/auto/api/testdata/referenced-file-errors/cycle.qbs2
-rw-r--r--tests/auto/api/testdata/referenced-file-errors/modules/brokenmodule/brokenmodule.qbs2
-rw-r--r--tests/auto/api/testdata/referenced-file-errors/okay.qbs2
-rw-r--r--tests/auto/api/testdata/referenced-file-errors/okay2.qbs2
-rw-r--r--tests/auto/api/testdata/referenced-file-errors/referenced-file-errors.qbs2
-rw-r--r--tests/auto/api/testdata/referenced-file-errors/wrongtype.qbs2
-rw-r--r--tests/auto/api/testdata/references/invalid1.qbs2
-rw-r--r--tests/auto/api/testdata/references/invalid2.qbs2
-rw-r--r--tests/auto/api/testdata/references/subdir-with-one-project/p.qbs2
-rw-r--r--tests/auto/api/testdata/references/valid.qbs2
-rw-r--r--tests/auto/api/testdata/relaxed-mode-recovery/relaxed-mode-recovery.qbs2
-rw-r--r--tests/auto/api/testdata/remove-file-dependency/removeFileDependency.qbs2
-rw-r--r--tests/auto/api/testdata/rename-product/rename.qbs2
-rw-r--r--tests/auto/api/testdata/rename-target-artifact/rename.qbs2
-rw-r--r--tests/auto/api/testdata/restored-warnings/restored-warnings.qbs1
-rw-r--r--tests/auto/api/testdata/rule-conflict/rule-conflict.qbs2
-rw-r--r--tests/auto/api/testdata/run-disabled-product/run-disabled-product.qbs2
-rw-r--r--tests/auto/api/testdata/same-base-name/same-base-name.qbs2
-rw-r--r--tests/auto/api/testdata/simple-probe/simple-probe.qbs1
-rw-r--r--tests/auto/api/testdata/soft-dependency/soft-dependency.qbs2
-rw-r--r--tests/auto/api/testdata/source-file-in-build-dir/source-file-in-build-dir.qbs1
-rw-r--r--tests/auto/api/testdata/static-lib-deps/static-lib-deps.qbs2
-rw-r--r--tests/auto/api/testdata/subprojects/resources/modules/QtCoreDepender/qtcoredepender.qbs2
-rw-r--r--tests/auto/api/testdata/subprojects/resources/modules/cute/core/core.qbs2
-rw-r--r--tests/auto/api/testdata/subprojects/subproject2/subproject2.qbs2
-rw-r--r--tests/auto/api/testdata/subprojects/subproject2/subproject3/subproject3.qbs1
-rw-r--r--tests/auto/api/testdata/subprojects/toplevelproject.qbs2
-rw-r--r--tests/auto/api/testdata/target-artifact-status/target-artifact-status.qbs28
-rw-r--r--tests/auto/api/testdata/tool-in-module/use-outside-project/modules/thetool/thetool.qbs1
-rw-r--r--tests/auto/api/testdata/tool-in-module/use-outside-project/use-outside-project.qbs2
-rw-r--r--tests/auto/api/testdata/tool-in-module/use-within-project/use-within-project.qbs7
-rw-r--r--tests/auto/api/testdata/transformer-data/transformer-data.qbs1
-rw-r--r--tests/auto/api/testdata/transformers/transformers.qbs1
-rw-r--r--tests/auto/api/testdata/two-default-property-values/modules/mymodule/mymodule.qbs1
-rw-r--r--tests/auto/api/testdata/two-default-property-values/modules/myothermodule/myothermodule.qbs2
-rw-r--r--tests/auto/api/testdata/two-default-property-values/two-default-property-values.qbs2
-rw-r--r--tests/auto/api/testdata/type-change/type-change.qbs2
-rw-r--r--tests/auto/api/testdata/uic/uic.qbs2
-rw-r--r--tests/auto/api/tst_api.cpp35
-rw-r--r--tests/auto/api/tst_api.h2
-rw-r--r--tests/auto/auto.pro1
-rw-r--r--tests/auto/auto.qbs1
-rw-r--r--tests/auto/blackbox/blackbox-android.pro3
-rw-r--r--tests/auto/blackbox/blackbox-android.qbs1
-rw-r--r--tests/auto/blackbox/blackbox-apple.qbs1
-rw-r--r--tests/auto/blackbox/blackbox-clangdb.qbs1
-rw-r--r--tests/auto/blackbox/blackbox-java.qbs1
-rw-r--r--tests/auto/blackbox/blackbox-joblimits.pro18
-rw-r--r--tests/auto/blackbox/blackbox-joblimits.qbs20
-rw-r--r--tests/auto/blackbox/blackbox-qt.qbs1
-rw-r--r--tests/auto/blackbox/blackbox.qbs1
-rw-r--r--tests/auto/blackbox/find/find-android.qbs2
-rw-r--r--tests/auto/blackbox/find/find-jdk.qbs1
-rw-r--r--tests/auto/blackbox/find/find-nodejs.qbs1
-rw-r--r--tests/auto/blackbox/find/find-typescript.qbs1
-rw-r--r--tests/auto/blackbox/find/find-xcode.qbs1
-rw-r--r--tests/auto/blackbox/testdata-android/aidl/AndroidManifest.xml12
-rw-r--r--tests/auto/blackbox/testdata-android/aidl/aidl.qbs8
-rw-r--r--tests/auto/blackbox/testdata-android/aidl/io/qbs/aidltest/Interface1.aidl7
-rw-r--r--tests/auto/blackbox/testdata-android/aidl/io/qbs/aidltest/Interface2.aidl5
-rw-r--r--tests/auto/blackbox/testdata-android/aidl/io/qbs/aidltest/MainActivity.java18
-rw-r--r--tests/auto/blackbox/testdata-android/minimal-native/libdependency.so0
-rw-r--r--tests/auto/blackbox/testdata-android/minimal-native/minimal-native.qbs11
-rw-r--r--tests/auto/blackbox/testdata-android/minimal-native/src/main/AndroidManifest.xml12
-rw-r--r--tests/auto/blackbox/testdata-android/minimal-native/src/main/java/minimal/MinimalNative.java22
-rw-r--r--tests/auto/blackbox/testdata-android/minimal-native/src/main/native/native.c8
-rw-r--r--tests/auto/blackbox/testdata-android/multiple-apks-per-project/multiple-apks-per-project.qbs2
-rw-r--r--tests/auto/blackbox/testdata-android/multiple-apks-per-project/product1/product1.qbs7
-rw-r--r--tests/auto/blackbox/testdata-android/multiple-apks-per-project/product2/product2.qbs7
-rw-r--r--tests/auto/blackbox/testdata-android/multiple-libs-per-apk/multiple-libs-per-apk.qbs19
-rw-r--r--tests/auto/blackbox/testdata-android/no-native/no-native.qbs7
-rw-r--r--tests/auto/blackbox/testdata-android/qml-app/main.cpp21
-rw-r--r--tests/auto/blackbox/testdata-android/qml-app/main.qml9
-rw-r--r--tests/auto/blackbox/testdata-android/qml-app/qml-app.qbs14
-rw-r--r--tests/auto/blackbox/testdata-android/qml-app/qml.qrc5
-rw-r--r--tests/auto/blackbox/testdata-android/qml-app/src/main/AndroidManifest.xml81
-rw-r--r--tests/auto/blackbox/testdata-android/qml-app/src/main/assets/dummyasset.txt0
-rw-r--r--tests/auto/blackbox/testdata-android/teapot/teapot.qbs45
-rw-r--r--tests/auto/blackbox/testdata-apple/apple-dmg/apple-dmg.qbs9
-rw-r--r--tests/auto/blackbox/testdata-apple/apple-multiconfig/apple-multiconfig.qbs72
-rw-r--r--tests/auto/blackbox/testdata-apple/bundle-structure/bundle-structure.qbs58
-rw-r--r--tests/auto/blackbox/testdata-apple/deploymentTarget/deployment.qbs2
-rw-r--r--tests/auto/blackbox/testdata-apple/embedInfoPlist/embedInfoPlist.qbs14
-rw-r--r--tests/auto/blackbox/testdata-apple/frameworkStructure/frameworkStructure.qbs2
-rw-r--r--tests/auto/blackbox/testdata-apple/ib/assetcatalog/assetcatalogempty.qbs1
-rw-r--r--tests/auto/blackbox/testdata-apple/ib/empty-asset-catalogs/multiple-asset-catalogs.qbs2
-rw-r--r--tests/auto/blackbox/testdata-apple/ib/iconset/iconset.qbs2
-rw-r--r--tests/auto/blackbox/testdata-apple/ib/iconsetapp/iconsetapp.qbs2
-rw-r--r--tests/auto/blackbox/testdata-apple/ib/multiple-asset-catalogs/multiple-asset-catalogs.qbs2
-rw-r--r--tests/auto/blackbox/testdata-apple/infoplist/infoplist.qbs2
-rw-r--r--tests/auto/blackbox/testdata-apple/objc-arc/objc-arc.qbs2
-rw-r--r--tests/auto/blackbox/testdata-apple/xcode/xcode-project.qbs2
-rw-r--r--tests/auto/blackbox/testdata-clangdb/project1/project.qbs2
-rw-r--r--tests/auto/blackbox/testdata-java/java/inner-class/inner-class.qbs2
-rw-r--r--tests/auto/blackbox/testdata-java/java/vehicles.qbs13
-rw-r--r--tests/auto/blackbox/testdata-joblimits/job-limits/job-limits.qbs97
-rw-r--r--tests/auto/blackbox/testdata-joblimits/job-limits/main.cpp87
-rw-r--r--tests/auto/blackbox/testdata-qt/add-qobject-macro-to-generated-cpp-file/add-qobject-macro-to-generated-cpp-file.qbs25
-rw-r--r--tests/auto/blackbox/testdata-qt/add-qobject-macro-to-generated-cpp-file/main.cpp35
-rw-r--r--tests/auto/blackbox/testdata-qt/add-qobject-macro-to-generated-cpp-file/object.cpp.in41
-rw-r--r--tests/auto/blackbox/testdata-qt/add-qobject-macro-to-generated-cpp-file/object.h32
-rw-r--r--tests/auto/blackbox/testdata-qt/auto-qrc/auto-qrc.qbs2
-rw-r--r--tests/auto/blackbox/testdata-qt/cached-qml/cached-qml.qbs10
-rw-r--r--tests/auto/blackbox/testdata-qt/combined-moc/combined-moc.qbs2
-rw-r--r--tests/auto/blackbox/testdata-qt/dbus-adaptors/car.qbs2
-rw-r--r--tests/auto/blackbox/testdata-qt/dbus-interfaces/controller.qbs2
-rw-r--r--tests/auto/blackbox/testdata-qt/included-moc-cpp/included-moc-cpp.qbs9
-rw-r--r--tests/auto/blackbox/testdata-qt/included-moc-cpp/main.cpp7
-rw-r--r--tests/auto/blackbox/testdata-qt/included-moc-cpp/myobject.cpp3
-rw-r--r--tests/auto/blackbox/testdata-qt/included-moc-cpp/myobject.h11
-rw-r--r--tests/auto/blackbox/testdata-qt/lrelease/lrelease.qbs2
-rw-r--r--tests/auto/blackbox/testdata-qt/mixed-build-variants/mixed-build-variants.qbs2
-rw-r--r--tests/auto/blackbox/testdata-qt/moc-and-cxx-combining/moc-and-cxx-combining.qbs2
-rw-r--r--tests/auto/blackbox/testdata-qt/moc-flags/moc-flags.qbs2
-rw-r--r--tests/auto/blackbox/testdata-qt/moc-same-file-name/moc-same-file-name.qbs2
-rw-r--r--tests/auto/blackbox/testdata-qt/pkgconfig/pkgconfig.qbs1
-rw-r--r--tests/auto/blackbox/testdata-qt/plugin-meta-data/plugin-meta-data.qbs2
-rw-r--r--tests/auto/blackbox/testdata-qt/plugin-support/modules/m1/m1.qbs12
-rw-r--r--tests/auto/blackbox/testdata-qt/plugin-support/modules/m2/m2.qbs7
-rw-r--r--tests/auto/blackbox/testdata-qt/plugin-support/plugin-support-main.cpp1
-rw-r--r--tests/auto/blackbox/testdata-qt/plugin-support/plugin-support.qbs18
-rw-r--r--tests/auto/blackbox/testdata-qt/qml-debugging/qml-debugging.qbs2
-rw-r--r--tests/auto/blackbox/testdata-qt/qobject-in-mm/qobject-in-mm.qbs2
-rw-r--r--tests/auto/blackbox/testdata-qt/qrc/i.qbs2
-rw-r--r--tests/auto/blackbox/testdata-qt/qt-keywords/qt-keywords.qbs2
-rw-r--r--tests/auto/blackbox/testdata-qt/qtscxml/qtscxml.qbs6
-rw-r--r--tests/auto/blackbox/testdata-qt/quick-compiler/quick-compiler.qbs2
-rw-r--r--tests/auto/blackbox/testdata-qt/remove-moc-header-from-file-list/remove-moc-header-from-file-list.qbs2
-rw-r--r--tests/auto/blackbox/testdata-qt/static-qt-plugin-linking/static-qt-plugin-linking.qbs3
-rw-r--r--tests/auto/blackbox/testdata-qt/trackAddMocInclude/before/test.qbs2
-rw-r--r--tests/auto/blackbox/testdata-qt/trackQObjChange/i.qbs2
-rw-r--r--tests/auto/blackbox/testdata-qt/unmocable/unmocable.qbs2
-rw-r--r--tests/auto/blackbox/testdata/QTBUG-51237/modules/mymodule/mymodule.qbs2
-rw-r--r--tests/auto/blackbox/testdata/QTBUG-51237/qtbug-51237.qbs7
-rw-r--r--tests/auto/blackbox/testdata/add-filetag-to-generated-artifact/add-filetag-to-generated-artifact.qbs3
-rw-r--r--tests/auto/blackbox/testdata/always-run/rule.qbs1
-rw-r--r--tests/auto/blackbox/testdata/always-run/transformer.qbs1
-rw-r--r--tests/auto/blackbox/testdata/archiver/archivable.qbs2
-rw-r--r--tests/auto/blackbox/testdata/artifact-scanning/artifact-scanning.qbs2
-rw-r--r--tests/auto/blackbox/testdata/artifacts-map-change-tracking/artifacts-map-change-tracking.qbs1
-rw-r--r--tests/auto/blackbox/testdata/artifacts-map-invalidation/artifacts-map-invalidation.qbs1
-rw-r--r--tests/auto/blackbox/testdata/artifacts-map-race-condition/artifacts-map-race-condition.qbs8
-rw-r--r--tests/auto/blackbox/testdata/assembly/assembly.qbs1
-rw-r--r--tests/auto/blackbox/testdata/autotest-with-dependencies/autotest-with-dependencies.qbs5
-rw-r--r--tests/auto/blackbox/testdata/autotests/autotests.qbs4
-rw-r--r--tests/auto/blackbox/testdata/autotests/test1/test1.cpp12
-rw-r--r--tests/auto/blackbox/testdata/autotests/test1/test1.qbs9
-rw-r--r--tests/auto/blackbox/testdata/autotests/test2/test2-resource.txt0
-rw-r--r--tests/auto/blackbox/testdata/autotests/test2/test2.cpp13
-rw-r--r--tests/auto/blackbox/testdata/autotests/test2/test2.qbs9
-rw-r--r--tests/auto/blackbox/testdata/autotests/test3/test3.cpp9
-rw-r--r--tests/auto/blackbox/testdata/autotests/test3/test3.qbs9
-rw-r--r--tests/auto/blackbox/testdata/aux-inputs-from-deps/aux-inputs-from-deps.qbs1
-rw-r--r--tests/auto/blackbox/testdata/badInterpreter/badInterpreter.qbs2
-rw-r--r--tests/auto/blackbox/testdata/badInterpreter/qbs/modules/script-test/script-test.qbs1
-rw-r--r--tests/auto/blackbox/testdata/bom-sources/bom-sources.qbs2
-rw-r--r--tests/auto/blackbox/testdata/build-data-of-disabled-product/build-data-of-disabled-product.qbs2
-rw-r--r--tests/auto/blackbox/testdata/build-directories/build-directories.qbs12
-rw-r--r--tests/auto/blackbox/testdata/build-graph-versions/build-graph-versions.qbs2
-rw-r--r--tests/auto/blackbox/testdata/buildenv-change/buildenv-change.qbs2
-rw-r--r--tests/auto/blackbox/testdata/change-in-disabled-product/change-in-disabled-product.qbs2
-rw-r--r--tests/auto/blackbox/testdata/change-in-imported-file/change-in-imported-file.qbs1
-rw-r--r--tests/auto/blackbox/testdata/change-tracking-and-multiplexing/change-tracking-and-multiplexing.qbs2
-rw-r--r--tests/auto/blackbox/testdata/changed-files/changed-files.qbs1
-rw-r--r--tests/auto/blackbox/testdata/changed-inputs-from-dependencies/changed-inputs-from-dependencies.qbs58
-rw-r--r--tests/auto/blackbox/testdata/changed-inputs-from-dependencies/input.txt0
-rw-r--r--tests/auto/blackbox/testdata/changed-rule-inputs/changed-rule-inputs.qbs2
-rw-r--r--tests/auto/blackbox/testdata/check-timestamps/check-timestamps.qbs2
-rw-r--r--tests/auto/blackbox/testdata/choose-module-instance/choose-module-instance.qbs1
-rw-r--r--tests/auto/blackbox/testdata/choose-module-instance/gerbil.txt.in4
-rw-r--r--tests/auto/blackbox/testdata/choose-module-instance/modules/texttemplate/texttemplate.qbs49
-rw-r--r--tests/auto/blackbox/testdata/clean/clean.qbs2
-rw-r--r--tests/auto/blackbox/testdata/cli/dotnettest.qbs2
-rw-r--r--tests/auto/blackbox/testdata/cli/fshello.qbs2
-rw-r--r--tests/auto/blackbox/testdata/combined-sources/combined-sources.qbs2
-rw-r--r--tests/auto/blackbox/testdata/command-file/command-file.qbs2
-rw-r--r--tests/auto/blackbox/testdata/compilerDefinesByLanguage/CppDefinesApp.qbs2
-rw-r--r--tests/auto/blackbox/testdata/compilerDefinesByLanguage/compilerDefinesByLanguage.qbs2
-rw-r--r--tests/auto/blackbox/testdata/concurrent-executor/concurrent-executor.qbs6
-rw-r--r--tests/auto/blackbox/testdata/conditional-export/conditional-export.qbs2
-rw-r--r--tests/auto/blackbox/testdata/conditional-filetagger/conditional-filetagger.qbs2
-rw-r--r--tests/auto/blackbox/testdata/configure/configure.qbs1
-rw-r--r--tests/auto/blackbox/testdata/configure/modules/definition/module.qbs1
-rw-r--r--tests/auto/blackbox/testdata/conflicting-artifacts/conflicting-artifacts.qbs2
-rw-r--r--tests/auto/blackbox/testdata/cpu-features/cpu-features.qbs2
-rw-r--r--tests/auto/blackbox/testdata/cxx-language-version/cxx-language-version.qbs2
-rw-r--r--tests/auto/blackbox/testdata/dependenciesProperty/dependenciesProperty.qbs1
-rw-r--r--tests/auto/blackbox/testdata/dependency-profile-mismatch/dependency-profile-mismatch.qbs2
-rw-r--r--tests/auto/blackbox/testdata/disappeared-profile/disappeared-profile.qbs2
-rw-r--r--tests/auto/blackbox/testdata/disappeared-profile/modules-dir/modules/m/m.qbs2
-rw-r--r--tests/auto/blackbox/testdata/discard-unused-data/discard-unused-data.qbs7
-rw-r--r--tests/auto/blackbox/testdata/driver-linker-flags/driver-linker-flags.qbs2
-rw-r--r--tests/auto/blackbox/testdata/dynamic-library-in-module/Dll.qbs11
-rw-r--r--tests/auto/blackbox/testdata/dynamic-library-in-module/modules/thelib/thelib.qbs3
-rw-r--r--tests/auto/blackbox/testdata/dynamic-library-in-module/modules/theotherlib/theotherlib.qbs3
-rw-r--r--tests/auto/blackbox/testdata/dynamic-library-in-module/modules/thethirdlib/thethirdlib.qbs1
-rw-r--r--tests/auto/blackbox/testdata/dynamic-library-in-module/theapp.qbs2
-rw-r--r--tests/auto/blackbox/testdata/dynamic-library-in-module/thelibs.qbs2
-rw-r--r--tests/auto/blackbox/testdata/dynamic-project/dynamic-project.qbs1
-rw-r--r--tests/auto/blackbox/testdata/dynamicMultiplexRule/dynamicMultiplexRule.qbs1
-rw-r--r--tests/auto/blackbox/testdata/dynamicRuleOutputs/before/genlexer.qbs3
-rw-r--r--tests/auto/blackbox/testdata/enableExceptions/exceptions-objc.qbs2
-rw-r--r--tests/auto/blackbox/testdata/enableExceptions/exceptions-objcpp-cpp.qbs2
-rw-r--r--tests/auto/blackbox/testdata/enableExceptions/exceptions-objcpp.qbs2
-rw-r--r--tests/auto/blackbox/testdata/enableExceptions/exceptions.qbs2
-rw-r--r--tests/auto/blackbox/testdata/enableExceptions/none.qbs2
-rw-r--r--tests/auto/blackbox/testdata/enableRtti/rtti.qbs2
-rw-r--r--tests/auto/blackbox/testdata/env-merging/env-merging.qbs7
-rw-r--r--tests/auto/blackbox/testdata/env-normalization/env-normalization.qbs1
-rw-r--r--tests/auto/blackbox/testdata/erroneous/nonexistentWorkingDir/nonexistentWorkingDir.qbs2
-rw-r--r--tests/auto/blackbox/testdata/erroneous/outputArtifacts-missing-filePath/outputArtifacts-missing-filePath.qbs2
-rw-r--r--tests/auto/blackbox/testdata/erroneous/outputArtifacts-missing-fileTags/outputArtifacts-missing-fileTags.qbs2
-rw-r--r--tests/auto/blackbox/testdata/erroneous/tag-mismatch/tag-mismatch.qbs35
-rw-r--r--tests/auto/blackbox/testdata/erroneous/texttemplate-unknown-placeholder/boom.txt.in1
-rw-r--r--tests/auto/blackbox/testdata/erroneous/texttemplate-unknown-placeholder/texttemplate-unknown-placeholder.qbs6
-rw-r--r--tests/auto/blackbox/testdata/error-info/error-info.qbs1
-rw-r--r--tests/auto/blackbox/testdata/escaped-linker-flags/escaped-linker-flags.qbs2
-rw-r--r--tests/auto/blackbox/testdata/explicitly-depends-on/explicitly-depends-on.qbs1
-rw-r--r--tests/auto/blackbox/testdata/explicitly-depends-on/modules/module1/module1.qbs2
-rw-r--r--tests/auto/blackbox/testdata/export-rule/export-rule.qbs1
-rw-r--r--tests/auto/blackbox/testdata/export-to-outside-searchpath/export-to-outside-searchpath.qbs2
-rw-r--r--tests/auto/blackbox/testdata/export-to-outside-searchpath/qbs-resources/modules/aModule/aModule.qbs2
-rw-r--r--tests/auto/blackbox/testdata/exported-dependency-in-disabled-product/exported-dependency-in-disabled-product.qbs2
-rw-r--r--tests/auto/blackbox/testdata/exported-dependency-in-disabled-product/modules/broken/broken.qbs2
-rw-r--r--tests/auto/blackbox/testdata/exported-property-in-disabled-product/exported-property-in-disabled-product.qbs2
-rw-r--r--tests/auto/blackbox/testdata/exported-property-in-disabled-product/modules/broken/broken.qbs2
-rw-r--r--tests/auto/blackbox/testdata/exports-pkgconfig/exports-pkgconfig.qbs10
-rw-r--r--tests/auto/blackbox/testdata/exports-pkgconfig/modules/helper1/helper1.qbs2
-rw-r--r--tests/auto/blackbox/testdata/exports-pkgconfig/modules/helper2/helper2.qbs2
-rw-r--r--tests/auto/blackbox/testdata/exports-pkgconfig/modules/helper3/helper3.qbs2
-rw-r--r--tests/auto/blackbox/testdata/exports-qbs/consumer.qbs2
-rw-r--r--tests/auto/blackbox/testdata/exports-qbs/exports-qbs.qbs1
-rw-r--r--tests/auto/blackbox/testdata/exports-qbs/lib.qbs9
-rw-r--r--tests/auto/blackbox/testdata/exports-qbs/tool.qbs4
-rw-r--r--tests/auto/blackbox/testdata/external-libs/external-libs.qbs1
-rw-r--r--tests/auto/blackbox/testdata/fileDependencies/fileDependencies.qbs2
-rw-r--r--tests/auto/blackbox/testdata/filetagsfilter-merging/MyApplication.qbs9
-rw-r--r--tests/auto/blackbox/testdata/filetagsfilter-merging/filetagsfilter-merging.qbs28
-rw-r--r--tests/auto/blackbox/testdata/filetagsfilter-merging/main.cpp1
-rw-r--r--tests/auto/blackbox/testdata/find/find-cli.qbs1
-rw-r--r--tests/auto/blackbox/testdata/generated-artifact-as-input-to-dynamic-rule/p.qbs5
-rw-r--r--tests/auto/blackbox/testdata/generator/generator.qbs1
-rw-r--r--tests/auto/blackbox/testdata/group-condition-change/group-condition-change.qbs2
-rw-r--r--tests/auto/blackbox/testdata/groups-in-modules/groups-in-modules.qbs2
-rw-r--r--tests/auto/blackbox/testdata/groups-in-modules/modules/helper/helper.qbs1
-rw-r--r--tests/auto/blackbox/testdata/groups-in-modules/modules/helper2/helper2.qbs2
-rw-r--r--tests/auto/blackbox/testdata/groups-in-modules/modules/helper3/helper3.qbs2
-rw-r--r--tests/auto/blackbox/testdata/groups-in-modules/modules/helper4/helper4.qbs2
-rw-r--r--tests/auto/blackbox/testdata/groups-in-modules/modules/helper5/helper5.qbs2
-rw-r--r--tests/auto/blackbox/testdata/groups-in-modules/modules/helper6/helper6.qbs2
-rw-r--r--tests/auto/blackbox/testdata/ico/ico.qbs2
-rw-r--r--tests/auto/blackbox/testdata/import-assignment/import-assignment.qbs1
-rw-r--r--tests/auto/blackbox/testdata/import-change-tracking/import-change-tracking-product.qbs1
-rw-r--r--tests/auto/blackbox/testdata/import-change-tracking/import-change-tracking.qbs2
-rw-r--r--tests/auto/blackbox/testdata/import-in-properties-condition/import-in-properties-condition.qbs2
-rw-r--r--tests/auto/blackbox/testdata/import-in-properties-condition/modules/amodule/m.qbs1
-rw-r--r--tests/auto/blackbox/testdata/import-in-properties-condition/modules/depmodule/m.qbs2
-rw-r--r--tests/auto/blackbox/testdata/import-searchpath/import-searchpath.qbs2
-rw-r--r--tests/auto/blackbox/testdata/import-searchpath/qbs/imports/CppApplication.qbs2
-rw-r--r--tests/auto/blackbox/testdata/import-searchpath/src/import-searchpath-app1.qbs2
-rw-r--r--tests/auto/blackbox/testdata/import-searchpath/src/import-searchpath-app2.qbs2
-rw-r--r--tests/auto/blackbox/testdata/importing-product/importing-product.qbs1
-rw-r--r--tests/auto/blackbox/testdata/imports-conflict/imports-conflict.qbs2
-rw-r--r--tests/auto/blackbox/testdata/includeLookup/includeLookup.qbs1
-rw-r--r--tests/auto/blackbox/testdata/includeLookup/modules/definition/module.qbs3
-rw-r--r--tests/auto/blackbox/testdata/innosetup/innosetup.qbs1
-rw-r--r--tests/auto/blackbox/testdata/innosetupDependencies/innosetupDependencies.qbs3
-rw-r--r--tests/auto/blackbox/testdata/input-tags-change-tracking/input-tags-change-tracking.qbs63
-rw-r--r--tests/auto/blackbox/testdata/input-tags-change-tracking/input.txt1
-rw-r--r--tests/auto/blackbox/testdata/inputs-from-dependencies/inputs-from-dependencies.qbs2
-rw-r--r--tests/auto/blackbox/testdata/install-duplicates-no-error/install-duplicates-no-error.qbs2
-rw-r--r--tests/auto/blackbox/testdata/install-duplicates/install-duplicates.qbs2
-rw-r--r--tests/auto/blackbox/testdata/install-locations/install-locations.qbs26
-rw-r--r--tests/auto/blackbox/testdata/install-locations/main.cpp1
-rw-r--r--tests/auto/blackbox/testdata/install-locations/thelib.cpp3
-rw-r--r--tests/auto/blackbox/testdata/install-root-from-project-file/install-root-from-project-file.qbs2
-rw-r--r--tests/auto/blackbox/testdata/install-tree/install-tree.qbs3
-rw-r--r--tests/auto/blackbox/testdata/installable-as-auxiliary-input/installable-as-auxiliary-input.qbs2
-rw-r--r--tests/auto/blackbox/testdata/installable/installable.qbs8
-rw-r--r--tests/auto/blackbox/testdata/installed-source-files/installed-source-files.qbs3
-rw-r--r--tests/auto/blackbox/testdata/installed-transformer-output/qbs668.qbs2
-rw-r--r--tests/auto/blackbox/testdata/installed_artifact/installed_artifact.qbs2
-rw-r--r--tests/auto/blackbox/testdata/installpackage/installpackage.qbs12
-rw-r--r--tests/auto/blackbox/testdata/invalid-command-property/invalid-command-property.qbs17
-rw-r--r--tests/auto/blackbox/testdata/invalid-extension-instantiation/invalid-extension-instantiation.qbs1
-rw-r--r--tests/auto/blackbox/testdata/invalid-install-dir/invalid-install-dir.qbs10
-rw-r--r--tests/auto/blackbox/testdata/invalid-library-names/invalid-library-names.qbs2
-rw-r--r--tests/auto/blackbox/testdata/jsextensions-binaryfile/binaryfile.qbs6
-rw-r--r--tests/auto/blackbox/testdata/jsextensions-file/file.qbs6
-rw-r--r--tests/auto/blackbox/testdata/jsextensions-fileinfo/fileinfo.qbs6
-rw-r--r--tests/auto/blackbox/testdata/jsextensions-process/process.qbs6
-rw-r--r--tests/auto/blackbox/testdata/jsextensions-propertylist/propertylist.qbs1
-rw-r--r--tests/auto/blackbox/testdata/jsextensions-temporarydir/jsextensions-temporarydir.qbs1
-rw-r--r--tests/auto/blackbox/testdata/jsextensions-textfile/textfile.qbs6
-rw-r--r--tests/auto/blackbox/testdata/ld/ld.qbs2
-rw-r--r--tests/auto/blackbox/testdata/lexyacc/lex_outfile/lex_outfile.qbs2
-rw-r--r--tests/auto/blackbox/testdata/lexyacc/lex_prefix/lex_prefix.qbs2
-rw-r--r--tests/auto/blackbox/testdata/lexyacc/one-grammar/one-grammar.qbs2
-rw-r--r--tests/auto/blackbox/testdata/lexyacc/two-grammars/two-grammars.qbs2
-rw-r--r--tests/auto/blackbox/testdata/lexyacc/yacc_output/yacc_output.qbs2
-rw-r--r--tests/auto/blackbox/testdata/linkerMode/linkerMode.qbs2
-rw-r--r--tests/auto/blackbox/testdata/linkerscripts/linkerscripts.qbs14
-rw-r--r--tests/auto/blackbox/testdata/list-products/list-products.qbs2
-rw-r--r--tests/auto/blackbox/testdata/list-properties-with-outer/list-properties-with-outer.qbs2
-rw-r--r--tests/auto/blackbox/testdata/list-properties-with-outer/modules/higher/higher.qbs2
-rw-r--r--tests/auto/blackbox/testdata/list-properties-with-outer/modules/lower/lower.qbs7
-rw-r--r--tests/auto/blackbox/testdata/list-property-order/modules/higher1/higher1.qbs2
-rw-r--r--tests/auto/blackbox/testdata/list-property-order/modules/higher2/higher2.qbs2
-rw-r--r--tests/auto/blackbox/testdata/list-property-order/modules/higher3/higher3.qbs2
-rw-r--r--tests/auto/blackbox/testdata/list-property-order/modules/lower/lower.qbs2
-rw-r--r--tests/auto/blackbox/testdata/list-property-order/product.qbs2
-rw-r--r--tests/auto/blackbox/testdata/loadablemodule/loadablemodule.qbs2
-rw-r--r--tests/auto/blackbox/testdata/localDeployment/localDeployment.qbs2
-rw-r--r--tests/auto/blackbox/testdata/makefile-generator/app.qbs8
-rw-r--r--tests/auto/blackbox/testdata/maximum-c-language-version/maximum-c-language-version.qbs2
-rw-r--r--tests/auto/blackbox/testdata/maximum-c-language-version/modules/newermodule/newermodule.qbs2
-rw-r--r--tests/auto/blackbox/testdata/maximum-c-language-version/modules/newestmodule/newestmodule.qbs2
-rw-r--r--tests/auto/blackbox/testdata/maximum-c-language-version/modules/oldmodule/oldmodule.qbs2
-rw-r--r--tests/auto/blackbox/testdata/maximum-cxx-language-version/maximum-cxx-language-version.qbs2
-rw-r--r--tests/auto/blackbox/testdata/maximum-cxx-language-version/modules/newermodule/newermodule.qbs2
-rw-r--r--tests/auto/blackbox/testdata/maximum-cxx-language-version/modules/newestmodule/newestmodule.qbs2
-rw-r--r--tests/auto/blackbox/testdata/maximum-cxx-language-version/modules/oldmodule/oldmodule.qbs2
-rw-r--r--tests/auto/blackbox/testdata/minimumSystemVersion/fakewindows.qbs1
-rw-r--r--tests/auto/blackbox/testdata/minimumSystemVersion/macappstore.qbs2
-rw-r--r--tests/auto/blackbox/testdata/minimumSystemVersion/specific.qbs1
-rw-r--r--tests/auto/blackbox/testdata/minimumSystemVersion/unspecified-forced.qbs1
-rw-r--r--tests/auto/blackbox/testdata/minimumSystemVersion/unspecified.qbs1
-rw-r--r--tests/auto/blackbox/testdata/missing-dependency/missing-dependency.qbs1
-rw-r--r--tests/auto/blackbox/testdata/missing-override-prefix/missing-override-prefix.qbs2
-rw-r--r--tests/auto/blackbox/testdata/missing-project-file/project-dir/missing-project-file.qbs2
-rw-r--r--tests/auto/blackbox/testdata/moved-file-dependency/moved-file-dependency.qbs2
-rw-r--r--tests/auto/blackbox/testdata/multiple-changes/multiple-changes.qbs2
-rw-r--r--tests/auto/blackbox/testdata/multiple-configurations/multiple-configurations.qbs2
-rw-r--r--tests/auto/blackbox/testdata/multiplexed-tool/multiplexed-tool.qbs2
-rw-r--r--tests/auto/blackbox/testdata/nested-groups/modules/themodule/themodule.qbs2
-rw-r--r--tests/auto/blackbox/testdata/nested-groups/nested-groups.qbs2
-rw-r--r--tests/auto/blackbox/testdata/nested-properties/modules/higherlevel/higher-level.qbs2
-rw-r--r--tests/auto/blackbox/testdata/nested-properties/modules/lowerlevel/lower-level.qbs7
-rw-r--r--tests/auto/blackbox/testdata/nested-properties/product.qbs2
-rw-r--r--tests/auto/blackbox/testdata/new-output-artifact/new-output-artifact.qbs2
-rw-r--r--tests/auto/blackbox/testdata/no-exported-symbols/lib.cpp1
-rw-r--r--tests/auto/blackbox/testdata/no-exported-symbols/lib.h6
-rw-r--r--tests/auto/blackbox/testdata/no-exported-symbols/main.cpp6
-rw-r--r--tests/auto/blackbox/testdata/no-exported-symbols/no-exported-symbols.qbs28
-rw-r--r--tests/auto/blackbox/testdata/no-profile/no-profile.qbs2
-rw-r--r--tests/auto/blackbox/testdata/nodejs/hello.qbs2
-rw-r--r--tests/auto/blackbox/testdata/non-broken-files-in-broken-product/non-broken-files-in-broken-product.qbs2
-rw-r--r--tests/auto/blackbox/testdata/non-default-product/non-default-product.qbs2
-rw-r--r--tests/auto/blackbox/testdata/nsis/hello.qbs2
-rw-r--r--tests/auto/blackbox/testdata/nsisDependencies/nsisDependencies.qbs3
-rw-r--r--tests/auto/blackbox/testdata/out-of-date-marking/out-of-date-marking.qbs1
-rw-r--r--tests/auto/blackbox/testdata/output-artifact-auto-tagging/output-artifact-auto-tagging.qbs1
-rw-r--r--tests/auto/blackbox/testdata/overrideProjectProperties/helper_lib.qbs2
-rw-r--r--tests/auto/blackbox/testdata/overrideProjectProperties/overrideProjectProperties.qbs2
-rw-r--r--tests/auto/blackbox/testdata/overrideProjectProperties/project_using_helper_lib.qbs2
-rw-r--r--tests/auto/blackbox/testdata/pch-change-tracking/pch-change-tracking.qbs2
-rw-r--r--tests/auto/blackbox/testdata/per-group-define-in-export-item/per-group-define-in-export-item.qbs2
-rw-r--r--tests/auto/blackbox/testdata/pkg-config-probe-sysroot/modules/themodule/themodule.qbs6
-rw-r--r--tests/auto/blackbox/testdata/pkg-config-probe-sysroot/pkg-config.qbs2
-rw-r--r--tests/auto/blackbox/testdata/pkg-config-probe/modules/themodule/themodule.qbs6
-rw-r--r--tests/auto/blackbox/testdata/pkg-config-probe/pkg-config.qbs2
-rw-r--r--tests/auto/blackbox/testdata/plugin-dependency/plugin-dependency.qbs2
-rw-r--r--tests/auto/blackbox/testdata/precompiled-and-prefix-headers/precompiled-and-prefix-headers.qbs2
-rw-r--r--tests/auto/blackbox/testdata/prevent-floating-point-values/prevent-floating-point-values.qbs2
-rw-r--r--tests/auto/blackbox/testdata/probe-change-tracking/probe-change-tracking.qbs2
-rw-r--r--tests/auto/blackbox/testdata/probe-in-exported-module/dependee.qbs2
-rw-r--r--tests/auto/blackbox/testdata/probe-in-exported-module/dependency.qbs2
-rw-r--r--tests/auto/blackbox/testdata/probe-in-exported-module/modules/depmodule/depmodule.qbs7
-rw-r--r--tests/auto/blackbox/testdata/probe-in-exported-module/modules/mymodule/mymodule.qbs7
-rw-r--r--tests/auto/blackbox/testdata/probe-in-exported-module/modules/myothermodule/myothermodule.qbs2
-rw-r--r--tests/auto/blackbox/testdata/probe-in-exported-module/probe-in-exported-module.qbs2
-rw-r--r--tests/auto/blackbox/testdata/probeProperties/probeProperties.qbs5
-rw-r--r--tests/auto/blackbox/testdata/probes-and-array-properties/modules/mymodule/mymodule.qbs8
-rw-r--r--tests/auto/blackbox/testdata/probes-and-array-properties/probes-and-array-properties.qbs2
-rw-r--r--tests/auto/blackbox/testdata/probes-and-shadow-products/probes-and-shadow-products.qbs2
-rw-r--r--tests/auto/blackbox/testdata/probes-in-nested-modules/modules/inner/inner.qbs1
-rw-r--r--tests/auto/blackbox/testdata/probes-in-nested-modules/modules/outer/outer.qbs2
-rw-r--r--tests/auto/blackbox/testdata/probes-in-nested-modules/probes-in-nested-modules.qbs2
-rw-r--r--tests/auto/blackbox/testdata/product-dependencies-by-type/modules/myconfig/myconfig.qbs2
-rw-r--r--tests/auto/blackbox/testdata/product-dependencies-by-type/product-dependencies-by-type.qbs1
-rw-r--r--tests/auto/blackbox/testdata/productproperties/app.qbs2
-rw-r--r--tests/auto/blackbox/testdata/productproperties/header.qbs1
-rw-r--r--tests/auto/blackbox/testdata/productproperties/productproperties.qbs2
-rw-r--r--tests/auto/blackbox/testdata/project_filepath_check/project1.qbs2
-rw-r--r--tests/auto/blackbox/testdata/project_filepath_check/project2.qbs2
-rw-r--r--tests/auto/blackbox/testdata/properties-in-export-items/properties-in-export-items.qbs2
-rw-r--r--tests/auto/blackbox/testdata/property-assignment-in-failed-module/modules/m/m.qbs2
-rw-r--r--tests/auto/blackbox/testdata/property-assignment-in-failed-module/property-assignment-in-failed-module.qbs2
-rw-r--r--tests/auto/blackbox/testdata/property-assignment-on-non-present-module/property-assignment-on-non-present-module.qbs2
-rw-r--r--tests/auto/blackbox/testdata/property-precedence/dep.qbs2
-rw-r--r--tests/auto/blackbox/testdata/property-precedence/modules/leaf/leaf.qbs8
-rw-r--r--tests/auto/blackbox/testdata/property-precedence/modules/nonleaf/nonleaf.qbs2
-rw-r--r--tests/auto/blackbox/testdata/property-precedence/property-precedence.qbs2
-rw-r--r--tests/auto/blackbox/testdata/propertyChanges/modules/TestModule/module.qbs1
-rw-r--r--tests/auto/blackbox/testdata/propertyChanges/propertyChanges.qbs1
-rw-r--r--tests/auto/blackbox/testdata/propertyChanges/ruletest.qbs2
-rw-r--r--tests/auto/blackbox/testdata/protobuf/addressbook.proto51
-rw-r--r--tests/auto/blackbox/testdata/protobuf/addressbook_cpp.qbs21
-rw-r--r--tests/auto/blackbox/testdata/protobuf/addressbook_objc.qbs19
-rw-r--r--tests/auto/blackbox/testdata/protobuf/import-main.cpp38
-rw-r--r--tests/auto/blackbox/testdata/protobuf/import.proto6
-rw-r--r--tests/auto/blackbox/testdata/protobuf/import.qbs23
-rw-r--r--tests/auto/blackbox/testdata/protobuf/main.cpp58
-rw-r--r--tests/auto/blackbox/testdata/protobuf/main.m50
-rw-r--r--tests/auto/blackbox/testdata/protobuf/needs-import-dir-main.cpp38
-rw-r--r--tests/auto/blackbox/testdata/protobuf/needs-import-dir.proto6
-rw-r--r--tests/auto/blackbox/testdata/protobuf/needs-import-dir.qbs24
-rw-r--r--tests/auto/blackbox/testdata/protobuf/subdir/myenum.proto6
-rw-r--r--tests/auto/blackbox/testdata/pseudo-multiplexing/pseudo-multiplexing.qbs2
-rw-r--r--tests/auto/blackbox/testdata/qbsVersion/qbs-version.qbs2
-rw-r--r--tests/auto/blackbox/testdata/rad-after-incomplete-build/project_with_rule.qbs1
-rw-r--r--tests/auto/blackbox/testdata/recursive_renaming/recursive_renaming.qbs3
-rw-r--r--tests/auto/blackbox/testdata/recursive_wildcards/recursive_wildcards.qbs2
-rw-r--r--tests/auto/blackbox/testdata/referenceErrorInExport/referenceErrorInExport.qbs2
-rw-r--r--tests/auto/blackbox/testdata/renameDependency/before/renameDependency.qbs2
-rw-r--r--tests/auto/blackbox/testdata/reproducible-build/reproducible-build.qbs2
-rw-r--r--tests/auto/blackbox/testdata/require-deprecated/require.qbs1
-rw-r--r--tests/auto/blackbox/testdata/require/require.qbs1
-rw-r--r--tests/auto/blackbox/testdata/rescue-transformer-data/modules/m/m.qbs2
-rw-r--r--tests/auto/blackbox/testdata/rescue-transformer-data/transformer-data-rescue.qbs2
-rw-r--r--tests/auto/blackbox/testdata/response-files/response-files.qbs2
-rw-r--r--tests/auto/blackbox/testdata/retagged-output-artifact/retagged-output-artifact.qbs42
-rw-r--r--tests/auto/blackbox/testdata/rule-connection-with-excluded-inputs/rule-connection-with-excluded-inputs.qbs40
-rw-r--r--tests/auto/blackbox/testdata/rule-with-no-inputs/rule-with-no-inputs.qbs1
-rw-r--r--tests/auto/blackbox/testdata/rule-with-non-required-inputs/rule-with-non-required-inputs.qbs1
-rw-r--r--tests/auto/blackbox/testdata/ruleConditions/modules/narfzort/narfzort.qbs1
-rw-r--r--tests/auto/blackbox/testdata/ruleConditions/ruleConditions.qbs1
-rw-r--r--tests/auto/blackbox/testdata/ruleConditions/templates/zorduct.qbs2
-rw-r--r--tests/auto/blackbox/testdata/ruleCycle/ruleCycle.qbs2
-rw-r--r--tests/auto/blackbox/testdata/separate-debug-info/separate-debug-info.qbs2
-rw-r--r--tests/auto/blackbox/testdata/setup-build-environment/modules/buildenv/buildenv.qbs1
-rw-r--r--tests/auto/blackbox/testdata/setup-build-environment/modules/m/m.qbs1
-rw-r--r--tests/auto/blackbox/testdata/setup-build-environment/setup-build-environment.qbs2
-rw-r--r--tests/auto/blackbox/testdata/setup-run-environment/setup-run-environment.qbs34
-rw-r--r--tests/auto/blackbox/testdata/smart-relinking/smart-relinking.qbs2
-rw-r--r--tests/auto/blackbox/testdata/source-artifact-changes/modules/module_with_files/main.cpp1
-rw-r--r--tests/auto/blackbox/testdata/source-artifact-changes/modules/module_with_files/module_with_files.qbs15
-rw-r--r--tests/auto/blackbox/testdata/source-artifact-changes/source-artifact-changes.qbs56
-rw-r--r--tests/auto/blackbox/testdata/source-artifact-in-inputs-from-dependencies/source-artifact-in-inputs-from-dependencies.qbs1
-rw-r--r--tests/auto/blackbox/testdata/soversion/soversion.qbs2
-rw-r--r--tests/auto/blackbox/testdata/static-lib-without-sources/static-lib-without-sources.qbs2
-rw-r--r--tests/auto/blackbox/testdata/subprofile-change-tracking/subprofile-change-tracking.qbs2
-rw-r--r--tests/auto/blackbox/testdata/successive-changes/successive-changes.qbs1
-rw-r--r--tests/auto/blackbox/testdata/suspicious-calls/copy-command.qbs6
-rw-r--r--tests/auto/blackbox/testdata/suspicious-calls/copy-eval.qbs1
-rw-r--r--tests/auto/blackbox/testdata/suspicious-calls/copy-prepare.qbs6
-rw-r--r--tests/auto/blackbox/testdata/suspicious-calls/copy-probe.qbs1
-rw-r--r--tests/auto/blackbox/testdata/suspicious-calls/direntries-command.qbs6
-rw-r--r--tests/auto/blackbox/testdata/suspicious-calls/direntries-eval.qbs1
-rw-r--r--tests/auto/blackbox/testdata/suspicious-calls/direntries-prepare.qbs6
-rw-r--r--tests/auto/blackbox/testdata/suspicious-calls/direntries-probe.qbs1
-rw-r--r--tests/auto/blackbox/testdata/symbolLinkMode/symbolLinkMode.qbs1
-rw-r--r--tests/auto/blackbox/testdata/symlink-removal/symlink-removal.qbs6
-rw-r--r--tests/auto/blackbox/testdata/system-include-paths/system-include-paths.qbs2
-rw-r--r--tests/auto/blackbox/testdata/system-run-paths/system-run-paths.qbs3
-rw-r--r--tests/auto/blackbox/testdata/texttemplate/cdefgabc.txt.in1
-rw-r--r--tests/auto/blackbox/testdata/texttemplate/expected/lalala.txt1
-rw-r--r--tests/auto/blackbox/testdata/texttemplate/expected/output.txt12
-rw-r--r--tests/auto/blackbox/testdata/texttemplate/output.txt.in12
-rw-r--r--tests/auto/blackbox/testdata/texttemplate/texttemplatetest.qbs24
-rw-r--r--tests/auto/blackbox/testdata/toplevel-searchpath/qbs-resources/imports/MyProduct.qbs2
-rw-r--r--tests/auto/blackbox/testdata/toplevel-searchpath/toplevel-searchpath.qbs2
-rw-r--r--tests/auto/blackbox/testdata/trackAddFile/after/trackAddFile.qbs2
-rw-r--r--tests/auto/blackbox/testdata/trackAddFile/before/trackAddFile.qbs2
-rw-r--r--tests/auto/blackbox/testdata/trackExternalProductChanges/trackExternalProductChanges.qbs1
-rw-r--r--tests/auto/blackbox/testdata/trackFileTags/after/trackFileTags.qbs1
-rw-r--r--tests/auto/blackbox/testdata/trackFileTags/before/trackFileTags.qbs1
-rw-r--r--tests/auto/blackbox/testdata/trackProducts/after/product3.qbs2
-rw-r--r--tests/auto/blackbox/testdata/trackProducts/after/trackProducts.qbs2
-rw-r--r--tests/auto/blackbox/testdata/trackProducts/before/product1.qbs2
-rw-r--r--tests/auto/blackbox/testdata/trackProducts/before/product2.qbs2
-rw-r--r--tests/auto/blackbox/testdata/trackProducts/before/trackProducts.qbs2
-rw-r--r--tests/auto/blackbox/testdata/transitive-optional-dependencies/modules/a/a.qbs2
-rw-r--r--tests/auto/blackbox/testdata/transitive-optional-dependencies/modules/b/b.qbs2
-rw-r--r--tests/auto/blackbox/testdata/transitive-optional-dependencies/transitive-optional-dependencies.qbs2
-rw-r--r--tests/auto/blackbox/testdata/typescript/typescript.qbs2
-rw-r--r--tests/auto/blackbox/testdata/usings-as-sole-inputs-non-multiplexed/usings-as-sole-inputs-non-multiplexed.qbs1
-rw-r--r--tests/auto/blackbox/testdata/variant-suffix/variant-suffix.qbs9
-rw-r--r--tests/auto/blackbox/testdata/vcs/vcstest.qbs2
-rw-r--r--tests/auto/blackbox/testdata/versioncheck/modules/higher/higher.qbs2
-rw-r--r--tests/auto/blackbox/testdata/versioncheck/modules/lower/lower.qbs2
-rw-r--r--tests/auto/blackbox/testdata/versioncheck/versioncheck.qbs2
-rw-r--r--tests/auto/blackbox/testdata/versionscript/versionscript.qbs14
-rw-r--r--tests/auto/blackbox/testdata/whole-archive/whole-archive.qbs1
-rw-r--r--tests/auto/blackbox/testdata/wildcard_renaming/wildcard_renaming.qbs3
-rw-r--r--tests/auto/blackbox/testdata/wildcards-and-rules/wildcards-and-rules.qbs1
-rw-r--r--tests/auto/blackbox/testdata/wix/WiXInstallers.qbs1
-rw-r--r--tests/auto/blackbox/testdata/wixDependencies/wixDependencies.qbs3
-rw-r--r--tests/auto/blackbox/tst_blackbox.cpp407
-rw-r--r--tests/auto/blackbox/tst_blackbox.h17
-rw-r--r--tests/auto/blackbox/tst_blackboxandroid.cpp204
-rw-r--r--tests/auto/blackbox/tst_blackboxapple.cpp10
-rw-r--r--tests/auto/blackbox/tst_blackboxbase.cpp6
-rw-r--r--tests/auto/blackbox/tst_blackboxjava.cpp3
-rw-r--r--tests/auto/blackbox/tst_blackboxjoblimits.cpp173
-rw-r--r--tests/auto/blackbox/tst_blackboxqt.cpp105
-rw-r--r--tests/auto/blackbox/tst_blackboxqt.h4
-rw-r--r--tests/auto/cmdlineparser/tst_cmdlineparser.cpp13
-rw-r--r--tests/auto/language/testdata/MyProperties.qbs2
-rw-r--r--tests/auto/language/testdata/additional-product-types.qbs2
-rw-r--r--tests/auto/language/testdata/base-validate/base-validate.qbs2
-rw-r--r--tests/auto/language/testdata/base-validate/modules/m/MParent.qbs2
-rw-r--r--tests/auto/language/testdata/base-validate/modules/m/m.qbs2
-rw-r--r--tests/auto/language/testdata/broken-dependency-cycle1.qbs2
-rw-r--r--tests/auto/language/testdata/broken-dependency-cycle2.qbs2
-rw-r--r--tests/auto/language/testdata/builtinFunctionInSearchPathsProperty.qbs1
-rw-r--r--tests/auto/language/testdata/canonicalArchitecture.qbs1
-rw-r--r--tests/auto/language/testdata/chained-probes/chained-probes.qbs2
-rw-r--r--tests/auto/language/testdata/chained-probes/modules/m/m.qbs2
-rw-r--r--tests/auto/language/testdata/conditionaldepends.qbs1
-rw-r--r--tests/auto/language/testdata/conditionaldepends_base.qbs2
-rw-r--r--tests/auto/language/testdata/defaultvalue/egon.qbs2
-rw-r--r--tests/auto/language/testdata/defaultvalue/modules/higher/higher.qbs2
-rw-r--r--tests/auto/language/testdata/defaultvalue/modules/lower/lower.qbs2
-rw-r--r--tests/auto/language/testdata/delayed-error/modules/m/m.qbs2
-rw-r--r--tests/auto/language/testdata/delayed-error/nonexisting.qbs2
-rw-r--r--tests/auto/language/testdata/delayed-error/validation.qbs2
-rw-r--r--tests/auto/language/testdata/dependencyOnAllProfiles.qbs2
-rw-r--r--tests/auto/language/testdata/derived-sub-project/DerivedSubProject.qbs2
-rw-r--r--tests/auto/language/testdata/derived-sub-project/project.qbs2
-rw-r--r--tests/auto/language/testdata/derived-sub-project/subproject.qbs2
-rw-r--r--tests/auto/language/testdata/disabled-subproject.qbs2
-rw-r--r--tests/auto/language/testdata/enum-project-props.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/ParentItem.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/ParentWithExport.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/conflicting-module-instances.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/conflicting-properties-in-export-items.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/conflicting_fileTagsFilter.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/dependency_cycle.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/dependency_cycle2.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/dependency_cycle3.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/dependency_cycle4.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/duplicate_sources.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/duplicate_sources_wildcards.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/importloop1.qbs1
-rw-r--r--tests/auto/language/testdata/erroneous/importloop2.qbs1
-rw-r--r--tests/auto/language/testdata/erroneous/invalid-parameter-rhs.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/invalid-parameter-type.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/invalid-property-option.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/invalid-references.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/invalid_child_item_type.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/invalid_file.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/invalid_property_type.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/mismatching-multiplex-dependency.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/missing-colon.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/misused-inherited-property.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/module-depends-on-product.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/modules/module-a/module-a.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/modules/module-b/module-b.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/modules/module-with-product-dependency/module-with-product-dependency.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/modules/module-with-wrong-property-option/m.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/modules/no_such_property/no-such-property.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/modules/prefix1/prefix1.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/modules/prefix1/suffix/suffix.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/modules/prefix2/prefix2.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/modules/prefix2/suffix/suffix.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/modules/readonly/readonly.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/multiple_properties_in_subproject.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/no-configure-in-probe.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/nonexistentouter.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/oldQbsVersion.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/original-in-product-property.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/overwrite-inherited-readonly-property.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/overwrite-readonly-module-property.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/properties-item-with-invalid-condition.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/references_cycle.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/references_cycle2.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/references_cycle3.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/reserved_name_in_import.qbs1
-rw-r--r--tests/auto/language/testdata/erroneous/rule-without-output-tags.qbs11
-rw-r--r--tests/auto/language/testdata/erroneous/same-module-prefix1.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/same-module-prefix2.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/subproject_cycle.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/subproject_cycle2.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/subproject_cycle3.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/syntax-error-in-probe.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/throw_in_property_binding.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/undeclared-parameter1.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/undeclared-parameter2.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/undeclared_item.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/undeclared_module_property_in_module.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/undeclared_property.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/undeclared_property_in_Properties_item.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/undeclared_property_in_export_item.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/undeclared_property_in_export_item2.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/undeclared_property_in_export_item3.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/undeclared_property_wrapper.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/wrong-toplevel-item.qbs2
-rw-r--r--tests/auto/language/testdata/erroneous/wrongQbsVersionFormat.qbs2
-rw-r--r--tests/auto/language/testdata/error-in-disabled-product.qbs2
-rw-r--r--tests/auto/language/testdata/exports.qbs1
-rw-r--r--tests/auto/language/testdata/filetags.qbs2
-rw-r--r--tests/auto/language/testdata/groupconditions.qbs2
-rw-r--r--tests/auto/language/testdata/homeDirectory.qbs2
-rw-r--r--tests/auto/language/testdata/id-uniqueness.qbs1
-rw-r--r--tests/auto/language/testdata/idusage.qbs1
-rw-r--r--tests/auto/language/testdata/import-collection/project.qbs2
-rw-r--r--tests/auto/language/testdata/invalid-overrides.qbs2
-rw-r--r--tests/auto/language/testdata/invalidBindingInDisabledItem.qbs2
-rw-r--r--tests/auto/language/testdata/module-merging-variant-values/module-merging-variant-values.qbs2
-rw-r--r--tests/auto/language/testdata/module-prioritization-by-search-path/product.qbs2
-rw-r--r--tests/auto/language/testdata/module-prioritization-by-search-path/project.qbs2
-rw-r--r--tests/auto/language/testdata/module-property-overrides-per-product.qbs2
-rw-r--r--tests/auto/language/testdata/moduleproperties.qbs2
-rw-r--r--tests/auto/language/testdata/modulepropertiesingroups.qbs2
-rw-r--r--tests/auto/language/testdata/modules/dummy2/dummy2.qbs2
-rw-r--r--tests/auto/language/testdata/modules/dummy3_loader/dummy3_loader.qbs2
-rw-r--r--tests/auto/language/testdata/modules/dummyqt/core/dummycore.qbs2
-rw-r--r--tests/auto/language/testdata/modules/dummyqt/gui/dummygui.qbs2
-rw-r--r--tests/auto/language/testdata/modules/dummyqt/network/dummynetwork.qbs2
-rw-r--r--tests/auto/language/testdata/modules/gmod/gmod1/gmod1.qbs2
-rw-r--r--tests/auto/language/testdata/modules/gmod2/gmod2.qbs2
-rw-r--r--tests/auto/language/testdata/modules/gmod3/qmod3.qbs2
-rw-r--r--tests/auto/language/testdata/modules/gmod4/gmod4.qbs2
-rw-r--r--tests/auto/language/testdata/modules/multiple_backends/backend1.qbs2
-rw-r--r--tests/auto/language/testdata/modules/multiple_backends/backend2.qbs2
-rw-r--r--tests/auto/language/testdata/modules/multiple_backends/backend3.qbs2
-rw-r--r--tests/auto/language/testdata/modules/scopemod/scopemod.qbs2
-rw-r--r--tests/auto/language/testdata/modulescope.qbs1
-rw-r--r--tests/auto/language/testdata/modulescope_base.qbs2
-rw-r--r--tests/auto/language/testdata/multiplexed-exports.qbs2
-rw-r--r--tests/auto/language/testdata/multiplexing-by-profile/p1.qbs2
-rw-r--r--tests/auto/language/testdata/multiplexing-by-profile/p2.qbs2
-rw-r--r--tests/auto/language/testdata/multiplexing-by-profile/p3.qbs2
-rw-r--r--tests/auto/language/testdata/multiplexing-by-profile/p4.qbs2
-rw-r--r--tests/auto/language/testdata/non-required-products.qbs2
-rw-r--r--tests/auto/language/testdata/outerInGroup.qbs2
-rw-r--r--tests/auto/language/testdata/overridden-properties-and-prototypes.qbs2
-rw-r--r--tests/auto/language/testdata/parameter-types.qbs2
-rw-r--r--tests/auto/language/testdata/productconditions.qbs1
-rw-r--r--tests/auto/language/testdata/productdirectories.qbs2
-rw-r--r--tests/auto/language/testdata/profilevaluesandoverriddenvalues.qbs2
-rw-r--r--tests/auto/language/testdata/properties-block-in-group.qbs2
-rw-r--r--tests/auto/language/testdata/properties-item-in-module.qbs2
-rw-r--r--tests/auto/language/testdata/propertiesblocks.qbs1
-rw-r--r--tests/auto/language/testdata/propertiesblocks_base.qbs2
-rw-r--r--tests/auto/language/testdata/property-assignment-in-exported-group.qbs2
-rw-r--r--tests/auto/language/testdata/qbs-properties-in-project-condition.qbs2
-rw-r--r--tests/auto/language/testdata/qbs-property-convenience-override.qbs2
-rw-r--r--tests/auto/language/testdata/qbs1275.qbs2
-rw-r--r--tests/auto/language/testdata/recursive-dependencies/recursive-dependencies.qbs2
-rw-r--r--tests/auto/language/testdata/relaxed-error-mode/relaxed-error-mode.qbs2
-rw-r--r--tests/auto/language/testdata/required-and-nonrequired-dependencies/complicated.qbs2
-rw-r--r--tests/auto/language/testdata/required-and-nonrequired-dependencies/dependency-via-export.qbs2
-rw-r--r--tests/auto/language/testdata/required-and-nonrequired-dependencies/dependency-via-module.qbs2
-rw-r--r--tests/auto/language/testdata/required-and-nonrequired-dependencies/direct-dependencies.qbs2
-rw-r--r--tests/auto/language/testdata/required-and-nonrequired-dependencies/modules/failing-validation-indirect/failing-validation-indirect.qbs2
-rw-r--r--tests/auto/language/testdata/required-and-nonrequired-dependencies/modules/failing-validation/failing-validation.qbs2
-rw-r--r--tests/auto/language/testdata/required-and-nonrequired-dependencies/required-chain-export-indirect.qbs2
-rw-r--r--tests/auto/language/testdata/required-and-nonrequired-dependencies/required-chain-export.qbs2
-rw-r--r--tests/auto/language/testdata/required-and-nonrequired-dependencies/required-chain-module.qbs2
-rw-r--r--tests/auto/language/testdata/rfc1034identifier.qbs6
-rw-r--r--tests/auto/language/testdata/subdir/exports-mylib.qbs2
-rw-r--r--tests/auto/language/testdata/subdir2/exports-mylib2.qbs2
-rw-r--r--tests/auto/language/testdata/suppressed-and-non-suppressed-errors.qbs2
-rw-r--r--tests/auto/language/testdata/throwing-probe.qbs2
-rw-r--r--tests/auto/language/testdata/versionCompare.qbs1
-rw-r--r--tests/auto/language/tst_language.cpp33
-rw-r--r--tests/auto/shared.h75
-rw-r--r--tests/benchmarker/benchmarker.qbs7
-rw-r--r--tests/fuzzy-test/fuzzy-test.qbs7
-rw-r--r--tests/tests.qbs3
747 files changed, 2834 insertions, 1627 deletions
diff --git a/tests/auto/api/testdata/QBS-728/QBS-728.qbs b/tests/auto/api/testdata/QBS-728/QBS-728.qbs
index a3090f7ae..5969e13cc 100644
--- a/tests/auto/api/testdata/QBS-728/QBS-728.qbs
+++ b/tests/auto/api/testdata/QBS-728/QBS-728.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
property bool isBlubbOS: qbs.targetOS.contains("blubb-OS")
qbs.profiles: isBlubbOS ? ["blubb-profile"] : [project.profile]
diff --git a/tests/auto/api/testdata/add-qobject-macro-to-cpp-file/add-qobject-macro-to-cpp-file.qbs b/tests/auto/api/testdata/add-qobject-macro-to-cpp-file/add-qobject-macro-to-cpp-file.qbs
index 40c5395ef..3794408b4 100644
--- a/tests/auto/api/testdata/add-qobject-macro-to-cpp-file/add-qobject-macro-to-cpp-file.qbs
+++ b/tests/auto/api/testdata/add-qobject-macro-to-cpp-file/add-qobject-macro-to-cpp-file.qbs
@@ -1,5 +1,3 @@
-import qbs
-
QtApplication {
files: ["main.cpp", "object.h", "object.cpp"]
}
diff --git a/tests/auto/api/testdata/added-file-persistent/added-file-persistent.qbs b/tests/auto/api/testdata/added-file-persistent/added-file-persistent.qbs
index 672886646..1f3b28f9b 100644
--- a/tests/auto/api/testdata/added-file-persistent/added-file-persistent.qbs
+++ b/tests/auto/api/testdata/added-file-persistent/added-file-persistent.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
files: [
'main.cpp',
diff --git a/tests/auto/api/testdata/app-without-sources/app-without-sources.qbs b/tests/auto/api/testdata/app-without-sources/app-without-sources.qbs
index f12a28fe6..a366e0ce0 100644
--- a/tests/auto/api/testdata/app-without-sources/app-without-sources.qbs
+++ b/tests/auto/api/testdata/app-without-sources/app-without-sources.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
StaticLibrary {
name: "a"
diff --git a/tests/auto/api/testdata/base-properties/imports/Bar.qbs b/tests/auto/api/testdata/base-properties/imports/Bar.qbs
index 07ab724e4..cef4cb463 100644
--- a/tests/auto/api/testdata/base-properties/imports/Bar.qbs
+++ b/tests/auto/api/testdata/base-properties/imports/Bar.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Product {
Depends { name: "cpp" }
cpp.defines: ["FROM_BAR"]
diff --git a/tests/auto/api/testdata/base-properties/imports/Foo.qbs b/tests/auto/api/testdata/base-properties/imports/Foo.qbs
index f177a17c3..1d90a1c10 100644
--- a/tests/auto/api/testdata/base-properties/imports/Foo.qbs
+++ b/tests/auto/api/testdata/base-properties/imports/Foo.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Bar {
type: "application"
consoleApplication: true
diff --git a/tests/auto/api/testdata/base-properties/prj.qbs b/tests/auto/api/testdata/base-properties/prj.qbs
index a43b930dc..f7035ba0f 100644
--- a/tests/auto/api/testdata/base-properties/prj.qbs
+++ b/tests/auto/api/testdata/base-properties/prj.qbs
@@ -1,4 +1,3 @@
-import qbs 1.0
import "imports/Foo.qbs" as Foo
Project {
diff --git a/tests/auto/api/testdata/build-error-code-location/build-error-code-location.qbs b/tests/auto/api/testdata/build-error-code-location/build-error-code-location.qbs
index f51e91e1f..afa7e1f2a 100644
--- a/tests/auto/api/testdata/build-error-code-location/build-error-code-location.qbs
+++ b/tests/auto/api/testdata/build-error-code-location/build-error-code-location.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
name: "p"
type: ["p.out"]
diff --git a/tests/auto/api/testdata/build-properties-source/build-properties-source.qbs b/tests/auto/api/testdata/build-properties-source/build-properties-source.qbs
index 485bca79d..571feced8 100644
--- a/tests/auto/api/testdata/build-properties-source/build-properties-source.qbs
+++ b/tests/auto/api/testdata/build-properties-source/build-properties-source.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
Product {
type: "application"
diff --git a/tests/auto/api/testdata/build-single-file/build-single-file.qbs b/tests/auto/api/testdata/build-single-file/build-single-file.qbs
index eeb38a5ff..903a52f9d 100644
--- a/tests/auto/api/testdata/build-single-file/build-single-file.qbs
+++ b/tests/auto/api/testdata/build-single-file/build-single-file.qbs
@@ -1,7 +1,7 @@
-import qbs
import qbs.TextFile
CppApplication {
+ consoleApplication: true
files: ["ignored1.cpp", "ignored2.cpp", "compiled.cpp"]
cpp.includePaths: [buildDirectory]
@@ -10,10 +10,8 @@ CppApplication {
fileTags: ["cpp_pch_src"]
}
- Group {
- fileTagsFilter: ["application"]
- qbs.install: true
- }
+ install: true
+ installDir: ""
Rule {
multiplex: true
diff --git a/tests/auto/api/testdata/buildgraph-info/buildgraph-info.qbs b/tests/auto/api/testdata/buildgraph-info/buildgraph-info.qbs
index 8828f3a19..d1762513e 100644
--- a/tests/auto/api/testdata/buildgraph-info/buildgraph-info.qbs
+++ b/tests/auto/api/testdata/buildgraph-info/buildgraph-info.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
qbs.shellPath: "/bin/bash"
}
diff --git a/tests/auto/api/testdata/buildgraph-locking/buildgraph-locking.qbs b/tests/auto/api/testdata/buildgraph-locking/buildgraph-locking.qbs
index e08b008bc..5e7259ea6 100644
--- a/tests/auto/api/testdata/buildgraph-locking/buildgraph-locking.qbs
+++ b/tests/auto/api/testdata/buildgraph-locking/buildgraph-locking.qbs
@@ -1,4 +1,2 @@
-import qbs
-
Project {
}
diff --git a/tests/auto/api/testdata/change-dependent-lib/change-dependent-lib.qbs b/tests/auto/api/testdata/change-dependent-lib/change-dependent-lib.qbs
index f52c90055..222dc4476 100644
--- a/tests/auto/api/testdata/change-dependent-lib/change-dependent-lib.qbs
+++ b/tests/auto/api/testdata/change-dependent-lib/change-dependent-lib.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
Application {
name : "HelloWorld"
diff --git a/tests/auto/api/testdata/check-outputs/check-outputs.qbs b/tests/auto/api/testdata/check-outputs/check-outputs.qbs
index 27eada48f..519a95ea8 100644
--- a/tests/auto/api/testdata/check-outputs/check-outputs.qbs
+++ b/tests/auto/api/testdata/check-outputs/check-outputs.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.File
Project {
diff --git a/tests/auto/api/testdata/codegen/codegen.qbs b/tests/auto/api/testdata/codegen/codegen.qbs
index fac13f860..d8a217572 100644
--- a/tests/auto/api/testdata/codegen/codegen.qbs
+++ b/tests/auto/api/testdata/codegen/codegen.qbs
@@ -1,4 +1,3 @@
-import qbs 1.0
import qbs.FileInfo
Project {
diff --git a/tests/auto/api/testdata/command-extraction/command-extraction.qbs b/tests/auto/api/testdata/command-extraction/command-extraction.qbs
index 73b66aaa0..253992dd0 100644
--- a/tests/auto/api/testdata/command-extraction/command-extraction.qbs
+++ b/tests/auto/api/testdata/command-extraction/command-extraction.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
files: "main.cpp"
}
diff --git a/tests/auto/api/testdata/disabled-product/disabled-product.qbs b/tests/auto/api/testdata/disabled-product/disabled-product.qbs
index c57615c10..dad8f5d4c 100644
--- a/tests/auto/api/testdata/disabled-product/disabled-product.qbs
+++ b/tests/auto/api/testdata/disabled-product/disabled-product.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
condition: false
files: "main.cpp"
diff --git a/tests/auto/api/testdata/disabled-project/disabled-project.qbs b/tests/auto/api/testdata/disabled-project/disabled-project.qbs
index 1461b70ad..49f35be94 100644
--- a/tests/auto/api/testdata/disabled-project/disabled-project.qbs
+++ b/tests/auto/api/testdata/disabled-project/disabled-project.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.File
Project {
diff --git a/tests/auto/api/testdata/disabled_install_group/disabled_install_group.qbs b/tests/auto/api/testdata/disabled_install_group/disabled_install_group.qbs
index b80af6e8a..c300f6390 100644
--- a/tests/auto/api/testdata/disabled_install_group/disabled_install_group.qbs
+++ b/tests/auto/api/testdata/disabled_install_group/disabled_install_group.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
consoleApplication: true
files: "main.cpp"
diff --git a/tests/auto/api/testdata/duplicate-product-names/explicit.qbs b/tests/auto/api/testdata/duplicate-product-names/explicit.qbs
index 0183b411c..b9a97bf53 100644
--- a/tests/auto/api/testdata/duplicate-product-names/explicit.qbs
+++ b/tests/auto/api/testdata/duplicate-product-names/explicit.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Product { name: "blubb" }
Product { name: "blubb" }
diff --git a/tests/auto/api/testdata/duplicate-product-names/implicit-indirect.qbs b/tests/auto/api/testdata/duplicate-product-names/implicit-indirect.qbs
index 7164aa1c5..bc651c076 100644
--- a/tests/auto/api/testdata/duplicate-product-names/implicit-indirect.qbs
+++ b/tests/auto/api/testdata/duplicate-product-names/implicit-indirect.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
references: ["subdir1/subproject.qbs", "subdir2/subproject.qbs"]
}
diff --git a/tests/auto/api/testdata/duplicate-product-names/implicit.qbs b/tests/auto/api/testdata/duplicate-product-names/implicit.qbs
index f39f80626..409af1ab8 100644
--- a/tests/auto/api/testdata/duplicate-product-names/implicit.qbs
+++ b/tests/auto/api/testdata/duplicate-product-names/implicit.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Product { }
Product { }
diff --git a/tests/auto/api/testdata/duplicate-product-names/subdir1/subproject.qbs b/tests/auto/api/testdata/duplicate-product-names/subdir1/subproject.qbs
index 6d16a3c53..86718b571 100644
--- a/tests/auto/api/testdata/duplicate-product-names/subdir1/subproject.qbs
+++ b/tests/auto/api/testdata/duplicate-product-names/subdir1/subproject.qbs
@@ -1,3 +1 @@
-import qbs
-
Product { }
diff --git a/tests/auto/api/testdata/duplicate-product-names/subdir2/subproject.qbs b/tests/auto/api/testdata/duplicate-product-names/subdir2/subproject.qbs
index 6d16a3c53..86718b571 100644
--- a/tests/auto/api/testdata/duplicate-product-names/subdir2/subproject.qbs
+++ b/tests/auto/api/testdata/duplicate-product-names/subdir2/subproject.qbs
@@ -1,3 +1 @@
-import qbs
-
Product { }
diff --git a/tests/auto/api/testdata/empty-filetag-list/empty-filetag-list.qbs b/tests/auto/api/testdata/empty-filetag-list/empty-filetag-list.qbs
index 294616124..a13065db0 100644
--- a/tests/auto/api/testdata/empty-filetag-list/empty-filetag-list.qbs
+++ b/tests/auto/api/testdata/empty-filetag-list/empty-filetag-list.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
Group {
files: "dontcompilethis.cpp"
diff --git a/tests/auto/api/testdata/empty-submodules-list/empty-submodules-list.qbs b/tests/auto/api/testdata/empty-submodules-list/empty-submodules-list.qbs
index 88b5e3177..b39b1ebcc 100644
--- a/tests/auto/api/testdata/empty-submodules-list/empty-submodules-list.qbs
+++ b/tests/auto/api/testdata/empty-submodules-list/empty-submodules-list.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
Depends {
name: "dummy"
diff --git a/tests/auto/api/testdata/enable-and-disable-product/enable-and-disable-product.qbs b/tests/auto/api/testdata/enable-and-disable-product/enable-and-disable-product.qbs
index 4afa1e25e..fc90377af 100644
--- a/tests/auto/api/testdata/enable-and-disable-product/enable-and-disable-product.qbs
+++ b/tests/auto/api/testdata/enable-and-disable-product/enable-and-disable-product.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
property string prop: undefined // Influences source artifact properties and the product condition
condition: prop
diff --git a/tests/auto/api/testdata/error-in-setup-run-environment/error-in-setup-run-environment.qbs b/tests/auto/api/testdata/error-in-setup-run-environment/error-in-setup-run-environment.qbs
index f3247f6f8..63a79551b 100644
--- a/tests/auto/api/testdata/error-in-setup-run-environment/error-in-setup-run-environment.qbs
+++ b/tests/auto/api/testdata/error-in-setup-run-environment/error-in-setup-run-environment.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
Depends { name: "mymodule" }
}
diff --git a/tests/auto/api/testdata/error-in-setup-run-environment/modules/mymodule/mymodule.qbs b/tests/auto/api/testdata/error-in-setup-run-environment/modules/mymodule/mymodule.qbs
index e698b45b5..1b136fdb9 100644
--- a/tests/auto/api/testdata/error-in-setup-run-environment/modules/mymodule/mymodule.qbs
+++ b/tests/auto/api/testdata/error-in-setup-run-environment/modules/mymodule/mymodule.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
setupRunEnvironment: {
trallala
diff --git a/tests/auto/api/testdata/excluded-inputs/excluded-inputs.qbs b/tests/auto/api/testdata/excluded-inputs/excluded-inputs.qbs
index faa51d3b9..7633b3ebe 100644
--- a/tests/auto/api/testdata/excluded-inputs/excluded-inputs.qbs
+++ b/tests/auto/api/testdata/excluded-inputs/excluded-inputs.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.File
import qbs.TextFile
diff --git a/tests/auto/api/testdata/explicitly-depends-on/explicitly-depends-on.qbs b/tests/auto/api/testdata/explicitly-depends-on/explicitly-depends-on.qbs
index 17aa74697..05886a99e 100644
--- a/tests/auto/api/testdata/explicitly-depends-on/explicitly-depends-on.qbs
+++ b/tests/auto/api/testdata/explicitly-depends-on/explicitly-depends-on.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.FileInfo
import qbs.TextFile
diff --git a/tests/auto/api/testdata/export-item-with-group/export-item-with-group.qbs b/tests/auto/api/testdata/export-item-with-group/export-item-with-group.qbs
index 30f1868cb..b2079e95f 100644
--- a/tests/auto/api/testdata/export-item-with-group/export-item-with-group.qbs
+++ b/tests/auto/api/testdata/export-item-with-group/export-item-with-group.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Product {
name: "dep"
diff --git a/tests/auto/api/testdata/export-simple/export-simple.qbs b/tests/auto/api/testdata/export-simple/export-simple.qbs
index d07bb0d1a..01177049d 100644
--- a/tests/auto/api/testdata/export-simple/export-simple.qbs
+++ b/tests/auto/api/testdata/export-simple/export-simple.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
Application {
name : "HelloWorld"
diff --git a/tests/auto/api/testdata/export-with-recursive-depends/export-with-recursive-depends.qbs b/tests/auto/api/testdata/export-with-recursive-depends/export-with-recursive-depends.qbs
index d5f5f79e5..937a73e21 100644
--- a/tests/auto/api/testdata/export-with-recursive-depends/export-with-recursive-depends.qbs
+++ b/tests/auto/api/testdata/export-with-recursive-depends/export-with-recursive-depends.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
CppApplication {
name: "app1"
diff --git a/tests/auto/api/testdata/export-with-recursive-depends/modules/module1/module1.qbs b/tests/auto/api/testdata/export-with-recursive-depends/modules/module1/module1.qbs
index c1c4ad358..c7aadde69 100644
--- a/tests/auto/api/testdata/export-with-recursive-depends/modules/module1/module1.qbs
+++ b/tests/auto/api/testdata/export-with-recursive-depends/modules/module1/module1.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
Depends { name: "module2" }
}
diff --git a/tests/auto/api/testdata/export-with-recursive-depends/modules/module2/module2.qbs b/tests/auto/api/testdata/export-with-recursive-depends/modules/module2/module2.qbs
index 75a274631..2b5f6014e 100644
--- a/tests/auto/api/testdata/export-with-recursive-depends/modules/module2/module2.qbs
+++ b/tests/auto/api/testdata/export-with-recursive-depends/modules/module2/module2.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
Depends { name: "cpp" }
cpp.defines: ["HAS_FOO"]
diff --git a/tests/auto/api/testdata/fallback-gcc/fallback-gcc.qbs b/tests/auto/api/testdata/fallback-gcc/fallback-gcc.qbs
index 8b3b63e65..e2fb255ad 100644
--- a/tests/auto/api/testdata/fallback-gcc/fallback-gcc.qbs
+++ b/tests/auto/api/testdata/fallback-gcc/fallback-gcc.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
name: "app"
cpp._skipAllChecks: true
diff --git a/tests/auto/api/testdata/file-tagger/moc_cpp.qbs b/tests/auto/api/testdata/file-tagger/moc_cpp.qbs
index fd07730dc..43fa5f330 100644
--- a/tests/auto/api/testdata/file-tagger/moc_cpp.qbs
+++ b/tests/auto/api/testdata/file-tagger/moc_cpp.qbs
@@ -1,4 +1,3 @@
-import qbs 1.0
import qbs.TextFile
import qbs.FileInfo
diff --git a/tests/auto/api/testdata/filetagsfilter_override/InstalledApp.qbs b/tests/auto/api/testdata/filetagsfilter_override/InstalledApp.qbs
index 633410c3c..21db6b37a 100644
--- a/tests/auto/api/testdata/filetagsfilter_override/InstalledApp.qbs
+++ b/tests/auto/api/testdata/filetagsfilter_override/InstalledApp.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
type: "application"
consoleApplication: true
diff --git a/tests/auto/api/testdata/filetagsfilter_override/filetagsfilter_override.qbs b/tests/auto/api/testdata/filetagsfilter_override/filetagsfilter_override.qbs
index a6cec7d07..6483e8851 100644
--- a/tests/auto/api/testdata/filetagsfilter_override/filetagsfilter_override.qbs
+++ b/tests/auto/api/testdata/filetagsfilter_override/filetagsfilter_override.qbs
@@ -1,4 +1,3 @@
-import qbs
import "InstalledApp.qbs" as InstalledApp
InstalledApp {
diff --git a/tests/auto/api/testdata/generated-files-list/generated-files-list.qbs b/tests/auto/api/testdata/generated-files-list/generated-files-list.qbs
index 30f7bc695..666d72645 100644
--- a/tests/auto/api/testdata/generated-files-list/generated-files-list.qbs
+++ b/tests/auto/api/testdata/generated-files-list/generated-files-list.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
Depends { name: "Qt.widgets" }
consoleApplication: true
diff --git a/tests/auto/api/testdata/infinite-loop-js/infinite-loop.qbs b/tests/auto/api/testdata/infinite-loop-js/infinite-loop.qbs
index 592c602ec..bb616a9e2 100644
--- a/tests/auto/api/testdata/infinite-loop-js/infinite-loop.qbs
+++ b/tests/auto/api/testdata/infinite-loop-js/infinite-loop.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
type: "mytype"
Rule {
diff --git a/tests/auto/api/testdata/infinite-loop-process/infinite-loop.qbs b/tests/auto/api/testdata/infinite-loop-process/infinite-loop.qbs
index 6155baf28..f0de12df1 100644
--- a/tests/auto/api/testdata/infinite-loop-process/infinite-loop.qbs
+++ b/tests/auto/api/testdata/infinite-loop-process/infinite-loop.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
CppApplication {
type: "application"
@@ -14,10 +12,7 @@ Project {
Depends { name: "infinite-loop" }
Rule {
inputsFromDependencies: "application"
- Artifact {
- filePath: "dummy"
- fileTags: "mytype"
- }
+ outputFileTags: "mytype"
prepare: {
var cmd = new Command(inputs["application"][0].filePath);
cmd.description = "Calling application that runs forever";
diff --git a/tests/auto/api/testdata/infinite-loop-resolving/infinite-loop-resolving.qbs b/tests/auto/api/testdata/infinite-loop-resolving/infinite-loop-resolving.qbs
index b690f5041..e9d0db418 100644
--- a/tests/auto/api/testdata/infinite-loop-resolving/infinite-loop-resolving.qbs
+++ b/tests/auto/api/testdata/infinite-loop-resolving/infinite-loop-resolving.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
type: { while (true); return "Haha!"; }
}
diff --git a/tests/auto/api/testdata/inherit-qbs-search-paths/imports/Foo.qbs b/tests/auto/api/testdata/inherit-qbs-search-paths/imports/Foo.qbs
index 9493b04b5..8920c0fc6 100644
--- a/tests/auto/api/testdata/inherit-qbs-search-paths/imports/Foo.qbs
+++ b/tests/auto/api/testdata/inherit-qbs-search-paths/imports/Foo.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Product {
type: "application"
consoleApplication: true
diff --git a/tests/auto/api/testdata/inherit-qbs-search-paths/prj.qbs b/tests/auto/api/testdata/inherit-qbs-search-paths/prj.qbs
index 0e8162809..d79a1ed70 100644
--- a/tests/auto/api/testdata/inherit-qbs-search-paths/prj.qbs
+++ b/tests/auto/api/testdata/inherit-qbs-search-paths/prj.qbs
@@ -1,4 +1,3 @@
-import qbs 1.0
import "imports/Foo.qbs" as Foo
Project {
diff --git a/tests/auto/api/testdata/inherit-qbs-search-paths/subdir/modules/bli/m.qbs b/tests/auto/api/testdata/inherit-qbs-search-paths/subdir/modules/bli/m.qbs
index b4b93678a..34ac9e8e9 100644
--- a/tests/auto/api/testdata/inherit-qbs-search-paths/subdir/modules/bli/m.qbs
+++ b/tests/auto/api/testdata/inherit-qbs-search-paths/subdir/modules/bli/m.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Module {
Depends {name : "cpp" }
cpp.defines: ["HAVE_BLI"]
diff --git a/tests/auto/api/testdata/inherit-qbs-search-paths/subdir2/modules/bla/m.qbs b/tests/auto/api/testdata/inherit-qbs-search-paths/subdir2/modules/bla/m.qbs
index 0676d0c4d..de93f18e8 100644
--- a/tests/auto/api/testdata/inherit-qbs-search-paths/subdir2/modules/bla/m.qbs
+++ b/tests/auto/api/testdata/inherit-qbs-search-paths/subdir2/modules/bla/m.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Module {
Depends {name : "cpp" }
cpp.defines: ["HAVE_BLA"]
diff --git a/tests/auto/api/testdata/installed-artifact/installed-artifact.qbs b/tests/auto/api/testdata/installed-artifact/installed-artifact.qbs
index e2d18b2ea..d3f91662a 100644
--- a/tests/auto/api/testdata/installed-artifact/installed-artifact.qbs
+++ b/tests/auto/api/testdata/installed-artifact/installed-artifact.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
CppApplication {
@@ -18,11 +16,8 @@ Project {
qbs.installDir: "src"
}
qbs.installPrefix: "/usr"
- Group {
- fileTagsFilter: "application"
- qbs.install: true
- qbs.installDir: "bin"
- }
+ install: true
+ installDir: "bin"
Group {
fileTagsFilter: "obj"
qbs.install: true
diff --git a/tests/auto/api/testdata/is-runnable/is-runnable.qbs b/tests/auto/api/testdata/is-runnable/is-runnable.qbs
index 2883328ed..870279294 100644
--- a/tests/auto/api/testdata/is-runnable/is-runnable.qbs
+++ b/tests/auto/api/testdata/is-runnable/is-runnable.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
CppApplication {
name: "app"
diff --git a/tests/auto/api/testdata/lib-same-source/lib-same-source.qbs b/tests/auto/api/testdata/lib-same-source/lib-same-source.qbs
index dc5785e98..97a614eb8 100644
--- a/tests/auto/api/testdata/lib-same-source/lib-same-source.qbs
+++ b/tests/auto/api/testdata/lib-same-source/lib-same-source.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
Product {
type: "application"
diff --git a/tests/auto/api/testdata/link-dynamiclibs-staticlibs/link-dynamiclibs-staticlibs.qbs b/tests/auto/api/testdata/link-dynamiclibs-staticlibs/link-dynamiclibs-staticlibs.qbs
index 8fec45700..b2a54080c 100644
--- a/tests/auto/api/testdata/link-dynamiclibs-staticlibs/link-dynamiclibs-staticlibs.qbs
+++ b/tests/auto/api/testdata/link-dynamiclibs-staticlibs/link-dynamiclibs-staticlibs.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
Application {
name : "HelloWorld"
diff --git a/tests/auto/api/testdata/link-dynamiclibs/link-dynamiclibs.qbs b/tests/auto/api/testdata/link-dynamiclibs/link-dynamiclibs.qbs
index d6047060c..cc86a4402 100644
--- a/tests/auto/api/testdata/link-dynamiclibs/link-dynamiclibs.qbs
+++ b/tests/auto/api/testdata/link-dynamiclibs/link-dynamiclibs.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
Application {
name : "HelloWorld"
diff --git a/tests/auto/api/testdata/link-static-lib/link-static-lib.qbs b/tests/auto/api/testdata/link-static-lib/link-static-lib.qbs
index 6840a4cc6..6960c7d17 100644
--- a/tests/auto/api/testdata/link-static-lib/link-static-lib.qbs
+++ b/tests/auto/api/testdata/link-static-lib/link-static-lib.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
Product {
type: "application"
diff --git a/tests/auto/api/testdata/link-staticlib-dynamiclib/link-staticlib-dynamiclib.qbs b/tests/auto/api/testdata/link-staticlib-dynamiclib/link-staticlib-dynamiclib.qbs
index a14cde651..8573b2f60 100644
--- a/tests/auto/api/testdata/link-staticlib-dynamiclib/link-staticlib-dynamiclib.qbs
+++ b/tests/auto/api/testdata/link-staticlib-dynamiclib/link-staticlib-dynamiclib.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
CppApplication {
Depends { name: "mystaticlib" }
diff --git a/tests/auto/api/testdata/link-staticlibs-dynamiclibs/link-staticlibs-dynamiclibs.qbs b/tests/auto/api/testdata/link-staticlibs-dynamiclibs/link-staticlibs-dynamiclibs.qbs
index eafa764ba..eade97126 100644
--- a/tests/auto/api/testdata/link-staticlibs-dynamiclibs/link-staticlibs-dynamiclibs.qbs
+++ b/tests/auto/api/testdata/link-staticlibs-dynamiclibs/link-staticlibs-dynamiclibs.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
Application {
name : "HelloWorld"
diff --git a/tests/auto/api/testdata/local-profiles/local-profiles.qbs b/tests/auto/api/testdata/local-profiles/local-profiles.qbs
index 7832cab58..c6091f9f5 100644
--- a/tests/auto/api/testdata/local-profiles/local-profiles.qbs
+++ b/tests/auto/api/testdata/local-profiles/local-profiles.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
property string windowsProfile: "windowsProfile"
property bool enableProfiles
diff --git a/tests/auto/api/testdata/lots-of-dots/lots-of-dots.qbs b/tests/auto/api/testdata/lots-of-dots/lots-of-dots.qbs
index 904cbcf66..096fcaf0c 100644
--- a/tests/auto/api/testdata/lots-of-dots/lots-of-dots.qbs
+++ b/tests/auto/api/testdata/lots-of-dots/lots-of-dots.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
QtGuiApplication {
type: "application"
diff --git a/tests/auto/api/testdata/missing-source-file/missing-source-file.qbs b/tests/auto/api/testdata/missing-source-file/missing-source-file.qbs
index db666f9fd..bc17bc7dd 100644
--- a/tests/auto/api/testdata/missing-source-file/missing-source-file.qbs
+++ b/tests/auto/api/testdata/missing-source-file/missing-source-file.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
files: [
"file1.txt",
diff --git a/tests/auto/api/testdata/moc-cpp/moc-cpp.qbs b/tests/auto/api/testdata/moc-cpp/moc-cpp.qbs
index f8ee0736b..a6445a399 100644
--- a/tests/auto/api/testdata/moc-cpp/moc-cpp.qbs
+++ b/tests/auto/api/testdata/moc-cpp/moc-cpp.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
Product {
type: "application"
diff --git a/tests/auto/api/testdata/moc-hpp-included/moc-hpp-included.qbs b/tests/auto/api/testdata/moc-hpp-included/moc-hpp-included.qbs
index b954d09f0..a484b9c22 100644
--- a/tests/auto/api/testdata/moc-hpp-included/moc-hpp-included.qbs
+++ b/tests/auto/api/testdata/moc-hpp-included/moc-hpp-included.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
Product {
type: "application"
diff --git a/tests/auto/api/testdata/moc-hpp/moc-hpp.qbs b/tests/auto/api/testdata/moc-hpp/moc-hpp.qbs
index f90ee4240..27120aade 100644
--- a/tests/auto/api/testdata/moc-hpp/moc-hpp.qbs
+++ b/tests/auto/api/testdata/moc-hpp/moc-hpp.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
Product {
type: "application"
diff --git a/tests/auto/api/testdata/multi-arch/multi-arch.qbs b/tests/auto/api/testdata/multi-arch/multi-arch.qbs
index d54809a41..71a66dfc7 100644
--- a/tests/auto/api/testdata/multi-arch/multi-arch.qbs
+++ b/tests/auto/api/testdata/multi-arch/multi-arch.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.FileInfo
import qbs.TextFile
@@ -14,6 +13,7 @@ Project {
files: "host+target.input"
fileTags: "input"
}
+ qbs.installPrefix: ""
Group {
fileTagsFilter: "output"
qbs.install: true
@@ -28,6 +28,7 @@ Project {
files: "host-tool.input"
fileTags: "input"
}
+ qbs.installPrefix: ""
Group {
fileTagsFilter: "output"
qbs.install: true
diff --git a/tests/auto/api/testdata/multiplexing/multiplexing.qbs b/tests/auto/api/testdata/multiplexing/multiplexing.qbs
index 3d099eb7a..8011e4250 100644
--- a/tests/auto/api/testdata/multiplexing/multiplexing.qbs
+++ b/tests/auto/api/testdata/multiplexing/multiplexing.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.TextFile
Project {
diff --git a/tests/auto/api/testdata/new-output-artifact-in-dependency/new-output-artifact-in-dependency.qbs b/tests/auto/api/testdata/new-output-artifact-in-dependency/new-output-artifact-in-dependency.qbs
index 8b50cce2a..5c3e475b0 100644
--- a/tests/auto/api/testdata/new-output-artifact-in-dependency/new-output-artifact-in-dependency.qbs
+++ b/tests/auto/api/testdata/new-output-artifact-in-dependency/new-output-artifact-in-dependency.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
DynamicLibrary {
//Depends { name: "cpp" }
diff --git a/tests/auto/api/testdata/new-pattern-match/new-pattern-match.qbs b/tests/auto/api/testdata/new-pattern-match/new-pattern-match.qbs
index 18975da75..f4e0856f9 100644
--- a/tests/auto/api/testdata/new-pattern-match/new-pattern-match.qbs
+++ b/tests/auto/api/testdata/new-pattern-match/new-pattern-match.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
files: "*.txt"
}
diff --git a/tests/auto/api/testdata/nonexistingprojectproperties/invalidaccessfromproduct.qbs b/tests/auto/api/testdata/nonexistingprojectproperties/invalidaccessfromproduct.qbs
index c024b3c2c..5f479c1c5 100644
--- a/tests/auto/api/testdata/nonexistingprojectproperties/invalidaccessfromproduct.qbs
+++ b/tests/auto/api/testdata/nonexistingprojectproperties/invalidaccessfromproduct.qbs
@@ -1,3 +1 @@
-import qbs
-
Project { Product { type: project.blubb } }
diff --git a/tests/auto/api/testdata/nonexistingprojectproperties/nonexistingprojectproperties.qbs b/tests/auto/api/testdata/nonexistingprojectproperties/nonexistingprojectproperties.qbs
index 7d453a671..ba86b0ab7 100644
--- a/tests/auto/api/testdata/nonexistingprojectproperties/nonexistingprojectproperties.qbs
+++ b/tests/auto/api/testdata/nonexistingprojectproperties/nonexistingprojectproperties.qbs
@@ -1,3 +1 @@
-import qbs
-
Project { }
diff --git a/tests/auto/api/testdata/objc/objc.qbs b/tests/auto/api/testdata/objc/objc.qbs
index c88d4693c..845eb8d32 100644
--- a/tests/auto/api/testdata/objc/objc.qbs
+++ b/tests/auto/api/testdata/objc/objc.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
CppApplication {
condition: qbs.targetOS.contains("macos")
diff --git a/tests/auto/api/testdata/precompiled-header-dynamic/precompiled-header-dynamic.qbs b/tests/auto/api/testdata/precompiled-header-dynamic/precompiled-header-dynamic.qbs
index 46de774b9..2fd58d24e 100644
--- a/tests/auto/api/testdata/precompiled-header-dynamic/precompiled-header-dynamic.qbs
+++ b/tests/auto/api/testdata/precompiled-header-dynamic/precompiled-header-dynamic.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.File
CppApplication {
diff --git a/tests/auto/api/testdata/precompiled-header-new/precompiled-header-new.qbs b/tests/auto/api/testdata/precompiled-header-new/precompiled-header-new.qbs
index bb82ed248..059400a21 100644
--- a/tests/auto/api/testdata/precompiled-header-new/precompiled-header-new.qbs
+++ b/tests/auto/api/testdata/precompiled-header-new/precompiled-header-new.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
CppApplication {
name: "MyApp"
consoleApplication: true
diff --git a/tests/auto/api/testdata/process-result/process-result.qbs b/tests/auto/api/testdata/process-result/process-result.qbs
index 2aaf0626e..84706ace8 100644
--- a/tests/auto/api/testdata/process-result/process-result.qbs
+++ b/tests/auto/api/testdata/process-result/process-result.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
CppApplication {
name: "app"
@@ -15,11 +13,7 @@ Project {
property int argument
Rule {
inputsFromDependencies: ["application"]
- Artifact {
- filePath: "dummy"
- fileTags: product.type
- alwaysUpdated: false
- }
+ outputFileTags: "mytype"
prepare: {
var cmd = new Command(inputs["application"][0].filePath, [product.argument]);
if (product.redirectStdout)
diff --git a/tests/auto/api/testdata/productNameWithDots/productNameWithDots.qbs b/tests/auto/api/testdata/productNameWithDots/productNameWithDots.qbs
index 5e3427793..972598c42 100644
--- a/tests/auto/api/testdata/productNameWithDots/productNameWithDots.qbs
+++ b/tests/auto/api/testdata/productNameWithDots/productNameWithDots.qbs
@@ -1,4 +1,3 @@
-import qbs
Project {
CppApplication {
name: "myapp"
diff --git a/tests/auto/api/testdata/project-data-after-product-invalidation/project-data-after-product-invalidation.qbs b/tests/auto/api/testdata/project-data-after-product-invalidation/project-data-after-product-invalidation.qbs
index be68cac47..1794205b4 100644
--- a/tests/auto/api/testdata/project-data-after-product-invalidation/project-data-after-product-invalidation.qbs
+++ b/tests/auto/api/testdata/project-data-after-product-invalidation/project-data-after-product-invalidation.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
name: "theProduct"
files: [
diff --git a/tests/auto/api/testdata/project-editing/project-editing.qbs b/tests/auto/api/testdata/project-editing/project-editing.qbs
index 57cb30355..f8c0aef46 100644
--- a/tests/auto/api/testdata/project-editing/project-editing.qbs
+++ b/tests/auto/api/testdata/project-editing/project-editing.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
Group {
name: "Existing Group 1"
diff --git a/tests/auto/api/testdata/project-editing/project-with-no-files.qbs b/tests/auto/api/testdata/project-editing/project-with-no-files.qbs
index 824ae6dcd..b12ac6813 100644
--- a/tests/auto/api/testdata/project-editing/project-with-no-files.qbs
+++ b/tests/auto/api/testdata/project-editing/project-with-no-files.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
Group {
files: "file.cpp"
diff --git a/tests/auto/api/testdata/project-invalidation/project.early-error.qbs b/tests/auto/api/testdata/project-invalidation/project.early-error.qbs
index ecc76c816..701da0eab 100644
--- a/tests/auto/api/testdata/project-invalidation/project.early-error.qbs
+++ b/tests/auto/api/testdata/project-invalidation/project.early-error.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
type: "mytype"
files: "nosuchfile.txt"
diff --git a/tests/auto/api/testdata/project-invalidation/project.late-error.qbs b/tests/auto/api/testdata/project-invalidation/project.late-error.qbs
index 6bce6f2d3..ce033adbd 100644
--- a/tests/auto/api/testdata/project-invalidation/project.late-error.qbs
+++ b/tests/auto/api/testdata/project-invalidation/project.late-error.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
type: "mytype"
diff --git a/tests/auto/api/testdata/project-invalidation/project.no-error.qbs b/tests/auto/api/testdata/project-invalidation/project.no-error.qbs
index 099553ffc..f37cbd64b 100644
--- a/tests/auto/api/testdata/project-invalidation/project.no-error.qbs
+++ b/tests/auto/api/testdata/project-invalidation/project.no-error.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
type: "mytype"
}
diff --git a/tests/auto/api/testdata/project-locking/project-locking.qbs b/tests/auto/api/testdata/project-locking/project-locking.qbs
index e08b008bc..5e7259ea6 100644
--- a/tests/auto/api/testdata/project-locking/project-locking.qbs
+++ b/tests/auto/api/testdata/project-locking/project-locking.qbs
@@ -1,4 +1,2 @@
-import qbs
-
Project {
}
diff --git a/tests/auto/api/testdata/project-properties-by-name/project-properties-by-name.qbs b/tests/auto/api/testdata/project-properties-by-name/project-properties-by-name.qbs
index b90068f87..0bc9d3eab 100644
--- a/tests/auto/api/testdata/project-properties-by-name/project-properties-by-name.qbs
+++ b/tests/auto/api/testdata/project-properties-by-name/project-properties-by-name.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
name: "toplevel"
property stringList theDefines: []
diff --git a/tests/auto/api/testdata/project-with-properties-item/project-with-properties-item.qbs b/tests/auto/api/testdata/project-with-properties-item/project-with-properties-item.qbs
index 91d5de42f..866ec4ecb 100644
--- a/tests/auto/api/testdata/project-with-properties-item/project-with-properties-item.qbs
+++ b/tests/auto/api/testdata/project-with-properties-item/project-with-properties-item.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
property string binPath: "/usr/bin"
property string libPath: "/usr/lib"
diff --git a/tests/auto/api/testdata/properties-blocks/properties-blocks.qbs b/tests/auto/api/testdata/properties-blocks/properties-blocks.qbs
index 1b4c3680a..dda4652d2 100644
--- a/tests/auto/api/testdata/properties-blocks/properties-blocks.qbs
+++ b/tests/auto/api/testdata/properties-blocks/properties-blocks.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Product {
Depends { name: 'cpp' }
diff --git a/tests/auto/api/testdata/rc/rc.qbs b/tests/auto/api/testdata/rc/rc.qbs
index 3a5ce9cab..5b49c5de9 100644
--- a/tests/auto/api/testdata/rc/rc.qbs
+++ b/tests/auto/api/testdata/rc/rc.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Application {
type: "application"
consoleApplication: true
diff --git a/tests/auto/api/testdata/recursive-wildcards/recursive-wildcards.qbs b/tests/auto/api/testdata/recursive-wildcards/recursive-wildcards.qbs
index a1970e1c4..df54577f6 100644
--- a/tests/auto/api/testdata/recursive-wildcards/recursive-wildcards.qbs
+++ b/tests/auto/api/testdata/recursive-wildcards/recursive-wildcards.qbs
@@ -1,4 +1,5 @@
Product {
+ qbs.installPrefix: ""
Group {
files: "dir/**"
qbs.install: true
diff --git a/tests/auto/api/testdata/referenced-file-errors/cycle.qbs b/tests/auto/api/testdata/referenced-file-errors/cycle.qbs
index 72ad2b8b8..ec1a90921 100644
--- a/tests/auto/api/testdata/referenced-file-errors/cycle.qbs
+++ b/tests/auto/api/testdata/referenced-file-errors/cycle.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
property string productName: "p1"
Product { name: project.productName }
diff --git a/tests/auto/api/testdata/referenced-file-errors/modules/brokenmodule/brokenmodule.qbs b/tests/auto/api/testdata/referenced-file-errors/modules/brokenmodule/brokenmodule.qbs
index 861a73931..b52f12ccd 100644
--- a/tests/auto/api/testdata/referenced-file-errors/modules/brokenmodule/brokenmodule.qbs
+++ b/tests/auto/api/testdata/referenced-file-errors/modules/brokenmodule/brokenmodule.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
syntax error
}
diff --git a/tests/auto/api/testdata/referenced-file-errors/okay.qbs b/tests/auto/api/testdata/referenced-file-errors/okay.qbs
index 6ec8b1edd..4f88b3990 100644
--- a/tests/auto/api/testdata/referenced-file-errors/okay.qbs
+++ b/tests/auto/api/testdata/referenced-file-errors/okay.qbs
@@ -1,3 +1 @@
-import qbs
-
Product { name: "p2" }
diff --git a/tests/auto/api/testdata/referenced-file-errors/okay2.qbs b/tests/auto/api/testdata/referenced-file-errors/okay2.qbs
index f3b92dd93..0c5b26750 100644
--- a/tests/auto/api/testdata/referenced-file-errors/okay2.qbs
+++ b/tests/auto/api/testdata/referenced-file-errors/okay2.qbs
@@ -1,3 +1 @@
-import qbs
-
Product { name: "p4" }
diff --git a/tests/auto/api/testdata/referenced-file-errors/referenced-file-errors.qbs b/tests/auto/api/testdata/referenced-file-errors/referenced-file-errors.qbs
index b6b255ab3..eb33f1452 100644
--- a/tests/auto/api/testdata/referenced-file-errors/referenced-file-errors.qbs
+++ b/tests/auto/api/testdata/referenced-file-errors/referenced-file-errors.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
references: [
"ambiguousdir",
diff --git a/tests/auto/api/testdata/referenced-file-errors/wrongtype.qbs b/tests/auto/api/testdata/referenced-file-errors/wrongtype.qbs
index 9322b53b1..cd8c6471d 100644
--- a/tests/auto/api/testdata/referenced-file-errors/wrongtype.qbs
+++ b/tests/auto/api/testdata/referenced-file-errors/wrongtype.qbs
@@ -1,3 +1 @@
-import qbs
-
Module { }
diff --git a/tests/auto/api/testdata/references/invalid1.qbs b/tests/auto/api/testdata/references/invalid1.qbs
index 4bbb26d3a..ec4095d83 100644
--- a/tests/auto/api/testdata/references/invalid1.qbs
+++ b/tests/auto/api/testdata/references/invalid1.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
references: "subdir-with-no-project"
} \ No newline at end of file
diff --git a/tests/auto/api/testdata/references/invalid2.qbs b/tests/auto/api/testdata/references/invalid2.qbs
index 1946e2221..249c80b4f 100644
--- a/tests/auto/api/testdata/references/invalid2.qbs
+++ b/tests/auto/api/testdata/references/invalid2.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
references: "subdir-with-multiple-projects"
} \ No newline at end of file
diff --git a/tests/auto/api/testdata/references/subdir-with-one-project/p.qbs b/tests/auto/api/testdata/references/subdir-with-one-project/p.qbs
index 7d453a671..ba86b0ab7 100644
--- a/tests/auto/api/testdata/references/subdir-with-one-project/p.qbs
+++ b/tests/auto/api/testdata/references/subdir-with-one-project/p.qbs
@@ -1,3 +1 @@
-import qbs
-
Project { }
diff --git a/tests/auto/api/testdata/references/valid.qbs b/tests/auto/api/testdata/references/valid.qbs
index 43d728a4d..97ed7f564 100644
--- a/tests/auto/api/testdata/references/valid.qbs
+++ b/tests/auto/api/testdata/references/valid.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
references: "subdir-with-one-project"
}
diff --git a/tests/auto/api/testdata/relaxed-mode-recovery/relaxed-mode-recovery.qbs b/tests/auto/api/testdata/relaxed-mode-recovery/relaxed-mode-recovery.qbs
index b9e786a4b..7a066b694 100644
--- a/tests/auto/api/testdata/relaxed-mode-recovery/relaxed-mode-recovery.qbs
+++ b/tests/auto/api/testdata/relaxed-mode-recovery/relaxed-mode-recovery.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Product {
name: "dep"
diff --git a/tests/auto/api/testdata/remove-file-dependency/removeFileDependency.qbs b/tests/auto/api/testdata/remove-file-dependency/removeFileDependency.qbs
index 8ed927761..27bdf96c2 100644
--- a/tests/auto/api/testdata/remove-file-dependency/removeFileDependency.qbs
+++ b/tests/auto/api/testdata/remove-file-dependency/removeFileDependency.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
files: ["main.cpp"]
// Do not reference header files here to force them to be FileDependency objects.
diff --git a/tests/auto/api/testdata/rename-product/rename.qbs b/tests/auto/api/testdata/rename-product/rename.qbs
index 3e5d2da28..9d23bf804 100644
--- a/tests/auto/api/testdata/rename-product/rename.qbs
+++ b/tests/auto/api/testdata/rename-product/rename.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
CppApplication {
Depends { name: "TheLib" }
diff --git a/tests/auto/api/testdata/rename-target-artifact/rename.qbs b/tests/auto/api/testdata/rename-target-artifact/rename.qbs
index c5f267ed6..810b0eb08 100644
--- a/tests/auto/api/testdata/rename-target-artifact/rename.qbs
+++ b/tests/auto/api/testdata/rename-target-artifact/rename.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
CppApplication {
Depends { name: "TheLib" }
diff --git a/tests/auto/api/testdata/restored-warnings/restored-warnings.qbs b/tests/auto/api/testdata/restored-warnings/restored-warnings.qbs
index 2de943eda..bbdfbeadb 100644
--- a/tests/auto/api/testdata/restored-warnings/restored-warnings.qbs
+++ b/tests/auto/api/testdata/restored-warnings/restored-warnings.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.Process 1.5
CppApplication {
diff --git a/tests/auto/api/testdata/rule-conflict/rule-conflict.qbs b/tests/auto/api/testdata/rule-conflict/rule-conflict.qbs
index 5b839076e..7bd462f18 100644
--- a/tests/auto/api/testdata/rule-conflict/rule-conflict.qbs
+++ b/tests/auto/api/testdata/rule-conflict/rule-conflict.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
files: "main.cpp"
Group {
diff --git a/tests/auto/api/testdata/run-disabled-product/run-disabled-product.qbs b/tests/auto/api/testdata/run-disabled-product/run-disabled-product.qbs
index 7cdcf7db1..b187084dd 100644
--- a/tests/auto/api/testdata/run-disabled-product/run-disabled-product.qbs
+++ b/tests/auto/api/testdata/run-disabled-product/run-disabled-product.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
name: "app"
condition: false
diff --git a/tests/auto/api/testdata/same-base-name/same-base-name.qbs b/tests/auto/api/testdata/same-base-name/same-base-name.qbs
index c6a7a6fa3..8448d04fd 100644
--- a/tests/auto/api/testdata/same-base-name/same-base-name.qbs
+++ b/tests/auto/api/testdata/same-base-name/same-base-name.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
CppApplication {
type: "application"
diff --git a/tests/auto/api/testdata/simple-probe/simple-probe.qbs b/tests/auto/api/testdata/simple-probe/simple-probe.qbs
index 34700a99b..8e76acfe3 100644
--- a/tests/auto/api/testdata/simple-probe/simple-probe.qbs
+++ b/tests/auto/api/testdata/simple-probe/simple-probe.qbs
@@ -1,4 +1,3 @@
-import qbs 1.0
import qbs.Probes
CppApplication {
diff --git a/tests/auto/api/testdata/soft-dependency/soft-dependency.qbs b/tests/auto/api/testdata/soft-dependency/soft-dependency.qbs
index bbf37fda8..62713a481 100644
--- a/tests/auto/api/testdata/soft-dependency/soft-dependency.qbs
+++ b/tests/auto/api/testdata/soft-dependency/soft-dependency.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Application {
Depends {
name: "nosuchmodule"
diff --git a/tests/auto/api/testdata/source-file-in-build-dir/source-file-in-build-dir.qbs b/tests/auto/api/testdata/source-file-in-build-dir/source-file-in-build-dir.qbs
index 9fe39cdba..85115fc78 100644
--- a/tests/auto/api/testdata/source-file-in-build-dir/source-file-in-build-dir.qbs
+++ b/tests/auto/api/testdata/source-file-in-build-dir/source-file-in-build-dir.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.TextFile
CppApplication {
diff --git a/tests/auto/api/testdata/static-lib-deps/static-lib-deps.qbs b/tests/auto/api/testdata/static-lib-deps/static-lib-deps.qbs
index c925d4d57..b584b4d41 100644
--- a/tests/auto/api/testdata/static-lib-deps/static-lib-deps.qbs
+++ b/tests/auto/api/testdata/static-lib-deps/static-lib-deps.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
StaticLibrary {
name: "a"
diff --git a/tests/auto/api/testdata/subprojects/resources/modules/QtCoreDepender/qtcoredepender.qbs b/tests/auto/api/testdata/subprojects/resources/modules/QtCoreDepender/qtcoredepender.qbs
index 328abaa99..906193adf 100644
--- a/tests/auto/api/testdata/subprojects/resources/modules/QtCoreDepender/qtcoredepender.qbs
+++ b/tests/auto/api/testdata/subprojects/resources/modules/QtCoreDepender/qtcoredepender.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
Depends { name: "cute.core" }
}
diff --git a/tests/auto/api/testdata/subprojects/resources/modules/cute/core/core.qbs b/tests/auto/api/testdata/subprojects/resources/modules/cute/core/core.qbs
index 6ad30f229..ae9b47211 100644
--- a/tests/auto/api/testdata/subprojects/resources/modules/cute/core/core.qbs
+++ b/tests/auto/api/testdata/subprojects/resources/modules/cute/core/core.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
Depends { name: "cpp" }
cpp.includePaths: [path]
diff --git a/tests/auto/api/testdata/subprojects/subproject2/subproject2.qbs b/tests/auto/api/testdata/subprojects/subproject2/subproject2.qbs
index 3046fe4b2..b0abb38bd 100644
--- a/tests/auto/api/testdata/subprojects/subproject2/subproject2.qbs
+++ b/tests/auto/api/testdata/subprojects/subproject2/subproject2.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
name: "subproject2"
property string libNamePrefix: "test"
diff --git a/tests/auto/api/testdata/subprojects/subproject2/subproject3/subproject3.qbs b/tests/auto/api/testdata/subprojects/subproject2/subproject3/subproject3.qbs
index 58a09e863..f2c637947 100644
--- a/tests/auto/api/testdata/subprojects/subproject2/subproject3/subproject3.qbs
+++ b/tests/auto/api/testdata/subprojects/subproject2/subproject3/subproject3.qbs
@@ -1,4 +1,3 @@
-import qbs
import LibraryType
Project {
diff --git a/tests/auto/api/testdata/subprojects/toplevelproject.qbs b/tests/auto/api/testdata/subprojects/toplevelproject.qbs
index f167ccabc..402e40501 100644
--- a/tests/auto/api/testdata/subprojects/toplevelproject.qbs
+++ b/tests/auto/api/testdata/subprojects/toplevelproject.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
name: "top level project"
references: ["subproject2"]
diff --git a/tests/auto/api/testdata/target-artifact-status/target-artifact-status.qbs b/tests/auto/api/testdata/target-artifact-status/target-artifact-status.qbs
new file mode 100644
index 000000000..2f5776613
--- /dev/null
+++ b/tests/auto/api/testdata/target-artifact-status/target-artifact-status.qbs
@@ -0,0 +1,28 @@
+import qbs.TextFile
+
+Product {
+ name: "p"
+ type: "p_type"
+ property bool enableTagging
+ Rule {
+ multiplex: true
+ Artifact { filePath: "a1"; fileTags: "p_type" }
+ Artifact { filePath: "a2"; fileTags: "x" }
+ prepare: {
+ var cmd = new JavaScriptCommand();
+ cmd.description = "generating outputs";
+ cmd.sourceCode = function() {
+ var f = new TextFile(outputs.p_type[0].filePath, TextFile.WriteOnly);
+ f.close();
+ f = new TextFile(outputs.x[0].filePath, TextFile.WriteOnly);
+ f.close();
+ };
+ return cmd;
+ }
+ }
+ Group {
+ condition: enableTagging
+ fileTagsFilter: "x"
+ fileTags: "p_type"
+ }
+}
diff --git a/tests/auto/api/testdata/tool-in-module/use-outside-project/modules/thetool/thetool.qbs b/tests/auto/api/testdata/tool-in-module/use-outside-project/modules/thetool/thetool.qbs
index 9521f3ae4..d72ebda17 100644
--- a/tests/auto/api/testdata/tool-in-module/use-outside-project/modules/thetool/thetool.qbs
+++ b/tests/auto/api/testdata/tool-in-module/use-outside-project/modules/thetool/thetool.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.FileInfo
Module {
diff --git a/tests/auto/api/testdata/tool-in-module/use-outside-project/use-outside-project.qbs b/tests/auto/api/testdata/tool-in-module/use-outside-project/use-outside-project.qbs
index 439e68f51..81db730db 100644
--- a/tests/auto/api/testdata/tool-in-module/use-outside-project/use-outside-project.qbs
+++ b/tests/auto/api/testdata/tool-in-module/use-outside-project/use-outside-project.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
name: "user-outside-project"
type: ["thetool.output"]
diff --git a/tests/auto/api/testdata/tool-in-module/use-within-project/use-within-project.qbs b/tests/auto/api/testdata/tool-in-module/use-within-project/use-within-project.qbs
index bd480fb08..575f4020e 100644
--- a/tests/auto/api/testdata/tool-in-module/use-within-project/use-within-project.qbs
+++ b/tests/auto/api/testdata/tool-in-module/use-within-project/use-within-project.qbs
@@ -1,14 +1,15 @@
-import qbs
-
Project {
CppApplication {
name: "thetool"
+ consoleApplication: true
files: "main.cpp"
+ install: true
+ installDir: ""
+ qbs.installPrefix: ""
Group {
fileTagsFilter: ["application"]
fileTags: ["thetool.thetool"]
- qbs.install: true
}
Export {
diff --git a/tests/auto/api/testdata/transformer-data/transformer-data.qbs b/tests/auto/api/testdata/transformer-data/transformer-data.qbs
index b24deebe5..f9433ed73 100644
--- a/tests/auto/api/testdata/transformer-data/transformer-data.qbs
+++ b/tests/auto/api/testdata/transformer-data/transformer-data.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.File
import qbs.TextFile
diff --git a/tests/auto/api/testdata/transformers/transformers.qbs b/tests/auto/api/testdata/transformers/transformers.qbs
index 999395445..bbc5c3c65 100644
--- a/tests/auto/api/testdata/transformers/transformers.qbs
+++ b/tests/auto/api/testdata/transformers/transformers.qbs
@@ -1,4 +1,3 @@
-import qbs 1.0
import qbs.File
import qbs.TextFile
import qbs.Xml
diff --git a/tests/auto/api/testdata/two-default-property-values/modules/mymodule/mymodule.qbs b/tests/auto/api/testdata/two-default-property-values/modules/mymodule/mymodule.qbs
index 52e99e24d..8ac7b75a3 100644
--- a/tests/auto/api/testdata/two-default-property-values/modules/mymodule/mymodule.qbs
+++ b/tests/auto/api/testdata/two-default-property-values/modules/mymodule/mymodule.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.TextFile
Module {
diff --git a/tests/auto/api/testdata/two-default-property-values/modules/myothermodule/myothermodule.qbs b/tests/auto/api/testdata/two-default-property-values/modules/myothermodule/myothermodule.qbs
index e0ec699df..12df4434b 100644
--- a/tests/auto/api/testdata/two-default-property-values/modules/myothermodule/myothermodule.qbs
+++ b/tests/auto/api/testdata/two-default-property-values/modules/myothermodule/myothermodule.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
Depends { name: "mymodule" }
}
diff --git a/tests/auto/api/testdata/two-default-property-values/two-default-property-values.qbs b/tests/auto/api/testdata/two-default-property-values/two-default-property-values.qbs
index c0bc720f7..5e3e0f5a7 100644
--- a/tests/auto/api/testdata/two-default-property-values/two-default-property-values.qbs
+++ b/tests/auto/api/testdata/two-default-property-values/two-default-property-values.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
name: "two-default-property-values"
type: "mymodule"
diff --git a/tests/auto/api/testdata/type-change/type-change.qbs b/tests/auto/api/testdata/type-change/type-change.qbs
index 7661aa305..e8154b836 100644
--- a/tests/auto/api/testdata/type-change/type-change.qbs
+++ b/tests/auto/api/testdata/type-change/type-change.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
files: "main.cpp"
Depends { name: "cpp" }
diff --git a/tests/auto/api/testdata/uic/uic.qbs b/tests/auto/api/testdata/uic/uic.qbs
index 301cdad44..50260d73b 100644
--- a/tests/auto/api/testdata/uic/uic.qbs
+++ b/tests/auto/api/testdata/uic/uic.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
QtGuiApplication {
type: "application"
diff --git a/tests/auto/api/tst_api.cpp b/tests/auto/api/tst_api.cpp
index 9e43f0218..bec33d1dd 100644
--- a/tests/auto/api/tst_api.cpp
+++ b/tests/auto/api/tst_api.cpp
@@ -285,7 +285,7 @@ void TestApi::buildErrorCodeLocation()
QString("Rule.outputArtifacts must return an array of objects."));
const qbs::CodeLocation errorLoc = errorItem.codeLocation();
QCOMPARE(QFileInfo(errorLoc.filePath()).fileName(), QString("build-error-code-location.qbs"));
- QCOMPARE(errorLoc.line(), 9);
+ QCOMPARE(errorLoc.line(), 7);
QCOMPARE(errorLoc.column(), 26);
}
@@ -1350,7 +1350,8 @@ void TestApi::generatedFilesList()
<< "moc_mainwindow.cpp" << "moc_mainwindow.cpp.o" << "moc_mainwindow.cpp.obj"
<< "ui_mainwindow.h"
<< HostOsInfo::appendExecutableSuffix("generated-files-list");
- QVERIFY2(possibleFileNames.contains(fi.fileName()) || fi.fileName().endsWith(".plist"),
+ QVERIFY2(possibleFileNames.contains(fi.fileName()) || fi.fileName().endsWith(".plist")
+ || fi.fileName().contains("qt_plugin_import"),
qPrintable(fi.fileName()));
}
const auto groups = product.groups();
@@ -2776,6 +2777,36 @@ void TestApi::subProjects()
qPrintable(errorInfo.toString()));
}
+void TestApi::targetArtifactStatus_data()
+{
+ QTest::addColumn<bool>("enableTagging");
+ QTest::newRow("tagging off") << false;
+ QTest::newRow("tagging on") << true;
+ QTest::newRow("tagging off again") << false;
+}
+
+void TestApi::targetArtifactStatus()
+{
+ QFETCH(bool, enableTagging);
+ qbs::SetupProjectParameters params
+ = defaultSetupParameters("target-artifact-status/target-artifact-status.qbs");
+ params.setOverriddenValues({std::make_pair("products.p.enableTagging", enableTagging)});
+ const std::unique_ptr<qbs::SetupProjectJob> setupJob(qbs::Project().setupProject(params,
+ m_logSink, 0));
+ waitForFinished(setupJob.get());
+ VERIFY_NO_ERROR(setupJob->error());
+ const qbs::Project project = setupJob->project();
+ QVERIFY(project.isValid());
+ const std::unique_ptr<qbs::BuildJob> buildJob(project.buildAllProducts(qbs::BuildOptions()));
+ QVERIFY(waitForFinished(buildJob.get()));
+ VERIFY_NO_ERROR(buildJob->error());
+ const qbs::ProjectData projectData = project.projectData();
+ const QList<qbs::ProductData> products = projectData.products();
+ QCOMPARE(products.size(), 1);
+ const qbs::ProductData product = products.front();
+ QCOMPARE(product.targetArtifacts().size(), enableTagging ? 2 : 1);
+}
+
void TestApi::toolInModule()
{
QVariantMap overrides({std::make_pair("qbs.installRoot", m_workingDataDir
diff --git a/tests/auto/api/tst_api.h b/tests/auto/api/tst_api.h
index a77b20344..ff32c8634 100644
--- a/tests/auto/api/tst_api.h
+++ b/tests/auto/api/tst_api.h
@@ -140,6 +140,8 @@ private slots:
void softDependency();
void sourceFileInBuildDir();
void subProjects();
+ void targetArtifactStatus_data();
+ void targetArtifactStatus();
void toolInModule();
void trackAddQObjectHeader();
void trackRemoveQObjectHeader();
diff --git a/tests/auto/auto.pro b/tests/auto/auto.pro
index f6cc4b26f..1afe48176 100644
--- a/tests/auto/auto.pro
+++ b/tests/auto/auto.pro
@@ -14,5 +14,6 @@ SUBDIRS += \
blackbox/blackbox-apple.pro \
blackbox/blackbox-clangdb.pro \
blackbox/blackbox-java.pro \
+ blackbox/blackbox-joblimits.pro \
blackbox/blackbox-qt.pro \
api
diff --git a/tests/auto/auto.qbs b/tests/auto/auto.qbs
index 92ab5279f..bf75d0f23 100644
--- a/tests/auto/auto.qbs
+++ b/tests/auto/auto.qbs
@@ -9,6 +9,7 @@ Project {
"blackbox/blackbox-apple.qbs",
"blackbox/blackbox-clangdb.qbs",
"blackbox/blackbox-java.qbs",
+ "blackbox/blackbox-joblimits.qbs",
"blackbox/blackbox-qt.qbs",
"buildgraph/buildgraph.qbs",
"cmdlineparser/cmdlineparser.qbs",
diff --git a/tests/auto/blackbox/blackbox-android.pro b/tests/auto/blackbox/blackbox-android.pro
index d27550301..7aca99e8d 100644
--- a/tests/auto/blackbox/blackbox-android.pro
+++ b/tests/auto/blackbox/blackbox-android.pro
@@ -16,3 +16,6 @@ for(data_dir, DATA_DIRS) {
}
OTHER_FILES += $$FILES
+
+DISTFILES += \
+ testdata/texttemplate/expected-output-one.txt
diff --git a/tests/auto/blackbox/blackbox-android.qbs b/tests/auto/blackbox/blackbox-android.qbs
index 068322cf9..ca7d429ef 100644
--- a/tests/auto/blackbox/blackbox-android.qbs
+++ b/tests/auto/blackbox/blackbox-android.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.Utilities
QbsAutotest {
diff --git a/tests/auto/blackbox/blackbox-apple.qbs b/tests/auto/blackbox/blackbox-apple.qbs
index 8137aec82..6cc946d12 100644
--- a/tests/auto/blackbox/blackbox-apple.qbs
+++ b/tests/auto/blackbox/blackbox-apple.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.Utilities
QbsAutotest {
diff --git a/tests/auto/blackbox/blackbox-clangdb.qbs b/tests/auto/blackbox/blackbox-clangdb.qbs
index 359fad1db..38118309f 100644
--- a/tests/auto/blackbox/blackbox-clangdb.qbs
+++ b/tests/auto/blackbox/blackbox-clangdb.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.Utilities
QbsAutotest {
diff --git a/tests/auto/blackbox/blackbox-java.qbs b/tests/auto/blackbox/blackbox-java.qbs
index b75a5f168..6c56b3d18 100644
--- a/tests/auto/blackbox/blackbox-java.qbs
+++ b/tests/auto/blackbox/blackbox-java.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.Utilities
QbsAutotest {
diff --git a/tests/auto/blackbox/blackbox-joblimits.pro b/tests/auto/blackbox/blackbox-joblimits.pro
new file mode 100644
index 000000000..85413473e
--- /dev/null
+++ b/tests/auto/blackbox/blackbox-joblimits.pro
@@ -0,0 +1,18 @@
+TARGET = tst_blackbox-joblimits
+
+HEADERS = tst_blackboxbase.h
+SOURCES = tst_blackboxjoblimits.cpp tst_blackboxbase.cpp
+OBJECTS_DIR = joblimits
+MOC_DIR = $${OBJECTS_DIR}-moc
+
+include(../auto.pri)
+
+DATA_DIRS = testdata-joblimits ../find
+
+for(data_dir, DATA_DIRS) {
+ files = $$files($$PWD/$$data_dir/*, true)
+ win32:files ~= s|\\\\|/|g
+ for(file, files):!exists($$file/*):FILES += $$file
+}
+
+OTHER_FILES += $$FILES
diff --git a/tests/auto/blackbox/blackbox-joblimits.qbs b/tests/auto/blackbox/blackbox-joblimits.qbs
new file mode 100644
index 000000000..857e1de7f
--- /dev/null
+++ b/tests/auto/blackbox/blackbox-joblimits.qbs
@@ -0,0 +1,20 @@
+import qbs.Utilities
+
+QbsAutotest {
+ testName: "blackbox-joblimits"
+ Depends { name: "qbs_app" }
+ Depends { name: "qbs-setup-toolchains" }
+ Group {
+ name: "testdata"
+ prefix: "testdata-joblimits/"
+ files: ["**/*"]
+ fileTags: []
+ }
+ files: [
+ "../shared.h",
+ "tst_blackboxbase.cpp",
+ "tst_blackboxbase.h",
+ "tst_blackboxjoblimits.cpp",
+ ]
+ cpp.defines: base.concat(["SRCDIR=" + Utilities.cStringQuote(path)])
+}
diff --git a/tests/auto/blackbox/blackbox-qt.qbs b/tests/auto/blackbox/blackbox-qt.qbs
index ad473f731..a25221dc9 100644
--- a/tests/auto/blackbox/blackbox-qt.qbs
+++ b/tests/auto/blackbox/blackbox-qt.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.Utilities
QbsAutotest {
diff --git a/tests/auto/blackbox/blackbox.qbs b/tests/auto/blackbox/blackbox.qbs
index 917e8345b..3f0ff959a 100644
--- a/tests/auto/blackbox/blackbox.qbs
+++ b/tests/auto/blackbox/blackbox.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.Utilities
QbsAutotest {
diff --git a/tests/auto/blackbox/find/find-android.qbs b/tests/auto/blackbox/find/find-android.qbs
index 5a28b0560..26dedc60f 100644
--- a/tests/auto/blackbox/find/find-android.qbs
+++ b/tests/auto/blackbox/find/find-android.qbs
@@ -1,8 +1,8 @@
-import qbs
import qbs.TextFile
Product {
property string packageName: ""
+ qbs.targetPlatform: "android"
Depends { name: "Android.sdk"; required: false }
Depends { name: "Android.ndk"; required: false }
diff --git a/tests/auto/blackbox/find/find-jdk.qbs b/tests/auto/blackbox/find/find-jdk.qbs
index 411569f23..81d84fa20 100644
--- a/tests/auto/blackbox/find/find-jdk.qbs
+++ b/tests/auto/blackbox/find/find-jdk.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.TextFile
Product {
diff --git a/tests/auto/blackbox/find/find-nodejs.qbs b/tests/auto/blackbox/find/find-nodejs.qbs
index d8b555ecd..c63d40c81 100644
--- a/tests/auto/blackbox/find/find-nodejs.qbs
+++ b/tests/auto/blackbox/find/find-nodejs.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.TextFile
Product {
diff --git a/tests/auto/blackbox/find/find-typescript.qbs b/tests/auto/blackbox/find/find-typescript.qbs
index df2f86a84..18ca0c5cc 100644
--- a/tests/auto/blackbox/find/find-typescript.qbs
+++ b/tests/auto/blackbox/find/find-typescript.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.TextFile
Product {
diff --git a/tests/auto/blackbox/find/find-xcode.qbs b/tests/auto/blackbox/find/find-xcode.qbs
index b42b2deb7..bb6ee9718 100644
--- a/tests/auto/blackbox/find/find-xcode.qbs
+++ b/tests/auto/blackbox/find/find-xcode.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.TextFile
Product {
diff --git a/tests/auto/blackbox/testdata-android/aidl/AndroidManifest.xml b/tests/auto/blackbox/testdata-android/aidl/AndroidManifest.xml
new file mode 100644
index 000000000..e8a950847
--- /dev/null
+++ b/tests/auto/blackbox/testdata-android/aidl/AndroidManifest.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="io.qbs.aidltest">
+ <application android:label="AidlTest">
+ <activity android:name="MainActivity">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+ <category android:name="android.intent.category.LAUNCHER" />
+ </intent-filter>
+ </activity>
+ </application>
+</manifest>
diff --git a/tests/auto/blackbox/testdata-android/aidl/aidl.qbs b/tests/auto/blackbox/testdata-android/aidl/aidl.qbs
new file mode 100644
index 000000000..6e827099f
--- /dev/null
+++ b/tests/auto/blackbox/testdata-android/aidl/aidl.qbs
@@ -0,0 +1,8 @@
+Application {
+ name: "io.qbs.aidltest"
+ Android.sdk.aidlSearchPaths: path
+ files: [
+ "AndroidManifest.xml",
+ "io/qbs/aidltest/*",
+ ]
+}
diff --git a/tests/auto/blackbox/testdata-android/aidl/io/qbs/aidltest/Interface1.aidl b/tests/auto/blackbox/testdata-android/aidl/io/qbs/aidltest/Interface1.aidl
new file mode 100644
index 000000000..34fb0386c
--- /dev/null
+++ b/tests/auto/blackbox/testdata-android/aidl/io/qbs/aidltest/Interface1.aidl
@@ -0,0 +1,7 @@
+package io.qbs.aidltest;
+
+import io.qbs.aidltest.Interface2;
+
+interface Interface1 {
+ void doSomething(in Interface2 param1, in Bundle param2);
+}
diff --git a/tests/auto/blackbox/testdata-android/aidl/io/qbs/aidltest/Interface2.aidl b/tests/auto/blackbox/testdata-android/aidl/io/qbs/aidltest/Interface2.aidl
new file mode 100644
index 000000000..815d44f23
--- /dev/null
+++ b/tests/auto/blackbox/testdata-android/aidl/io/qbs/aidltest/Interface2.aidl
@@ -0,0 +1,5 @@
+package io.qbs.aidltest;
+
+interface Interface2 {
+ void someFunc(in Bundle params);
+}
diff --git a/tests/auto/blackbox/testdata-android/aidl/io/qbs/aidltest/MainActivity.java b/tests/auto/blackbox/testdata-android/aidl/io/qbs/aidltest/MainActivity.java
new file mode 100644
index 000000000..e38cfa55b
--- /dev/null
+++ b/tests/auto/blackbox/testdata-android/aidl/io/qbs/aidltest/MainActivity.java
@@ -0,0 +1,18 @@
+package io.qbs.aidltest;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.widget.TextView;
+
+public class MainActivity extends Activity
+{
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ TextView label = new TextView(this);
+ label.setText("Hello world!");
+
+ setContentView(label);
+ }
+}
diff --git a/tests/auto/blackbox/testdata-android/minimal-native/libdependency.so b/tests/auto/blackbox/testdata-android/minimal-native/libdependency.so
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/auto/blackbox/testdata-android/minimal-native/libdependency.so
diff --git a/tests/auto/blackbox/testdata-android/minimal-native/minimal-native.qbs b/tests/auto/blackbox/testdata-android/minimal-native/minimal-native.qbs
new file mode 100644
index 000000000..8cdda7a3c
--- /dev/null
+++ b/tests/auto/blackbox/testdata-android/minimal-native/minimal-native.qbs
@@ -0,0 +1,11 @@
+CppApplication {
+ name: "minimalnative"
+ qbs.buildVariant: "release"
+ Properties { condition: qbs.toolchain.contains("clang"); Android.ndk.appStl: "c++_shared" }
+ Android.ndk.appStl: "stlport_shared"
+ files: "src/main/native/native.c"
+ Group {
+ files: "libdependency.so"
+ fileTags: "android.nativelibrary"
+ }
+}
diff --git a/tests/auto/blackbox/testdata-android/minimal-native/src/main/AndroidManifest.xml b/tests/auto/blackbox/testdata-android/minimal-native/src/main/AndroidManifest.xml
new file mode 100644
index 000000000..575e95e8d
--- /dev/null
+++ b/tests/auto/blackbox/testdata-android/minimal-native/src/main/AndroidManifest.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="somedefault">
+ <application android:label="MinimalNative">
+ <activity android:name="MainActivity">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+ <category android:name="android.intent.category.LAUNCHER" />
+ </intent-filter>
+ </activity>
+ </application>
+</manifest>
diff --git a/tests/auto/blackbox/testdata-android/minimal-native/src/main/java/minimal/MinimalNative.java b/tests/auto/blackbox/testdata-android/minimal-native/src/main/java/minimal/MinimalNative.java
new file mode 100644
index 000000000..1464d2593
--- /dev/null
+++ b/tests/auto/blackbox/testdata-android/minimal-native/src/main/java/minimal/MinimalNative.java
@@ -0,0 +1,22 @@
+package minimalnative;
+
+import android.app.Activity;
+import android.widget.TextView;
+import android.os.Bundle;
+
+public class MinimalNative extends Activity
+{
+ @Override
+ public void onCreate(Bundle savedInstanceState)
+ {
+ TextView tv = new TextView(this);
+ tv.setText(stringFromNative());
+ setContentView(tv);
+ }
+
+ public native String stringFromNative();
+
+ static {
+ System.loadLibrary("minimal");
+ }
+}
diff --git a/tests/auto/blackbox/testdata-android/minimal-native/src/main/native/native.c b/tests/auto/blackbox/testdata-android/minimal-native/src/main/native/native.c
new file mode 100644
index 000000000..6b625858b
--- /dev/null
+++ b/tests/auto/blackbox/testdata-android/minimal-native/src/main/native/native.c
@@ -0,0 +1,8 @@
+#include <string.h>
+#include <jni.h>
+
+jstring
+Java_minimalnative_MinimalNative_stringFromNative(JNIEnv* env, jobject thiz)
+{
+ return (*env)->NewStringUTF(env, "This message comes from native code.");
+}
diff --git a/tests/auto/blackbox/testdata-android/multiple-apks-per-project/multiple-apks-per-project.qbs b/tests/auto/blackbox/testdata-android/multiple-apks-per-project/multiple-apks-per-project.qbs
index 3d03c309a..5dc5ad269 100644
--- a/tests/auto/blackbox/testdata-android/multiple-apks-per-project/multiple-apks-per-project.qbs
+++ b/tests/auto/blackbox/testdata-android/multiple-apks-per-project/multiple-apks-per-project.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
references: [
"product1",
diff --git a/tests/auto/blackbox/testdata-android/multiple-apks-per-project/product1/product1.qbs b/tests/auto/blackbox/testdata-android/multiple-apks-per-project/product1/product1.qbs
index eb63d4c20..c4a78a30b 100644
--- a/tests/auto/blackbox/testdata-android/multiple-apks-per-project/product1/product1.qbs
+++ b/tests/auto/blackbox/testdata-android/multiple-apks-per-project/product1/product1.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
DynamicLibrary {
Depends { name: "Android.ndk" }
@@ -24,9 +22,10 @@ Project {
cpp.useRPaths: false
}
- AndroidApk {
+ Application {
name: "twolibs1"
- packageName: "io.qt.dummy1"
+ Android.sdk.apkBaseName: name
+ Android.sdk.packageName: "io.qt.dummy1"
Depends {
productTypes: ["android.nativelibrary"]
limitToSubProject: true
diff --git a/tests/auto/blackbox/testdata-android/multiple-apks-per-project/product2/product2.qbs b/tests/auto/blackbox/testdata-android/multiple-apks-per-project/product2/product2.qbs
index 9b7f3eb54..9be70dcda 100644
--- a/tests/auto/blackbox/testdata-android/multiple-apks-per-project/product2/product2.qbs
+++ b/tests/auto/blackbox/testdata-android/multiple-apks-per-project/product2/product2.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
DynamicLibrary {
Depends { name: "cpp" }
@@ -19,9 +17,10 @@ Project {
Android.ndk.appStl: "stlport_shared"
}
- AndroidApk {
+ Application {
name: "twolibs2"
- packageName: "io.qt.dummy2"
+ Android.sdk.apkBaseName: name
+ Android.sdk.packageName: "io.qt.dummy2"
Depends {
productTypes: ["android.nativelibrary"]
limitToSubProject: true
diff --git a/tests/auto/blackbox/testdata-android/multiple-libs-per-apk/multiple-libs-per-apk.qbs b/tests/auto/blackbox/testdata-android/multiple-libs-per-apk/multiple-libs-per-apk.qbs
index 6dd4e6bdb..8b9ded211 100644
--- a/tests/auto/blackbox/testdata-android/multiple-libs-per-apk/multiple-libs-per-apk.qbs
+++ b/tests/auto/blackbox/testdata-android/multiple-libs-per-apk/multiple-libs-per-apk.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
DynamicLibrary {
Depends { name: "Android.ndk" }
@@ -25,6 +23,8 @@ Project {
JavaJarFile {
Depends { name: "Android.sdk" }
+ Android.sdk.packageName: undefined
+ Android.sdk.automaticSources: false
Depends { name: "lib6" }
Depends { name: "lib8" }
name: "lib3"
@@ -33,38 +33,49 @@ Project {
JavaJarFile {
Depends { name: "Android.sdk" }
+ Android.sdk.packageName: undefined
+ Android.sdk.automaticSources: false
name: "lib4"
files: ["lib4.java"]
}
JavaJarFile {
Depends { name: "Android.sdk" }
+ Android.sdk.packageName: undefined
+ Android.sdk.automaticSources: false
name: "lib5"
files: ["lib5.java"]
}
JavaJarFile {
Depends { name: "Android.sdk" }
+ Android.sdk.packageName: undefined
+ Android.sdk.automaticSources: false
name: "lib6"
files: ["lib6.java"]
}
JavaJarFile {
Depends { name: "Android.sdk" }
+ Android.sdk.packageName: undefined
+ Android.sdk.automaticSources: false
name: "lib7"
files: ["lib7.java"]
}
JavaJarFile {
Depends { name: "Android.sdk" }
+ Android.sdk.packageName: undefined
+ Android.sdk.automaticSources: false
Depends { name: "lib7"; Android.sdk.embedJar: false }
name: "lib8"
files: ["lib8.java"]
}
- AndroidApk {
+ Application {
name: "twolibs"
- packageName: "io.qt.dummy"
+ Android.sdk.apkBaseName: name
+ Android.sdk.packageName: "io.qt.dummy"
Depends { productTypes: ["android.nativelibrary"] }
Depends { name: "lib3"; Android.sdk.embedJar: true }
Depends { name: "lib4"; Android.sdk.embedJar: false }
diff --git a/tests/auto/blackbox/testdata-android/no-native/no-native.qbs b/tests/auto/blackbox/testdata-android/no-native/no-native.qbs
index 2909adc0c..74514f604 100644
--- a/tests/auto/blackbox/testdata-android/no-native/no-native.qbs
+++ b/tests/auto/blackbox/testdata-android/no-native/no-native.qbs
@@ -1,8 +1,7 @@
-import qbs
-
-AndroidApk {
+Application {
+ qbs.targetPlatform: "android"
name: "com.example.android.basicmediadecoder"
- sourceSetDir: Android.sdk.sdkDir
+ Android.sdk.sourceSetDir: Android.sdk.sdkDir
+ "/samples/android-BasicMediaDecoder/Application/src/main"
}
diff --git a/tests/auto/blackbox/testdata-android/qml-app/main.cpp b/tests/auto/blackbox/testdata-android/qml-app/main.cpp
new file mode 100644
index 000000000..e7cf5e16e
--- /dev/null
+++ b/tests/auto/blackbox/testdata-android/qml-app/main.cpp
@@ -0,0 +1,21 @@
+#include <QGuiApplication>
+#include <QQmlApplicationEngine>
+
+int main(int argc, char *argv[])
+{
+ if (qEnvironmentVariableIsEmpty("QTGLESSTREAM_DISPLAY")) {
+ qputenv("QT_QPA_EGLFS_PHYSICAL_WIDTH", QByteArray("213"));
+ qputenv("QT_QPA_EGLFS_PHYSICAL_HEIGHT", QByteArray("120"));
+
+ QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
+ }
+
+ QGuiApplication app(argc, argv);
+
+ QQmlApplicationEngine engine;
+ engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
+ if (engine.rootObjects().isEmpty())
+ return -1;
+
+ return app.exec();
+}
diff --git a/tests/auto/blackbox/testdata-android/qml-app/main.qml b/tests/auto/blackbox/testdata-android/qml-app/main.qml
new file mode 100644
index 000000000..45ee20a2f
--- /dev/null
+++ b/tests/auto/blackbox/testdata-android/qml-app/main.qml
@@ -0,0 +1,9 @@
+import QtQuick 2.6
+import QtQuick.Window 2.2
+
+Window {
+ visible: true
+ width: 640
+ height: 480
+ title: qsTr("Hello World")
+}
diff --git a/tests/auto/blackbox/testdata-android/qml-app/qml-app.qbs b/tests/auto/blackbox/testdata-android/qml-app/qml-app.qbs
new file mode 100644
index 000000000..56b9d6eaf
--- /dev/null
+++ b/tests/auto/blackbox/testdata-android/qml-app/qml-app.qbs
@@ -0,0 +1,14 @@
+QtApplication {
+ name: "qmlapp"
+ Depends { name: "Qt.quick" }
+ Depends { name: "Qt.android_support" }
+ Properties {
+ condition: qbs.targetOS.contains("android")
+ Qt.android_support.extraPrefixDirs: path
+ }
+ property stringList qmlImportPaths: path
+ files: [
+ "main.cpp",
+ "qml.qrc",
+ ]
+}
diff --git a/tests/auto/blackbox/testdata-android/qml-app/qml.qrc b/tests/auto/blackbox/testdata-android/qml-app/qml.qrc
new file mode 100644
index 000000000..5f6483ac3
--- /dev/null
+++ b/tests/auto/blackbox/testdata-android/qml-app/qml.qrc
@@ -0,0 +1,5 @@
+<RCC>
+ <qresource prefix="/">
+ <file>main.qml</file>
+ </qresource>
+</RCC>
diff --git a/tests/auto/blackbox/testdata-android/qml-app/src/main/AndroidManifest.xml b/tests/auto/blackbox/testdata-android/qml-app/src/main/AndroidManifest.xml
new file mode 100644
index 000000000..066ec0a63
--- /dev/null
+++ b/tests/auto/blackbox/testdata-android/qml-app/src/main/AndroidManifest.xml
@@ -0,0 +1,81 @@
+<?xml version='1.0' encoding='utf-8'?>
+<manifest package="org.qtproject.example" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="1.0" android:versionCode="1" android:installLocation="auto">
+ <application android:hardwareAccelerated="true" android:name="org.qtproject.qt5.android.bindings.QtApplication" android:label="-- %%INSERT_APP_NAME%% --">
+ <activity android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation"
+ android:name="org.qtproject.qt5.android.bindings.QtActivity"
+ android:label="-- %%INSERT_APP_NAME%% --"
+ android:screenOrientation="unspecified"
+ android:launchMode="singleTop">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN"/>
+ <category android:name="android.intent.category.LAUNCHER"/>
+ </intent-filter>
+
+ <!-- Application arguments -->
+ <!-- meta-data android:name="android.app.arguments" android:value="arg1 arg2 arg3"/ -->
+ <!-- Application arguments -->
+
+ <meta-data android:name="android.app.lib_name" android:value="-- %%INSERT_APP_LIB_NAME%% --"/>
+ <meta-data android:name="android.app.qt_sources_resource_id" android:resource="@array/qt_sources"/>
+ <meta-data android:name="android.app.repository" android:value="default"/>
+ <meta-data android:name="android.app.qt_libs_resource_id" android:resource="@array/qt_libs"/>
+ <meta-data android:name="android.app.bundled_libs_resource_id" android:resource="@array/bundled_libs"/>
+ <!-- Deploy Qt libs as part of package -->
+ <meta-data android:name="android.app.bundle_local_qt_libs" android:value="-- %%BUNDLE_LOCAL_QT_LIBS%% --"/>
+ <meta-data android:name="android.app.bundled_in_lib_resource_id" android:resource="@array/bundled_in_lib"/>
+ <meta-data android:name="android.app.bundled_in_assets_resource_id" android:resource="@array/bundled_in_assets"/>
+ <!-- Run with local libs -->
+ <meta-data android:name="android.app.use_local_qt_libs" android:value="-- %%USE_LOCAL_QT_LIBS%% --"/>
+ <meta-data android:name="android.app.libs_prefix" android:value="/data/local/tmp/qt/"/>
+ <meta-data android:name="android.app.load_local_libs" android:value="-- %%INSERT_LOCAL_LIBS%% --"/>
+ <meta-data android:name="android.app.load_local_jars" android:value="-- %%INSERT_LOCAL_JARS%% --"/>
+ <meta-data android:name="android.app.static_init_classes" android:value="-- %%INSERT_INIT_CLASSES%% --"/>
+ <!-- Messages maps -->
+ <meta-data android:value="@string/ministro_not_found_msg" android:name="android.app.ministro_not_found_msg"/>
+ <meta-data android:value="@string/ministro_needed_msg" android:name="android.app.ministro_needed_msg"/>
+ <meta-data android:value="@string/fatal_error_msg" android:name="android.app.fatal_error_msg"/>
+ <!-- Messages maps -->
+
+ <!-- Splash screen -->
+ <!-- meta-data android:name="android.app.splash_screen_drawable" android:resource="@drawable/logo"/ -->
+ <!-- meta-data android:name="android.app.splash_screen_sticky" android:value="true"/ -->
+ <!-- Splash screen -->
+
+ <!-- Background running -->
+ <!-- Warning: changing this value to true may cause unexpected crashes if the
+ application still try to draw after
+ "applicationStateChanged(Qt::ApplicationSuspended)"
+ signal is sent! -->
+ <meta-data android:name="android.app.background_running" android:value="false"/>
+ <!-- Background running -->
+
+ <!-- auto screen scale factor -->
+ <meta-data android:name="android.app.auto_screen_scale_factor" android:value="false"/>
+ <!-- auto screen scale factor -->
+
+ <!-- extract android style -->
+ <!-- available android:values :
+ * full - useful QWidget & Quick Controls 1 apps
+ * minimal - useful for Quick Controls 2 apps, it is much faster than "full"
+ * none - useful for apps that don't use any of the above Qt modules
+ -->
+ <meta-data android:name="android.app.extract_android_style" android:value="full"/>
+ <!-- extract android style -->
+ </activity>
+
+ <!-- For adding service(s) please check: https://wiki.qt.io/AndroidServices -->
+
+ </application>
+
+ <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="16"/>
+ <supports-screens android:largeScreens="true" android:normalScreens="true" android:anyDensity="true" android:smallScreens="true"/>
+
+ <!-- The following comment will be replaced upon deployment with default permissions based on the dependencies of the application.
+ Remove the comment if you do not require these default permissions. -->
+ <!-- %%INSERT_PERMISSIONS -->
+
+ <!-- The following comment will be replaced upon deployment with default features based on the dependencies of the application.
+ Remove the comment if you do not require these default features. -->
+ <!-- %%INSERT_FEATURES -->
+
+</manifest>
diff --git a/tests/auto/blackbox/testdata-android/qml-app/src/main/assets/dummyasset.txt b/tests/auto/blackbox/testdata-android/qml-app/src/main/assets/dummyasset.txt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/auto/blackbox/testdata-android/qml-app/src/main/assets/dummyasset.txt
diff --git a/tests/auto/blackbox/testdata-android/teapot/teapot.qbs b/tests/auto/blackbox/testdata-android/teapot/teapot.qbs
index 3e0210554..2b5cb8aba 100644
--- a/tests/auto/blackbox/testdata-android/teapot/teapot.qbs
+++ b/tests/auto/blackbox/testdata-android/teapot/teapot.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.File
Project {
@@ -6,6 +5,7 @@ Project {
StaticLibrary {
name: "native-glue"
qbs.targetPlatform: "android"
+ cpp.warningLevel: "none"
Depends { name: "cpp" }
Group {
id: glue_sources
@@ -23,6 +23,7 @@ Project {
StaticLibrary {
name: "ndk-helper"
qbs.targetPlatform: "android"
+ cpp.warningLevel: "none"
Depends { name: "Android.ndk" }
Depends { name: "cpp" }
Depends { name: "native-glue" }
@@ -78,9 +79,10 @@ Project {
}
}
- DynamicLibrary {
+ CppApplication {
name: "TeapotNativeActivity"
qbs.targetPlatform: "android"
+
Depends { name: "Android.ndk" }
Depends { name: "cpp" }
Depends { name: "android_cpufeatures" }
@@ -88,6 +90,21 @@ Project {
Depends { name: "ndk-helper" }
Probe {
+ id: teapotProbe
+ property string samplesDir: Android.sdk.ndkSamplesDir
+ property string dir
+ configure: {
+ var paths = ["/teapots/classic-teapot/src/main", "/Teapot/app/src/main", "/Teapot"];
+ for (var i = 0; i < paths.length; ++i) {
+ if (File.exists(samplesDir + paths[i])) {
+ dir = samplesDir + paths[i];
+ break;
+ }
+ }
+ }
+ }
+
+ Probe {
id: teapotProbeJni
property string samplesDir: Android.ndk.ndkSamplesDir
property string jniDir
@@ -116,6 +133,9 @@ Project {
FileTagger { patterns: ["*.inl"]; fileTags: ["hpp"] }
+ Android.sdk.apkBaseName: name
+ Android.sdk.packageName: "com.sample.teapot"
+ Android.sdk.sourceSetDir: teapotProbe.dir
Properties { condition: qbs.toolchain.contains("clang"); Android.ndk.appStl: "c++_shared" }
Android.ndk.appStl: "gnustl_shared"
cpp.cxxLanguageVersion: "c++11"
@@ -126,25 +146,4 @@ Project {
// Refer to: https://github.com/android-ndk/ndk/issues/381
cpp.linkerFlags: ["-u", "ANativeActivity_onCreate"]
}
-
- AndroidApk {
- Probe {
- id: teapotProbe
- property string samplesDir: Android.sdk.ndkSamplesDir
- property string dir
- configure: {
- var paths = ["/teapots/classic-teapot/src/main", "/Teapot/app/src/main", "/Teapot"];
- for (var i = 0; i < paths.length; ++i) {
- if (File.exists(samplesDir + paths[i])) {
- dir = samplesDir + paths[i];
- break;
- }
- }
- }
- }
-
- name: "com.sample.teapot"
- sourceSetDir: teapotProbe.dir
- Depends { productTypes: ["android.nativelibrary"] }
- }
}
diff --git a/tests/auto/blackbox/testdata-apple/apple-dmg/apple-dmg.qbs b/tests/auto/blackbox/testdata-apple/apple-dmg/apple-dmg.qbs
index 3bccebfd0..b3d39fe27 100644
--- a/tests/auto/blackbox/testdata-apple/apple-dmg/apple-dmg.qbs
+++ b/tests/auto/blackbox/testdata-apple/apple-dmg/apple-dmg.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
AppleApplicationDiskImage {
Depends { name: "myapp" }
@@ -18,12 +16,7 @@ Project {
targetName: "My Great App"
files: ["main.c"]
- Group {
- fileTagsFilter: ["bundle.content"]
- qbs.install: true
- qbs.installDir: "/Applications"
- qbs.installSourceBase: product.buildDirectory
- }
+ install: true
}
AppleDiskImage {
diff --git a/tests/auto/blackbox/testdata-apple/apple-multiconfig/apple-multiconfig.qbs b/tests/auto/blackbox/testdata-apple/apple-multiconfig/apple-multiconfig.qbs
index fcd440e66..438624f70 100644
--- a/tests/auto/blackbox/testdata-apple/apple-multiconfig/apple-multiconfig.qbs
+++ b/tests/auto/blackbox/testdata-apple/apple-multiconfig/apple-multiconfig.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.Utilities
Project {
@@ -18,11 +17,8 @@ Project {
aggregate: false
multiplexByQbsProperties: []
- Group {
- fileTagsFilter: ["bundle.content"]
- qbs.install: true
- qbs.installSourceBase: product.buildDirectory
- }
+ install: true
+ installDir: ""
}
CppApplication {
@@ -39,11 +35,8 @@ Project {
qbs.architectures: ["x86_64"]
qbs.buildVariants: ["release"]
- Group {
- fileTagsFilter: ["bundle.content"]
- qbs.install: true
- qbs.installSourceBase: product.buildDirectory
- }
+ install: true
+ installDir: ""
}
DynamicLibrary {
@@ -59,11 +52,8 @@ Project {
aggregate: false
multiplexByQbsProperties: []
- Group {
- fileTagsFilter: ["bundle.content"]
- qbs.install: true
- qbs.installSourceBase: product.buildDirectory
- }
+ install: true
+ installDir: ""
}
CppApplication {
@@ -75,11 +65,8 @@ Project {
cpp.rpaths: [cpp.rpathOrigin + "/../../../"]
cpp.minimumMacosVersion: "10.6"
- Group {
- fileTagsFilter: ["bundle.content"]
- qbs.install: true
- qbs.installSourceBase: product.buildDirectory
- }
+ install: true
+ installDir: ""
}
CppApplication {
@@ -94,12 +81,10 @@ Project {
qbs.architecture: "x86_64"
multiplexByQbsProperties: project.enableX86 ? ["architectures", "buildVariants"]
: ["buildVariants"]
+ qbs.buildVariants: "debug"
- Group {
- fileTagsFilter: ["bundle.content"]
- qbs.install: true
- qbs.installSourceBase: product.buildDirectory
- }
+ install: true
+ installDir: ""
}
CppApplication {
@@ -113,11 +98,8 @@ Project {
qbs.architectures: project.enableX86 ? ["x86", "x86_64"] : ["x86_64"]
qbs.buildVariants: ["debug", "profile"]
- Group {
- fileTagsFilter: ["bundle.content"]
- qbs.install: true
- qbs.installSourceBase: product.buildDirectory
- }
+ install: true
+ installDir: ""
}
DynamicLibrary {
@@ -131,11 +113,8 @@ Project {
qbs.architectures: project.enableX86 ? ["x86", "x86_64"] : ["x86_64"]
qbs.buildVariants: ["release", "debug", "profile"]
- Group {
- fileTagsFilter: ["bundle.content"]
- qbs.install: true
- qbs.installSourceBase: product.buildDirectory
- }
+ install: true
+ installDir: ""
}
DynamicLibrary {
@@ -149,11 +128,8 @@ Project {
qbs.architectures: project.enableX86 ? ["x86", "x86_64"] : ["x86_64"]
qbs.buildVariants: ["debug", "profile"]
- Group {
- fileTagsFilter: ["bundle.content"]
- qbs.install: true
- qbs.installSourceBase: product.buildDirectory
- }
+ install: true
+ installDir: ""
}
DynamicLibrary {
@@ -166,11 +142,8 @@ Project {
cpp.defines: ["VARIANT=" + Utilities.cStringQuote(qbs.buildVariant)]
qbs.architectures: project.enableX86 ? ["x86", "x86_64"] : ["x86_64"]
qbs.buildVariants: ["debug", "profile"]
- Group {
- fileTagsFilter: ["bundle.content"]
- qbs.install: true
- qbs.installSourceBase: product.buildDirectory
- }
+ install: true
+ installDir: ""
}
DynamicLibrary {
Depends { name: "cpp" }
@@ -181,10 +154,7 @@ Project {
cpp.defines: ["VARIANT=" + Utilities.cStringQuote(qbs.buildVariant)]
qbs.architectures: project.enableX86 ? ["x86", "x86_64"] : ["x86_64"]
qbs.buildVariants: ["debug", "profile"]
- Group {
- fileTagsFilter: ["bundle.content"]
- qbs.install: true
- qbs.installSourceBase: product.buildDirectory
- }
+ install: true
+ installDir: ""
}
}
diff --git a/tests/auto/blackbox/testdata-apple/bundle-structure/bundle-structure.qbs b/tests/auto/blackbox/testdata-apple/bundle-structure/bundle-structure.qbs
index a7c3e20bf..8cf031e33 100644
--- a/tests/auto/blackbox/testdata-apple/bundle-structure/bundle-structure.qbs
+++ b/tests/auto/blackbox/testdata-apple/bundle-structure/bundle-structure.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
property stringList bundleFileTags: ["bundle.content"]
@@ -17,11 +15,8 @@ Project {
bundle.privateHeaders: ["dummy_p.h"]
bundle.resources: ["resource.txt"]
files: ["dummy.c"]
- Group {
- fileTagsFilter: product.type.concat(project.bundleFileTags)
- qbs.install: true
- qbs.installSourceBase: product.buildDirectory
- }
+ install: true
+ installDir: ""
}
Application {
@@ -37,11 +32,8 @@ Project {
bundle.privateHeaders: ["dummy_p.h"]
bundle.resources: ["resource.txt"]
files: ["dummy.c"]
- Group {
- fileTagsFilter: product.type.concat(project.bundleFileTags)
- qbs.install: true
- qbs.installSourceBase: product.buildDirectory
- }
+ install: true
+ installDir: ""
}
Application {
@@ -57,11 +49,8 @@ Project {
bundle.privateHeaders: ["dummy_p.h"]
bundle.resources: ["resource.txt"]
files: ["dummy.c"]
- Group {
- fileTagsFilter: product.type.concat(project.bundleFileTags)
- qbs.install: true
- qbs.installSourceBase: product.buildDirectory
- }
+ install: true
+ installDir: ""
}
DynamicLibrary {
@@ -73,11 +62,8 @@ Project {
bundle.privateHeaders: ["dummy_p.h"]
bundle.resources: ["resource.txt"]
files: ["dummy.c"]
- Group {
- fileTagsFilter: product.type.concat(project.bundleFileTags)
- qbs.install: true
- qbs.installSourceBase: product.buildDirectory
- }
+ install: true
+ installDir: ""
}
StaticLibrary {
@@ -89,11 +75,8 @@ Project {
bundle.privateHeaders: ["dummy_p.h"]
bundle.resources: ["resource.txt"]
files: ["dummy.c"]
- Group {
- fileTagsFilter: product.type.concat(project.bundleFileTags)
- qbs.install: true
- qbs.installSourceBase: product.buildDirectory
- }
+ install: true
+ installDir: ""
}
LoadableModule {
@@ -105,11 +88,8 @@ Project {
bundle.privateHeaders: ["dummy_p.h"]
bundle.resources: ["resource.txt"]
files: ["dummy.c"]
- Group {
- fileTagsFilter: product.type.concat(project.bundleFileTags)
- qbs.install: true
- qbs.installSourceBase: product.buildDirectory
- }
+ install: true
+ installDir: ""
}
ApplicationExtension {
@@ -121,11 +101,8 @@ Project {
bundle.privateHeaders: ["dummy_p.h"]
bundle.resources: ["resource.txt"]
files: ["dummy.c"]
- Group {
- fileTagsFilter: product.type.concat(project.bundleFileTags)
- qbs.install: true
- qbs.installSourceBase: product.buildDirectory
- }
+ install: true
+ installDir: ""
}
XPCService {
@@ -137,11 +114,8 @@ Project {
bundle.privateHeaders: ["dummy_p.h"]
bundle.resources: ["resource.txt"]
files: ["dummy.c"]
- Group {
- fileTagsFilter: product.type.concat(project.bundleFileTags)
- qbs.install: true
- qbs.installSourceBase: product.buildDirectory
- }
+ install: true
+ installDir: ""
}
Product {
diff --git a/tests/auto/blackbox/testdata-apple/deploymentTarget/deployment.qbs b/tests/auto/blackbox/testdata-apple/deploymentTarget/deployment.qbs
index 940fe74f4..9eff57b60 100644
--- a/tests/auto/blackbox/testdata-apple/deploymentTarget/deployment.qbs
+++ b/tests/auto/blackbox/testdata-apple/deploymentTarget/deployment.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
files: ["main.c"]
diff --git a/tests/auto/blackbox/testdata-apple/embedInfoPlist/embedInfoPlist.qbs b/tests/auto/blackbox/testdata-apple/embedInfoPlist/embedInfoPlist.qbs
index 16b00208e..ba23dc32c 100644
--- a/tests/auto/blackbox/testdata-apple/embedInfoPlist/embedInfoPlist.qbs
+++ b/tests/auto/blackbox/testdata-apple/embedInfoPlist/embedInfoPlist.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
CppApplication {
Depends { name: "lib" }
@@ -13,10 +11,8 @@ Project {
bundle.infoPlist: ({
"QBS": "org.qt-project.qbs.testdata.embedInfoPlist"
})
- Group {
- fileTagsFilter: product.type
- qbs.install: true
- }
+ install: true
+ installDir: ""
}
DynamicLibrary {
@@ -30,10 +26,8 @@ Project {
bundle.infoPlist: ({
"QBS": "org.qt-project.qbs.testdata.embedInfoPlist.dylib"
})
- Group {
- fileTagsFilter: product.type
- qbs.install: true
- }
+ install: true
+ installDir: ""
}
LoadableModule {
diff --git a/tests/auto/blackbox/testdata-apple/frameworkStructure/frameworkStructure.qbs b/tests/auto/blackbox/testdata-apple/frameworkStructure/frameworkStructure.qbs
index 39b3a1b58..a812ae513 100644
--- a/tests/auto/blackbox/testdata-apple/frameworkStructure/frameworkStructure.qbs
+++ b/tests/auto/blackbox/testdata-apple/frameworkStructure/frameworkStructure.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
property bool includeHeaders: true
Library {
diff --git a/tests/auto/blackbox/testdata-apple/ib/assetcatalog/assetcatalogempty.qbs b/tests/auto/blackbox/testdata-apple/ib/assetcatalog/assetcatalogempty.qbs
index ef67796f9..622fa46cb 100644
--- a/tests/auto/blackbox/testdata-apple/ib/assetcatalog/assetcatalogempty.qbs
+++ b/tests/auto/blackbox/testdata-apple/ib/assetcatalog/assetcatalogempty.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.Utilities
Project {
diff --git a/tests/auto/blackbox/testdata-apple/ib/empty-asset-catalogs/multiple-asset-catalogs.qbs b/tests/auto/blackbox/testdata-apple/ib/empty-asset-catalogs/multiple-asset-catalogs.qbs
index 454d3c482..49b389d3d 100644
--- a/tests/auto/blackbox/testdata-apple/ib/empty-asset-catalogs/multiple-asset-catalogs.qbs
+++ b/tests/auto/blackbox/testdata-apple/ib/empty-asset-catalogs/multiple-asset-catalogs.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
Depends { name: "ib" }
files: [
diff --git a/tests/auto/blackbox/testdata-apple/ib/iconset/iconset.qbs b/tests/auto/blackbox/testdata-apple/ib/iconset/iconset.qbs
index 1d563f180..b3481587f 100644
--- a/tests/auto/blackbox/testdata-apple/ib/iconset/iconset.qbs
+++ b/tests/auto/blackbox/testdata-apple/ib/iconset/iconset.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
Depends { name: "ib" }
type: ["icns"]
diff --git a/tests/auto/blackbox/testdata-apple/ib/iconsetapp/iconsetapp.qbs b/tests/auto/blackbox/testdata-apple/ib/iconsetapp/iconsetapp.qbs
index 7e5323a0c..04e6ce0ce 100644
--- a/tests/auto/blackbox/testdata-apple/ib/iconsetapp/iconsetapp.qbs
+++ b/tests/auto/blackbox/testdata-apple/ib/iconsetapp/iconsetapp.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
Depends { name: "ib" }
files: ["main.c", "white.iconset"]
diff --git a/tests/auto/blackbox/testdata-apple/ib/multiple-asset-catalogs/multiple-asset-catalogs.qbs b/tests/auto/blackbox/testdata-apple/ib/multiple-asset-catalogs/multiple-asset-catalogs.qbs
index 454d3c482..49b389d3d 100644
--- a/tests/auto/blackbox/testdata-apple/ib/multiple-asset-catalogs/multiple-asset-catalogs.qbs
+++ b/tests/auto/blackbox/testdata-apple/ib/multiple-asset-catalogs/multiple-asset-catalogs.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
Depends { name: "ib" }
files: [
diff --git a/tests/auto/blackbox/testdata-apple/infoplist/infoplist.qbs b/tests/auto/blackbox/testdata-apple/infoplist/infoplist.qbs
index 58cb361dd..a6ac3d8d1 100644
--- a/tests/auto/blackbox/testdata-apple/infoplist/infoplist.qbs
+++ b/tests/auto/blackbox/testdata-apple/infoplist/infoplist.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
cpp.minimumMacosVersion: "10.7"
files: ["main.c"]
diff --git a/tests/auto/blackbox/testdata-apple/objc-arc/objc-arc.qbs b/tests/auto/blackbox/testdata-apple/objc-arc/objc-arc.qbs
index 672de3cb5..545d5701c 100644
--- a/tests/auto/blackbox/testdata-apple/objc-arc/objc-arc.qbs
+++ b/tests/auto/blackbox/testdata-apple/objc-arc/objc-arc.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
Depends { name: "cpp" }
consoleApplication: true
diff --git a/tests/auto/blackbox/testdata-apple/xcode/xcode-project.qbs b/tests/auto/blackbox/testdata-apple/xcode/xcode-project.qbs
index 0c2b0b93d..d7baf8c8e 100644
--- a/tests/auto/blackbox/testdata-apple/xcode/xcode-project.qbs
+++ b/tests/auto/blackbox/testdata-apple/xcode/xcode-project.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
property stringList sdks: []
diff --git a/tests/auto/blackbox/testdata-clangdb/project1/project.qbs b/tests/auto/blackbox/testdata-clangdb/project1/project.qbs
index 4552deb40..ecfc562b0 100644
--- a/tests/auto/blackbox/testdata-clangdb/project1/project.qbs
+++ b/tests/auto/blackbox/testdata-clangdb/project1/project.qbs
@@ -1,5 +1,3 @@
-import qbs
-
// $ g++ 'i like spaces.cpp' '-DSPACES="!have \\fun\x5c!\n"' '-DSPICES=%T% # && $$ 1>&2 '\''\n'\''\n' '-DSLICES=(42>24)' && ./a.out
// SPACES=!have \fun\!
// SPICES=%T% # && $$ 1>&2 '\n'
diff --git a/tests/auto/blackbox/testdata-java/java/inner-class/inner-class.qbs b/tests/auto/blackbox/testdata-java/java/inner-class/inner-class.qbs
index 5bc861f5d..c48401478 100644
--- a/tests/auto/blackbox/testdata-java/java/inner-class/inner-class.qbs
+++ b/tests/auto/blackbox/testdata-java/java/inner-class/inner-class.qbs
@@ -1,5 +1,3 @@
-import qbs
-
JavaJarFile {
files: ["**/*.java"]
}
diff --git a/tests/auto/blackbox/testdata-java/java/vehicles.qbs b/tests/auto/blackbox/testdata-java/java/vehicles.qbs
index 86d1f7d32..8153efe00 100644
--- a/tests/auto/blackbox/testdata-java/java/vehicles.qbs
+++ b/tests/auto/blackbox/testdata-java/java/vehicles.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.FileInfo
import qbs.Utilities
@@ -14,15 +13,14 @@ Project {
name: "native"
files: ["engine.c"]
- Group {
- fileTagsFilter: ["dynamiclibrary"]
- qbs.install: true
- }
+ qbs.installPrefix: ""
+ install: true
+ installDir: ""
}
JavaClassCollection {
Depends { name: "random_stuff" }
- name: "class_collection"
+ name: "cc"
java.additionalCompilerFlags: ["-Xlint:all"]
files: [
"Car.java", "HelloWorld.java", "Jet.java", "NoPackage.java", "Ship.java",
@@ -44,6 +42,7 @@ Project {
name: "random_stuff"
files: ["RandomStuff.java"]
+ qbs.installPrefix: ""
Group {
fileTagsFilter: ["java.jar"]
qbs.install: true
@@ -78,6 +77,7 @@ Project {
java.manifestClassPath: [product.targetName + ".jar"]
}
+ qbs.installPrefix: ""
Group {
fileTagsFilter: ["java.jar"]
qbs.install: true
@@ -98,6 +98,7 @@ Project {
return mf;
}
+ qbs.installPrefix: ""
Group {
fileTagsFilter: ["java.jar"]
qbs.install: true
diff --git a/tests/auto/blackbox/testdata-joblimits/job-limits/job-limits.qbs b/tests/auto/blackbox/testdata-joblimits/job-limits/job-limits.qbs
new file mode 100644
index 000000000..1ab369c88
--- /dev/null
+++ b/tests/auto/blackbox/testdata-joblimits/job-limits/job-limits.qbs
@@ -0,0 +1,97 @@
+import qbs.TextFile
+
+Project {
+ property int projectJobCount
+ property int productJobCount
+ property int moduleJobCount
+ JobLimit {
+ condition: projectJobCount !== -1
+ jobPool: "singleton"
+ jobCount: projectJobCount
+ }
+ JobLimit {
+ condition: projectJobCount !== -1
+ jobPool: "singleton"
+ jobCount: 100
+ }
+ CppApplication {
+ name: "tool"
+ consoleApplication: true
+ cpp.cxxLanguageVersion: "c++14"
+ Properties {
+ condition: qbs.targetOS.contains("macos")
+ cpp.minimumMacosVersion: "10.9"
+ }
+ files: "main.cpp"
+ Group {
+ fileTagsFilter: "application"
+ fileTags: "tool_tag"
+ }
+ Export {
+ Rule {
+ alwaysRun: true
+ inputs: "tool_in"
+ explicitlyDependsOnFromDependencies: "tool_tag"
+ Artifact { filePath: input.completeBaseName + ".out"; fileTags: "tool_out" }
+ prepare: {
+ var cmd = new Command(explicitlyDependsOn.tool_tag[0].filePath,
+ [output.filePath]);
+ cmd.workingDirectory = product.buildDirectory;
+ cmd.description = "Running tool";
+ cmd.jobPool = "singleton";
+ return cmd;
+ }
+ }
+ JobLimit {
+ condition: project.moduleJobCount !== -1
+ jobPool: "singleton"
+ jobCount: project.moduleJobCount
+ }
+ JobLimit {
+ condition: project.moduleJobCount !== -1
+ jobPool: "singleton"
+ jobCount: 200
+ }
+ }
+ }
+ Product {
+ name: "p"
+ type: "tool_out"
+ Depends { name: "tool" }
+ Rule {
+ multiplex: true
+ outputFileTags: "tool_in"
+ outputArtifacts: {
+ var artifacts = [];
+ for (var i = 0; i < 7; ++i)
+ artifacts.push({filePath: "file" + i + ".in", fileTags: "tool_in"});
+ return artifacts;
+ }
+ prepare: {
+ var commands = [];
+ for (var i = 0; i < outputs.tool_in.length; ++i) {
+ var cmd = new JavaScriptCommand();
+ var output = outputs.tool_in[i];
+ cmd.output = output.filePath;
+ cmd.description = "generating " + output.fileName;
+ cmd.sourceCode = function() {
+ var f = new TextFile(output, TextFile.WriteOnly);
+ f.close();
+ }
+ commands.push(cmd);
+ };
+ return commands;
+ }
+ }
+ JobLimit {
+ condition: project.productJobCount !== -1
+ jobPool: "singleton"
+ jobCount: project.productJobCount
+ }
+ JobLimit {
+ condition: project.productJobCount !== -1
+ jobPool: "singleton"
+ jobCount: 300
+ }
+ }
+}
diff --git a/tests/auto/blackbox/testdata-joblimits/job-limits/main.cpp b/tests/auto/blackbox/testdata-joblimits/job-limits/main.cpp
new file mode 100644
index 000000000..0a94c6393
--- /dev/null
+++ b/tests/auto/blackbox/testdata-joblimits/job-limits/main.cpp
@@ -0,0 +1,87 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qbs.
+**
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <cerrno>
+#include <chrono>
+#include <cstdio>
+#include <cstring>
+#include <iostream>
+#include <string>
+#include <thread>
+
+#if defined(_WIN32) || defined(WIN32)
+#include <io.h>
+#include <sys/locking.h>
+#else
+#include <unistd.h>
+#endif
+
+static bool tryLock(FILE *f)
+{
+ const int exitCode =
+#if defined(_WIN32) || defined(WIN32)
+ _locking(_fileno(f), _LK_NBLCK, 10);
+
+#else
+ lockf(fileno(f), F_TLOCK, 10);
+#endif
+ return exitCode == 0;
+}
+
+int main(int argc, char *argv[])
+{
+ if (argc != 2) {
+ std::cerr << "tool needs exactly one argument" << std::endl;
+ return 1;
+ }
+
+ const std::string lockFilePath = std::string(argv[0]) + ".lock";
+ std::FILE * const lockFile = std::fopen(lockFilePath.c_str(), "w");
+ if (!lockFile) {
+ std::cerr << "cannot open lock file: " << strerror(errno) << std::endl;
+ return 2;
+ }
+ if (!tryLock(lockFile)) {
+ if (errno == EACCES || errno == EAGAIN) {
+ std::cerr << "tool is exclusive" << std::endl;
+ return 3;
+ } else {
+ std::cerr << "unexpected lock failure: " << strerror(errno) << std::endl;
+ fclose(lockFile);
+ return 4;
+ }
+ }
+ std::this_thread::sleep_for(std::chrono::milliseconds(100));
+ fclose(lockFile);
+ std::FILE * const output = std::fopen(argv[1], "w");
+ if (!output) {
+ std::cerr << "cannot create output file: " << strerror(errno) << std::endl;
+ return 5;
+ }
+ fclose(output);
+}
diff --git a/tests/auto/blackbox/testdata-qt/add-qobject-macro-to-generated-cpp-file/add-qobject-macro-to-generated-cpp-file.qbs b/tests/auto/blackbox/testdata-qt/add-qobject-macro-to-generated-cpp-file/add-qobject-macro-to-generated-cpp-file.qbs
new file mode 100644
index 000000000..db0e20097
--- /dev/null
+++ b/tests/auto/blackbox/testdata-qt/add-qobject-macro-to-generated-cpp-file/add-qobject-macro-to-generated-cpp-file.qbs
@@ -0,0 +1,25 @@
+import qbs.File
+
+QtApplication {
+ name: "p"
+ files: ["main.cpp", "object.h"]
+ Group {
+ files: "object.cpp.in"
+ fileTags: "cpp.in"
+ }
+ Rule {
+ inputs: "cpp.in"
+ Artifact {
+ filePath: input.completeBaseName
+ fileTags: "cpp"
+ }
+ prepare: {
+ var cmd = new JavaScriptCommand();
+ cmd.description = "generatating " + output.fileName;
+ cmd.sourceCode = function() { File.copy(input.filePath, output.filePath); }
+ return cmd;
+ }
+ }
+ cpp.includePaths: path
+}
+
diff --git a/tests/auto/blackbox/testdata-qt/add-qobject-macro-to-generated-cpp-file/main.cpp b/tests/auto/blackbox/testdata-qt/add-qobject-macro-to-generated-cpp-file/main.cpp
new file mode 100644
index 000000000..3f57ddafb
--- /dev/null
+++ b/tests/auto/blackbox/testdata-qt/add-qobject-macro-to-generated-cpp-file/main.cpp
@@ -0,0 +1,35 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qbs.
+**
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "object.h"
+
+int main()
+{
+ Object o;
+ o.f();
+}
diff --git a/tests/auto/blackbox/testdata-qt/add-qobject-macro-to-generated-cpp-file/object.cpp.in b/tests/auto/blackbox/testdata-qt/add-qobject-macro-to-generated-cpp-file/object.cpp.in
new file mode 100644
index 000000000..b1b9922af
--- /dev/null
+++ b/tests/auto/blackbox/testdata-qt/add-qobject-macro-to-generated-cpp-file/object.cpp.in
@@ -0,0 +1,41 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qbs.
+**
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <object.h>
+
+#include <QObject>
+
+// class InternalClass : public QObject
+// {
+// Q_OBJECT
+// };
+
+void Object::f() { }
+
+
+// #include <object.moc>
diff --git a/tests/auto/blackbox/testdata-qt/add-qobject-macro-to-generated-cpp-file/object.h b/tests/auto/blackbox/testdata-qt/add-qobject-macro-to-generated-cpp-file/object.h
new file mode 100644
index 000000000..5537a8d32
--- /dev/null
+++ b/tests/auto/blackbox/testdata-qt/add-qobject-macro-to-generated-cpp-file/object.h
@@ -0,0 +1,32 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qbs.
+**
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+class Object {
+public:
+ void f();
+};
diff --git a/tests/auto/blackbox/testdata-qt/auto-qrc/auto-qrc.qbs b/tests/auto/blackbox/testdata-qt/auto-qrc/auto-qrc.qbs
index 63906fd77..e08f89032 100644
--- a/tests/auto/blackbox/testdata-qt/auto-qrc/auto-qrc.qbs
+++ b/tests/auto/blackbox/testdata-qt/auto-qrc/auto-qrc.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
QtApplication {
name: "app"
diff --git a/tests/auto/blackbox/testdata-qt/cached-qml/cached-qml.qbs b/tests/auto/blackbox/testdata-qt/cached-qml/cached-qml.qbs
index 5117557e1..c95f1190d 100644
--- a/tests/auto/blackbox/testdata-qt/cached-qml/cached-qml.qbs
+++ b/tests/auto/blackbox/testdata-qt/cached-qml/cached-qml.qbs
@@ -1,11 +1,14 @@
-import qbs
import qbs.Utilities
CppApplication {
name: "app"
+ consoleApplication: true
Depends { name: "Qt.core" }
Depends { name: "Qt.quick" }
Depends { name: "Qt.qml" }
+ install: true
+ installDir: ""
+ qbs.installPrefix: ""
Qt.qml.generateCacheFiles: true
Qt.qml.cacheFilesInstallDir: "data"
@@ -16,11 +19,6 @@ CppApplication {
"stuff.js"
]
- Group {
- fileTagsFilter: ["application"]
- qbs.install: true
- }
-
// Install the C++ sources to tell the blackbox test that Qt.qmlcache is not available.
Group {
condition: !Qt.qml.cachingEnabled
diff --git a/tests/auto/blackbox/testdata-qt/combined-moc/combined-moc.qbs b/tests/auto/blackbox/testdata-qt/combined-moc/combined-moc.qbs
index 34529fce6..acbed1639 100644
--- a/tests/auto/blackbox/testdata-qt/combined-moc/combined-moc.qbs
+++ b/tests/auto/blackbox/testdata-qt/combined-moc/combined-moc.qbs
@@ -1,5 +1,3 @@
-import qbs
-
QtApplication {
name: "theapp"
files: [
diff --git a/tests/auto/blackbox/testdata-qt/dbus-adaptors/car.qbs b/tests/auto/blackbox/testdata-qt/dbus-adaptors/car.qbs
index f89a8473b..34aab4701 100644
--- a/tests/auto/blackbox/testdata-qt/dbus-adaptors/car.qbs
+++ b/tests/auto/blackbox/testdata-qt/dbus-adaptors/car.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
name: "car"
condition: Qt.dbus.present
diff --git a/tests/auto/blackbox/testdata-qt/dbus-interfaces/controller.qbs b/tests/auto/blackbox/testdata-qt/dbus-interfaces/controller.qbs
index f170d4a20..a1bde7f10 100644
--- a/tests/auto/blackbox/testdata-qt/dbus-interfaces/controller.qbs
+++ b/tests/auto/blackbox/testdata-qt/dbus-interfaces/controller.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
name: "controller"
condition: Qt.dbus.present
diff --git a/tests/auto/blackbox/testdata-qt/included-moc-cpp/included-moc-cpp.qbs b/tests/auto/blackbox/testdata-qt/included-moc-cpp/included-moc-cpp.qbs
new file mode 100644
index 000000000..1ed85ccdd
--- /dev/null
+++ b/tests/auto/blackbox/testdata-qt/included-moc-cpp/included-moc-cpp.qbs
@@ -0,0 +1,9 @@
+import qbs
+
+QtApplication {
+ files: [
+ "main.cpp",
+ "myobject.cpp",
+ "myobject.h",
+ ]
+}
diff --git a/tests/auto/blackbox/testdata-qt/included-moc-cpp/main.cpp b/tests/auto/blackbox/testdata-qt/included-moc-cpp/main.cpp
new file mode 100644
index 000000000..5323e4c98
--- /dev/null
+++ b/tests/auto/blackbox/testdata-qt/included-moc-cpp/main.cpp
@@ -0,0 +1,7 @@
+#include "myobject.h"
+
+int main()
+{
+ MyObject o;
+ QObject::connect(&o, &QObject::destroyed, [] { });
+}
diff --git a/tests/auto/blackbox/testdata-qt/included-moc-cpp/myobject.cpp b/tests/auto/blackbox/testdata-qt/included-moc-cpp/myobject.cpp
new file mode 100644
index 000000000..de0988c24
--- /dev/null
+++ b/tests/auto/blackbox/testdata-qt/included-moc-cpp/myobject.cpp
@@ -0,0 +1,3 @@
+#include "myobject.h"
+
+#include <moc_myobject.cpp>
diff --git a/tests/auto/blackbox/testdata-qt/included-moc-cpp/myobject.h b/tests/auto/blackbox/testdata-qt/included-moc-cpp/myobject.h
new file mode 100644
index 000000000..61c2920aa
--- /dev/null
+++ b/tests/auto/blackbox/testdata-qt/included-moc-cpp/myobject.h
@@ -0,0 +1,11 @@
+#ifndef MYOBJECT_H
+#define MYOBJECT_H
+
+#include <QObject>
+
+class MyObject : public QObject
+{
+ Q_OBJECT
+};
+
+#endif
diff --git a/tests/auto/blackbox/testdata-qt/lrelease/lrelease.qbs b/tests/auto/blackbox/testdata-qt/lrelease/lrelease.qbs
index b4119402f..978aba333 100644
--- a/tests/auto/blackbox/testdata-qt/lrelease/lrelease.qbs
+++ b/tests/auto/blackbox/testdata-qt/lrelease/lrelease.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
name: "lrelease-test"
type: ["ts"]
diff --git a/tests/auto/blackbox/testdata-qt/mixed-build-variants/mixed-build-variants.qbs b/tests/auto/blackbox/testdata-qt/mixed-build-variants/mixed-build-variants.qbs
index 8f2c1c7fd..7d8ab1b90 100644
--- a/tests/auto/blackbox/testdata-qt/mixed-build-variants/mixed-build-variants.qbs
+++ b/tests/auto/blackbox/testdata-qt/mixed-build-variants/mixed-build-variants.qbs
@@ -1,5 +1,3 @@
-import qbs
-
QtApplication {
Properties {
condition: qbs.toolchain.contains("msvc")
diff --git a/tests/auto/blackbox/testdata-qt/moc-and-cxx-combining/moc-and-cxx-combining.qbs b/tests/auto/blackbox/testdata-qt/moc-and-cxx-combining/moc-and-cxx-combining.qbs
index 1b0b9f54a..f5463853b 100644
--- a/tests/auto/blackbox/testdata-qt/moc-and-cxx-combining/moc-and-cxx-combining.qbs
+++ b/tests/auto/blackbox/testdata-qt/moc-and-cxx-combining/moc-and-cxx-combining.qbs
@@ -1,5 +1,3 @@
-import qbs
-
QtApplication {
cpp.combineCxxSources: true
files: ["main.cpp", "myobject.h", "myobject.cpp"]
diff --git a/tests/auto/blackbox/testdata-qt/moc-flags/moc-flags.qbs b/tests/auto/blackbox/testdata-qt/moc-flags/moc-flags.qbs
index d42c7ad87..7cc4e5c4d 100644
--- a/tests/auto/blackbox/testdata-qt/moc-flags/moc-flags.qbs
+++ b/tests/auto/blackbox/testdata-qt/moc-flags/moc-flags.qbs
@@ -1,5 +1,3 @@
-import qbs
-
QtApplication {
files: ["main.cpp", "blubb.h"]
}
diff --git a/tests/auto/blackbox/testdata-qt/moc-same-file-name/moc-same-file-name.qbs b/tests/auto/blackbox/testdata-qt/moc-same-file-name/moc-same-file-name.qbs
index 42fcff82e..461fec50e 100644
--- a/tests/auto/blackbox/testdata-qt/moc-same-file-name/moc-same-file-name.qbs
+++ b/tests/auto/blackbox/testdata-qt/moc-same-file-name/moc-same-file-name.qbs
@@ -1,5 +1,3 @@
-import qbs
-
QtApplication {
name: "app"
cpp.cxxLanguageVersion: "c++11"
diff --git a/tests/auto/blackbox/testdata-qt/pkgconfig/pkgconfig.qbs b/tests/auto/blackbox/testdata-qt/pkgconfig/pkgconfig.qbs
index 132ce337a..04b0097ef 100644
--- a/tests/auto/blackbox/testdata-qt/pkgconfig/pkgconfig.qbs
+++ b/tests/auto/blackbox/testdata-qt/pkgconfig/pkgconfig.qbs
@@ -1,4 +1,3 @@
-import qbs 1.0
import qbs.Probes
Project {
diff --git a/tests/auto/blackbox/testdata-qt/plugin-meta-data/plugin-meta-data.qbs b/tests/auto/blackbox/testdata-qt/plugin-meta-data/plugin-meta-data.qbs
index d44b82d4a..f018b34e0 100644
--- a/tests/auto/blackbox/testdata-qt/plugin-meta-data/plugin-meta-data.qbs
+++ b/tests/auto/blackbox/testdata-qt/plugin-meta-data/plugin-meta-data.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
QtApplication {
name: "app"
diff --git a/tests/auto/blackbox/testdata-qt/plugin-support/modules/m1/m1.qbs b/tests/auto/blackbox/testdata-qt/plugin-support/modules/m1/m1.qbs
new file mode 100644
index 000000000..a4cad304f
--- /dev/null
+++ b/tests/auto/blackbox/testdata-qt/plugin-support/modules/m1/m1.qbs
@@ -0,0 +1,12 @@
+Module {
+ property bool useDummy
+ Depends { name: "Qt.plugin_support" }
+ Properties {
+ condition: useDummy
+ Qt.plugin_support.pluginsByType: ({imageformats: "dummy"})
+ }
+ Properties {
+ condition: Qt.plugin_support.allPluginsByType && Qt.plugin_support.allPluginsByType.imageformats
+ Qt.plugin_support.pluginsByType: ({imageformats: Qt.plugin_support.allPluginsByType.imageformats[0]})
+ }
+}
diff --git a/tests/auto/blackbox/testdata-qt/plugin-support/modules/m2/m2.qbs b/tests/auto/blackbox/testdata-qt/plugin-support/modules/m2/m2.qbs
new file mode 100644
index 000000000..c4730ab6b
--- /dev/null
+++ b/tests/auto/blackbox/testdata-qt/plugin-support/modules/m2/m2.qbs
@@ -0,0 +1,7 @@
+Module {
+ Depends { name: "Qt.plugin_support" }
+ Properties {
+ condition: Qt.plugin_support.allPluginsByType && Qt.plugin_support.allPluginsByType.imageformats
+ Qt.plugin_support.pluginsByType: ({imageformats: Qt.plugin_support.allPluginsByType.imageformats[1]})
+ }
+}
diff --git a/tests/auto/blackbox/testdata-qt/plugin-support/plugin-support-main.cpp b/tests/auto/blackbox/testdata-qt/plugin-support/plugin-support-main.cpp
new file mode 100644
index 000000000..237c8ce18
--- /dev/null
+++ b/tests/auto/blackbox/testdata-qt/plugin-support/plugin-support-main.cpp
@@ -0,0 +1 @@
+int main() {}
diff --git a/tests/auto/blackbox/testdata-qt/plugin-support/plugin-support.qbs b/tests/auto/blackbox/testdata-qt/plugin-support/plugin-support.qbs
new file mode 100644
index 000000000..c554a7dc2
--- /dev/null
+++ b/tests/auto/blackbox/testdata-qt/plugin-support/plugin-support.qbs
@@ -0,0 +1,18 @@
+QtGuiApplication {
+ Probe {
+ id: staticProbe
+ property bool isStaticQt: Qt.gui.isStaticLibrary
+ property var plugins: Qt.plugin_support.effectivePluginsByType
+ property var allPlugins: Qt.plugin_support.allPluginsByType
+ configure: {
+ console.info("static Qt: " + isStaticQt);
+ console.info("requested image plugins: %" + plugins.imageformats + "%");
+ console.info("all image plugins: #" + allPlugins.imageformats + "#");
+ console.info("platform plugin count: " + (plugins.platforms || []).length);
+ }
+ }
+
+ Depends { name: "m1" }
+ Depends { name: "m2" }
+ files: "plugin-support-main.cpp"
+}
diff --git a/tests/auto/blackbox/testdata-qt/qml-debugging/qml-debugging.qbs b/tests/auto/blackbox/testdata-qt/qml-debugging/qml-debugging.qbs
index 3606b4aa3..8176a7c3e 100644
--- a/tests/auto/blackbox/testdata-qt/qml-debugging/qml-debugging.qbs
+++ b/tests/auto/blackbox/testdata-qt/qml-debugging/qml-debugging.qbs
@@ -1,5 +1,3 @@
-import qbs
-
QtApplication {
name: "debuggable-app"
consoleApplication: true
diff --git a/tests/auto/blackbox/testdata-qt/qobject-in-mm/qobject-in-mm.qbs b/tests/auto/blackbox/testdata-qt/qobject-in-mm/qobject-in-mm.qbs
index 2f819d012..3ceb8515b 100644
--- a/tests/auto/blackbox/testdata-qt/qobject-in-mm/qobject-in-mm.qbs
+++ b/tests/auto/blackbox/testdata-qt/qobject-in-mm/qobject-in-mm.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
Depends { name: "Qt.core" }
files: ["main.mm"]
diff --git a/tests/auto/blackbox/testdata-qt/qrc/i.qbs b/tests/auto/blackbox/testdata-qt/qrc/i.qbs
index b6aeb9c15..c005490c4 100644
--- a/tests/auto/blackbox/testdata-qt/qrc/i.qbs
+++ b/tests/auto/blackbox/testdata-qt/qrc/i.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
Product {
consoleApplication: true
diff --git a/tests/auto/blackbox/testdata-qt/qt-keywords/qt-keywords.qbs b/tests/auto/blackbox/testdata-qt/qt-keywords/qt-keywords.qbs
index 59e964258..ddd93827d 100644
--- a/tests/auto/blackbox/testdata-qt/qt-keywords/qt-keywords.qbs
+++ b/tests/auto/blackbox/testdata-qt/qt-keywords/qt-keywords.qbs
@@ -1,5 +1,3 @@
-import qbs
-
QtApplication {
files: ["main.cpp"]
}
diff --git a/tests/auto/blackbox/testdata-qt/qtscxml/qtscxml.qbs b/tests/auto/blackbox/testdata-qt/qtscxml/qtscxml.qbs
index e010e76e6..43151bc56 100644
--- a/tests/auto/blackbox/testdata-qt/qtscxml/qtscxml.qbs
+++ b/tests/auto/blackbox/testdata-qt/qtscxml/qtscxml.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.Environment
import qbs.FileInfo
@@ -29,10 +28,7 @@ Project {
Depends { name: "app" }
Rule {
inputsFromDependencies: ["application"]
- Artifact {
- filePath: "dummy"
- fileTags: ["runner"]
- }
+ outputFileTags: ["runner"]
prepare: {
var cmd = new Command(input.filePath);
cmd.description = "running " + input.filePath;
diff --git a/tests/auto/blackbox/testdata-qt/quick-compiler/quick-compiler.qbs b/tests/auto/blackbox/testdata-qt/quick-compiler/quick-compiler.qbs
index 5f79df581..b141c8672 100644
--- a/tests/auto/blackbox/testdata-qt/quick-compiler/quick-compiler.qbs
+++ b/tests/auto/blackbox/testdata-qt/quick-compiler/quick-compiler.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
Depends { name: "Qt.quick" }
Qt.quick.useCompiler: Qt.quick.compilerAvailable
diff --git a/tests/auto/blackbox/testdata-qt/remove-moc-header-from-file-list/remove-moc-header-from-file-list.qbs b/tests/auto/blackbox/testdata-qt/remove-moc-header-from-file-list/remove-moc-header-from-file-list.qbs
index 120f10b0d..b8ac33b96 100644
--- a/tests/auto/blackbox/testdata-qt/remove-moc-header-from-file-list/remove-moc-header-from-file-list.qbs
+++ b/tests/auto/blackbox/testdata-qt/remove-moc-header-from-file-list/remove-moc-header-from-file-list.qbs
@@ -1,5 +1,3 @@
-import qbs
-
QtApplication {
name: "p"
files: [
diff --git a/tests/auto/blackbox/testdata-qt/static-qt-plugin-linking/static-qt-plugin-linking.qbs b/tests/auto/blackbox/testdata-qt/static-qt-plugin-linking/static-qt-plugin-linking.qbs
index a72ce0098..ed479c8f1 100644
--- a/tests/auto/blackbox/testdata-qt/static-qt-plugin-linking/static-qt-plugin-linking.qbs
+++ b/tests/auto/blackbox/testdata-qt/static-qt-plugin-linking/static-qt-plugin-linking.qbs
@@ -1,5 +1,3 @@
-import qbs
-
StaticLibrary {
name: "somelib"
Probe {
@@ -13,5 +11,6 @@ StaticLibrary {
}
Depends { name: "Qt.core" }
+ Depends { name: "Qt.gui" }
Depends { name: "Qt.qminimal"; condition: Qt.core.staticBuild; }
}
diff --git a/tests/auto/blackbox/testdata-qt/trackAddMocInclude/before/test.qbs b/tests/auto/blackbox/testdata-qt/trackAddMocInclude/before/test.qbs
index 0e341c21f..0aa1b1d23 100644
--- a/tests/auto/blackbox/testdata-qt/trackAddMocInclude/before/test.qbs
+++ b/tests/auto/blackbox/testdata-qt/trackAddMocInclude/before/test.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Application {
Depends { name: "Qt.core" }
cpp.cxxLanguageVersion: "c++11"
diff --git a/tests/auto/blackbox/testdata-qt/trackQObjChange/i.qbs b/tests/auto/blackbox/testdata-qt/trackQObjChange/i.qbs
index c18fab086..348017547 100644
--- a/tests/auto/blackbox/testdata-qt/trackQObjChange/i.qbs
+++ b/tests/auto/blackbox/testdata-qt/trackQObjChange/i.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
Product {
type: "application"
diff --git a/tests/auto/blackbox/testdata-qt/unmocable/unmocable.qbs b/tests/auto/blackbox/testdata-qt/unmocable/unmocable.qbs
index bb86fb223..780d27e30 100644
--- a/tests/auto/blackbox/testdata-qt/unmocable/unmocable.qbs
+++ b/tests/auto/blackbox/testdata-qt/unmocable/unmocable.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Application {
Depends { name: "Qt.core" }
files: ["main.cpp"]
diff --git a/tests/auto/blackbox/testdata/QTBUG-51237/modules/mymodule/mymodule.qbs b/tests/auto/blackbox/testdata/QTBUG-51237/modules/mymodule/mymodule.qbs
index 223da0b3c..55495a950 100644
--- a/tests/auto/blackbox/testdata/QTBUG-51237/modules/mymodule/mymodule.qbs
+++ b/tests/auto/blackbox/testdata/QTBUG-51237/modules/mymodule/mymodule.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
property stringList theProperty: []
//property stringList otherProperty: theProperty.concat([])
diff --git a/tests/auto/blackbox/testdata/QTBUG-51237/qtbug-51237.qbs b/tests/auto/blackbox/testdata/QTBUG-51237/qtbug-51237.qbs
index 6edea9dc6..849a943f8 100644
--- a/tests/auto/blackbox/testdata/QTBUG-51237/qtbug-51237.qbs
+++ b/tests/auto/blackbox/testdata/QTBUG-51237/qtbug-51237.qbs
@@ -1,14 +1,9 @@
-import qbs
-
Product {
type: "custom"
Depends { name: "mymodule" }
Rule {
multiplex: true
- Artifact {
- filePath: "dummy.custom"
- fileTags: ["custom"]
- }
+ outputFileTags: ["custom"]
prepare: {
var theProperty = product.mymodule.theProperty;
if (!theProperty)
diff --git a/tests/auto/blackbox/testdata/add-filetag-to-generated-artifact/add-filetag-to-generated-artifact.qbs b/tests/auto/blackbox/testdata/add-filetag-to-generated-artifact/add-filetag-to-generated-artifact.qbs
index 1bc9b15ef..7fba9c988 100644
--- a/tests/auto/blackbox/testdata/add-filetag-to-generated-artifact/add-filetag-to-generated-artifact.qbs
+++ b/tests/auto/blackbox/testdata/add-filetag-to-generated-artifact/add-filetag-to-generated-artifact.qbs
@@ -1,11 +1,12 @@
-import qbs
import qbs.File
Project {
+ property bool enableTagging
CppApplication {
name: "my_app"
files: "main.cpp"
Group {
+ condition: project.enableTagging
fileTagsFilter: ["application"]
fileTags: ["app-to-compress"]
}
diff --git a/tests/auto/blackbox/testdata/always-run/rule.qbs b/tests/auto/blackbox/testdata/always-run/rule.qbs
index 6dbb5c845..7d61e5daf 100644
--- a/tests/auto/blackbox/testdata/always-run/rule.qbs
+++ b/tests/auto/blackbox/testdata/always-run/rule.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.TextFile
Product {
diff --git a/tests/auto/blackbox/testdata/always-run/transformer.qbs b/tests/auto/blackbox/testdata/always-run/transformer.qbs
index b5c83eaab..8ae44fb77 100644
--- a/tests/auto/blackbox/testdata/always-run/transformer.qbs
+++ b/tests/auto/blackbox/testdata/always-run/transformer.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.TextFile
Product {
diff --git a/tests/auto/blackbox/testdata/archiver/archivable.qbs b/tests/auto/blackbox/testdata/archiver/archivable.qbs
index d6a8e048d..8e521ddf0 100644
--- a/tests/auto/blackbox/testdata/archiver/archivable.qbs
+++ b/tests/auto/blackbox/testdata/archiver/archivable.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
name: "archivable"
type: "archiver.archive"
diff --git a/tests/auto/blackbox/testdata/artifact-scanning/artifact-scanning.qbs b/tests/auto/blackbox/testdata/artifact-scanning/artifact-scanning.qbs
index 6fa1b5e93..bcd236163 100644
--- a/tests/auto/blackbox/testdata/artifact-scanning/artifact-scanning.qbs
+++ b/tests/auto/blackbox/testdata/artifact-scanning/artifact-scanning.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
CppApplication {
name: "p1"
diff --git a/tests/auto/blackbox/testdata/artifacts-map-change-tracking/artifacts-map-change-tracking.qbs b/tests/auto/blackbox/testdata/artifacts-map-change-tracking/artifacts-map-change-tracking.qbs
index 0d3c361f6..879138536 100644
--- a/tests/auto/blackbox/testdata/artifacts-map-change-tracking/artifacts-map-change-tracking.qbs
+++ b/tests/auto/blackbox/testdata/artifacts-map-change-tracking/artifacts-map-change-tracking.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.File
Project {
diff --git a/tests/auto/blackbox/testdata/artifacts-map-invalidation/artifacts-map-invalidation.qbs b/tests/auto/blackbox/testdata/artifacts-map-invalidation/artifacts-map-invalidation.qbs
index 9d0c81d26..cd4e9b790 100644
--- a/tests/auto/blackbox/testdata/artifacts-map-invalidation/artifacts-map-invalidation.qbs
+++ b/tests/auto/blackbox/testdata/artifacts-map-invalidation/artifacts-map-invalidation.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.File
Project {
diff --git a/tests/auto/blackbox/testdata/artifacts-map-race-condition/artifacts-map-race-condition.qbs b/tests/auto/blackbox/testdata/artifacts-map-race-condition/artifacts-map-race-condition.qbs
index 0ab4cea88..86255c6c3 100644
--- a/tests/auto/blackbox/testdata/artifacts-map-race-condition/artifacts-map-race-condition.qbs
+++ b/tests/auto/blackbox/testdata/artifacts-map-race-condition/artifacts-map-race-condition.qbs
@@ -1,11 +1,9 @@
-import qbs
-
Product {
name: "p"
type: ["custom1", "custom2", "custom3", "custom4", "custom5"]
Rule {
multiplex: true
- Artifact { filePath: "dummy"; fileTags: "custom1" }
+ outputFileTags: "custom1"
prepare: {
var cmd = new JavaScriptCommand();
cmd.description = "reader1";
@@ -24,7 +22,7 @@ Product {
}
Rule {
multiplex: true
- Artifact { filePath: "helperdummy"; fileTags: "helper" }
+ outputFileTags: "helper"
prepare: {
var cmd = new JavaScriptCommand();
cmd.description = "helper";
@@ -55,7 +53,7 @@ Product {
}
Rule {
multiplex: true
- Artifact { filePath: "dummy2"; fileTags: "custom5" }
+ outputFileTags: "custom5"
prepare: {
var cmd = new JavaScriptCommand();
cmd.description = "reader2";
diff --git a/tests/auto/blackbox/testdata/assembly/assembly.qbs b/tests/auto/blackbox/testdata/assembly/assembly.qbs
index 7dd82731a..f7bd4ecad 100644
--- a/tests/auto/blackbox/testdata/assembly/assembly.qbs
+++ b/tests/auto/blackbox/testdata/assembly/assembly.qbs
@@ -1,4 +1,3 @@
-import qbs 1.0
import qbs.TextFile
Project {
diff --git a/tests/auto/blackbox/testdata/autotest-with-dependencies/autotest-with-dependencies.qbs b/tests/auto/blackbox/testdata/autotest-with-dependencies/autotest-with-dependencies.qbs
index 6850ee138..92d5ec6dd 100644
--- a/tests/auto/blackbox/testdata/autotest-with-dependencies/autotest-with-dependencies.qbs
+++ b/tests/auto/blackbox/testdata/autotest-with-dependencies/autotest-with-dependencies.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.FileInfo
Project {
@@ -6,18 +5,18 @@ Project {
name: "helper-app"
type: ["application", "test-helper"]
consoleApplication: true
+ install: true
files: "helper-main.cpp"
cpp.executableSuffix: ".exe"
Group {
fileTagsFilter: "application"
fileTags: "test-helper"
- qbs.install: true
- qbs.installDir: "bin"
}
}
CppApplication {
name: "test-app"
type: ["application", "autotest"]
+ Depends { name: "autotest" }
files: "test-main.cpp"
}
diff --git a/tests/auto/blackbox/testdata/autotests/autotests.qbs b/tests/auto/blackbox/testdata/autotests/autotests.qbs
new file mode 100644
index 000000000..a2c2646dc
--- /dev/null
+++ b/tests/auto/blackbox/testdata/autotests/autotests.qbs
@@ -0,0 +1,4 @@
+Project {
+ references: ["test1", "test2", "test3"]
+ AutotestRunner {}
+}
diff --git a/tests/auto/blackbox/testdata/autotests/test1/test1.cpp b/tests/auto/blackbox/testdata/autotests/test1/test1.cpp
new file mode 100644
index 000000000..08d9d4782
--- /dev/null
+++ b/tests/auto/blackbox/testdata/autotests/test1/test1.cpp
@@ -0,0 +1,12 @@
+#include <cstdlib>
+#include <iostream>
+
+int main(int argc, char *[])
+{
+ if (argc != 2) {
+ std::cerr << "This test needs exactly one argument" << std::endl;
+ std::cerr << "FAIL" << std::endl;
+ return EXIT_FAILURE;
+ }
+ std::cout << "PASS" << std::endl;
+}
diff --git a/tests/auto/blackbox/testdata/autotests/test1/test1.qbs b/tests/auto/blackbox/testdata/autotests/test1/test1.qbs
new file mode 100644
index 000000000..8b078a759
--- /dev/null
+++ b/tests/auto/blackbox/testdata/autotests/test1/test1.qbs
@@ -0,0 +1,9 @@
+CppApplication {
+ name: "test1"
+ type: base.concat("autotest")
+
+ Depends { name: "autotest" }
+ autotest.arguments: "--dummy"
+
+ files: "test1.cpp"
+}
diff --git a/tests/auto/blackbox/testdata/autotests/test2/test2-resource.txt b/tests/auto/blackbox/testdata/autotests/test2/test2-resource.txt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/auto/blackbox/testdata/autotests/test2/test2-resource.txt
diff --git a/tests/auto/blackbox/testdata/autotests/test2/test2.cpp b/tests/auto/blackbox/testdata/autotests/test2/test2.cpp
new file mode 100644
index 000000000..dcc3d270a
--- /dev/null
+++ b/tests/auto/blackbox/testdata/autotests/test2/test2.cpp
@@ -0,0 +1,13 @@
+#include <cstdlib>
+#include <fstream>
+#include <iostream>
+
+int main()
+{
+ std::ifstream input("test2-resource.txt");
+ if (!input.is_open()) {
+ std::cerr << "Test resource not found";
+ return EXIT_FAILURE;
+ }
+ std::cout << "PASS" << std::endl;
+}
diff --git a/tests/auto/blackbox/testdata/autotests/test2/test2.qbs b/tests/auto/blackbox/testdata/autotests/test2/test2.qbs
new file mode 100644
index 000000000..2ce6ea5fa
--- /dev/null
+++ b/tests/auto/blackbox/testdata/autotests/test2/test2.qbs
@@ -0,0 +1,9 @@
+CppApplication {
+ name: "test2"
+ type: base.concat("autotest")
+
+ Depends { name: "autotest" }
+ autotest.workingDir: sourceDirectory
+
+ files: "test2.cpp"
+}
diff --git a/tests/auto/blackbox/testdata/autotests/test3/test3.cpp b/tests/auto/blackbox/testdata/autotests/test3/test3.cpp
new file mode 100644
index 000000000..2ce7e2bf6
--- /dev/null
+++ b/tests/auto/blackbox/testdata/autotests/test3/test3.cpp
@@ -0,0 +1,9 @@
+#include <cstdlib>
+#include <iostream>
+
+int main()
+{
+ std::cerr << "I am an awful test";
+ std::cerr << "FAIL" << std::endl;
+ return EXIT_FAILURE;
+}
diff --git a/tests/auto/blackbox/testdata/autotests/test3/test3.qbs b/tests/auto/blackbox/testdata/autotests/test3/test3.qbs
new file mode 100644
index 000000000..34550dee7
--- /dev/null
+++ b/tests/auto/blackbox/testdata/autotests/test3/test3.qbs
@@ -0,0 +1,9 @@
+CppApplication {
+ name: "test3"
+ type: base.concat("autotest")
+
+ Depends { name: "autotest" }
+ autotest.allowFailure: true
+
+ files: "test3.cpp"
+}
diff --git a/tests/auto/blackbox/testdata/aux-inputs-from-deps/aux-inputs-from-deps.qbs b/tests/auto/blackbox/testdata/aux-inputs-from-deps/aux-inputs-from-deps.qbs
index 620ae2ea0..6a9e9823d 100644
--- a/tests/auto/blackbox/testdata/aux-inputs-from-deps/aux-inputs-from-deps.qbs
+++ b/tests/auto/blackbox/testdata/aux-inputs-from-deps/aux-inputs-from-deps.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.File
import qbs.TextFile
diff --git a/tests/auto/blackbox/testdata/badInterpreter/badInterpreter.qbs b/tests/auto/blackbox/testdata/badInterpreter/badInterpreter.qbs
index a45391478..bef82a003 100644
--- a/tests/auto/blackbox/testdata/badInterpreter/badInterpreter.qbs
+++ b/tests/auto/blackbox/testdata/badInterpreter/badInterpreter.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
qbsSearchPaths: base.concat(["qbs"])
diff --git a/tests/auto/blackbox/testdata/badInterpreter/qbs/modules/script-test/script-test.qbs b/tests/auto/blackbox/testdata/badInterpreter/qbs/modules/script-test/script-test.qbs
index 79c008cf6..4d043ee59 100644
--- a/tests/auto/blackbox/testdata/badInterpreter/qbs/modules/script-test/script-test.qbs
+++ b/tests/auto/blackbox/testdata/badInterpreter/qbs/modules/script-test/script-test.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.FileInfo
import qbs.TextFile
diff --git a/tests/auto/blackbox/testdata/bom-sources/bom-sources.qbs b/tests/auto/blackbox/testdata/bom-sources/bom-sources.qbs
index 8b5dbb238..4446355bc 100644
--- a/tests/auto/blackbox/testdata/bom-sources/bom-sources.qbs
+++ b/tests/auto/blackbox/testdata/bom-sources/bom-sources.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
name: "app"
files: ["main.cpp", "theheader.h"]
diff --git a/tests/auto/blackbox/testdata/build-data-of-disabled-product/build-data-of-disabled-product.qbs b/tests/auto/blackbox/testdata/build-data-of-disabled-product/build-data-of-disabled-product.qbs
index 7e9d4779b..d71facf15 100644
--- a/tests/auto/blackbox/testdata/build-data-of-disabled-product/build-data-of-disabled-product.qbs
+++ b/tests/auto/blackbox/testdata/build-data-of-disabled-product/build-data-of-disabled-product.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
name: "app"
files: ["main.cpp", "test.cpp"]
diff --git a/tests/auto/blackbox/testdata/build-directories/build-directories.qbs b/tests/auto/blackbox/testdata/build-directories/build-directories.qbs
index dd8fc6c05..be7672ecf 100644
--- a/tests/auto/blackbox/testdata/build-directories/build-directories.qbs
+++ b/tests/auto/blackbox/testdata/build-directories/build-directories.qbs
@@ -1,15 +1,10 @@
-import qbs
-
Project {
Product {
name: "p1"
type: "blubb1"
Rule {
multiplex: true
- Artifact {
- filePath: "dummy1.txt"
- fileTags: product.type
- }
+ outputFileTags: "blubb1"
prepare: {
var cmd = new JavaScriptCommand();
cmd.silent = true;
@@ -26,10 +21,7 @@ Project {
Depends { name: "p1" }
Rule {
inputsFromDependencies: "blubb1"
- Artifact {
- filePath: "dummy2.txt"
- fileTags: product.type
- }
+ outputFileTags: "blubb2"
prepare: {
var cmd = new JavaScriptCommand();
cmd.silent = true;
diff --git a/tests/auto/blackbox/testdata/build-graph-versions/build-graph-versions.qbs b/tests/auto/blackbox/testdata/build-graph-versions/build-graph-versions.qbs
index f6ae698a0..da7536315 100644
--- a/tests/auto/blackbox/testdata/build-graph-versions/build-graph-versions.qbs
+++ b/tests/auto/blackbox/testdata/build-graph-versions/build-graph-versions.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
files: ["main.cpp"]
}
diff --git a/tests/auto/blackbox/testdata/buildenv-change/buildenv-change.qbs b/tests/auto/blackbox/testdata/buildenv-change/buildenv-change.qbs
index c2445eafd..6c0bcc73e 100644
--- a/tests/auto/blackbox/testdata/buildenv-change/buildenv-change.qbs
+++ b/tests/auto/blackbox/testdata/buildenv-change/buildenv-change.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
Probe {
id: dummy
diff --git a/tests/auto/blackbox/testdata/change-in-disabled-product/change-in-disabled-product.qbs b/tests/auto/blackbox/testdata/change-in-disabled-product/change-in-disabled-product.qbs
index 8a99d2c8c..2f0dfc08c 100644
--- a/tests/auto/blackbox/testdata/change-in-disabled-product/change-in-disabled-product.qbs
+++ b/tests/auto/blackbox/testdata/change-in-disabled-product/change-in-disabled-product.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
condition: false
files: [
diff --git a/tests/auto/blackbox/testdata/change-in-imported-file/change-in-imported-file.qbs b/tests/auto/blackbox/testdata/change-in-imported-file/change-in-imported-file.qbs
index cb8bf0668..cf5354268 100644
--- a/tests/auto/blackbox/testdata/change-in-imported-file/change-in-imported-file.qbs
+++ b/tests/auto/blackbox/testdata/change-in-imported-file/change-in-imported-file.qbs
@@ -1,4 +1,3 @@
-import qbs
import "prepare.js" as PrepareHelper
Product {
diff --git a/tests/auto/blackbox/testdata/change-tracking-and-multiplexing/change-tracking-and-multiplexing.qbs b/tests/auto/blackbox/testdata/change-tracking-and-multiplexing/change-tracking-and-multiplexing.qbs
index 78bd8abda..d1215355c 100644
--- a/tests/auto/blackbox/testdata/change-tracking-and-multiplexing/change-tracking-and-multiplexing.qbs
+++ b/tests/auto/blackbox/testdata/change-tracking-and-multiplexing/change-tracking-and-multiplexing.qbs
@@ -1,5 +1,3 @@
-import qbs
-
StaticLibrary {
name: "l"
diff --git a/tests/auto/blackbox/testdata/changed-files/changed-files.qbs b/tests/auto/blackbox/testdata/changed-files/changed-files.qbs
index dd222479f..e5790d2e9 100644
--- a/tests/auto/blackbox/testdata/changed-files/changed-files.qbs
+++ b/tests/auto/blackbox/testdata/changed-files/changed-files.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.TextFile
CppApplication {
diff --git a/tests/auto/blackbox/testdata/changed-inputs-from-dependencies/changed-inputs-from-dependencies.qbs b/tests/auto/blackbox/testdata/changed-inputs-from-dependencies/changed-inputs-from-dependencies.qbs
new file mode 100644
index 000000000..fb92d1838
--- /dev/null
+++ b/tests/auto/blackbox/testdata/changed-inputs-from-dependencies/changed-inputs-from-dependencies.qbs
@@ -0,0 +1,58 @@
+import qbs.File
+import qbs.TextFile
+
+Project {
+ Product {
+ name: "dep"
+ type: "dep_tag"
+
+ files: "input.txt"
+
+ FileTagger { patterns: "*.txt"; fileTags: "inp_tag" }
+
+ Rule {
+ inputs: "inp_tag"
+ Artifact { filePath: input.baseName + ".intermediate"; fileTags: "int_tag" }
+ prepare: {
+ var cmd = new JavaScriptCommand();
+ cmd.description = "generating " + output.fileName;
+ cmd.sourceCode = function() { File.copy(input.filePath, output.filePath); }
+ return cmd;
+ }
+ }
+ Rule {
+ inputs: "int_tag"
+ Artifact { filePath: input.baseName + ".dep"; fileTags: "dep_tag" }
+ prepare: {
+ var cmd = new JavaScriptCommand();
+ cmd.description = "generating " + output.fileName;
+ cmd.sourceCode = function() { File.copy(input.filePath, output.filePath); }
+ return cmd;
+ }
+ }
+ }
+ Product {
+ name: "p"
+ type: "p_tag"
+
+ Depends { name: "dep" }
+
+ Rule {
+ inputsFromDependencies: "dep_tag"
+ outputFileTags: "p_tag"
+ outputArtifacts: {
+ var dummy = new TextFile(input.filePath, TextFile.ReadOnly);
+ dummy.close();
+ return [{ filePath: input.baseName + ".p", fileTags: "p_tag" }]
+ }
+
+ prepare: {
+ console.info("running final prepare script");
+ var cmd = new JavaScriptCommand();
+ cmd.description = "generating " + output.fileName;
+ cmd.sourceCode = function() { File.copy(input.filePath, output.filePath); }
+ return cmd;
+ }
+ }
+ }
+}
diff --git a/tests/auto/blackbox/testdata/changed-inputs-from-dependencies/input.txt b/tests/auto/blackbox/testdata/changed-inputs-from-dependencies/input.txt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/auto/blackbox/testdata/changed-inputs-from-dependencies/input.txt
diff --git a/tests/auto/blackbox/testdata/changed-rule-inputs/changed-rule-inputs.qbs b/tests/auto/blackbox/testdata/changed-rule-inputs/changed-rule-inputs.qbs
index 8aef7b9b6..d11613c44 100644
--- a/tests/auto/blackbox/testdata/changed-rule-inputs/changed-rule-inputs.qbs
+++ b/tests/auto/blackbox/testdata/changed-rule-inputs/changed-rule-inputs.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Product {
name: "p1"
diff --git a/tests/auto/blackbox/testdata/check-timestamps/check-timestamps.qbs b/tests/auto/blackbox/testdata/check-timestamps/check-timestamps.qbs
index 32456444c..65c29ca7a 100644
--- a/tests/auto/blackbox/testdata/check-timestamps/check-timestamps.qbs
+++ b/tests/auto/blackbox/testdata/check-timestamps/check-timestamps.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
name: "app"
files: [
diff --git a/tests/auto/blackbox/testdata/choose-module-instance/choose-module-instance.qbs b/tests/auto/blackbox/testdata/choose-module-instance/choose-module-instance.qbs
index 233e21746..5f4148624 100644
--- a/tests/auto/blackbox/testdata/choose-module-instance/choose-module-instance.qbs
+++ b/tests/auto/blackbox/testdata/choose-module-instance/choose-module-instance.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.FileInfo
Project {
diff --git a/tests/auto/blackbox/testdata/choose-module-instance/gerbil.txt.in b/tests/auto/blackbox/testdata/choose-module-instance/gerbil.txt.in
index 53b91dbcd..4722829a3 100644
--- a/tests/auto/blackbox/testdata/choose-module-instance/gerbil.txt.in
+++ b/tests/auto/blackbox/testdata/choose-module-instance/gerbil.txt.in
@@ -1,5 +1,5 @@
I once had a gerbil named Bobby,
Who had an unusual hobby.
-He $DID on a $THING,
-and now -- oh my $IDOL,
+He ${DID} on a ${THING},
+and now -- oh my ${IDOL},
now all that's left is a blobby.
diff --git a/tests/auto/blackbox/testdata/choose-module-instance/modules/texttemplate/texttemplate.qbs b/tests/auto/blackbox/testdata/choose-module-instance/modules/texttemplate/texttemplate.qbs
deleted file mode 100644
index aca755373..000000000
--- a/tests/auto/blackbox/testdata/choose-module-instance/modules/texttemplate/texttemplate.qbs
+++ /dev/null
@@ -1,49 +0,0 @@
-import qbs.TextFile
-
-Module {
- property var dict: ({})
- FileTagger {
- patterns: ["*.in"]
- fileTags: ["texttemplate.input"]
- }
- Rule {
- inputs: ["texttemplate.input"]
- Artifact {
- fileTags: ["text"]
- filePath: input.completeBaseName
- }
- prepare: {
- var cmd = new JavaScriptCommand();
- cmd.silent = true;
- cmd.sourceCode = function() {
- try {
- var src = new TextFile(input.filePath, TextFile.ReadOnly);
- var dst = new TextFile(output.filePath, TextFile.WriteOnly);
- var rex = /\$([A-Z]+)/g;
- while (!src.atEof()) {
- rex.lastIndex = 0;
- var line = src.readLine();
- while (true) {
- var result = rex.exec(line);
- if (!result)
- break;
- var replacement = input.texttemplate.dict[result[1]];
- if (replacement) {
- line = line.substr(0, result.index)
- + replacement
- + line.substr(result.index + result[0].length);
- }
- }
- dst.writeLine(line);
- }
- } finally {
- if (src)
- src.close();
- if (dst)
- dst.close();
- }
- };
- return [cmd];
- }
- }
-}
diff --git a/tests/auto/blackbox/testdata/clean/clean.qbs b/tests/auto/blackbox/testdata/clean/clean.qbs
index 28ebe91f0..ce3a8eb12 100644
--- a/tests/auto/blackbox/testdata/clean/clean.qbs
+++ b/tests/auto/blackbox/testdata/clean/clean.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
DynamicLibrary {
Depends { name: "cpp" }
diff --git a/tests/auto/blackbox/testdata/cli/dotnettest.qbs b/tests/auto/blackbox/testdata/cli/dotnettest.qbs
index c65a54c8c..9a10b8068 100644
--- a/tests/auto/blackbox/testdata/cli/dotnettest.qbs
+++ b/tests/auto/blackbox/testdata/cli/dotnettest.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Application {
Depends { name: "cli" }
diff --git a/tests/auto/blackbox/testdata/cli/fshello.qbs b/tests/auto/blackbox/testdata/cli/fshello.qbs
index 44dbb5c4f..0d503d90f 100644
--- a/tests/auto/blackbox/testdata/cli/fshello.qbs
+++ b/tests/auto/blackbox/testdata/cli/fshello.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Application {
Depends { name: "cli" }
type: "application"
diff --git a/tests/auto/blackbox/testdata/combined-sources/combined-sources.qbs b/tests/auto/blackbox/testdata/combined-sources/combined-sources.qbs
index c22b41c4f..277fc7c3a 100644
--- a/tests/auto/blackbox/testdata/combined-sources/combined-sources.qbs
+++ b/tests/auto/blackbox/testdata/combined-sources/combined-sources.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
name: "theapp"
files: [
diff --git a/tests/auto/blackbox/testdata/command-file/command-file.qbs b/tests/auto/blackbox/testdata/command-file/command-file.qbs
index fb46a0712..8e25221c5 100644
--- a/tests/auto/blackbox/testdata/command-file/command-file.qbs
+++ b/tests/auto/blackbox/testdata/command-file/command-file.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
StaticLibrary {
name: "theLib"
diff --git a/tests/auto/blackbox/testdata/compilerDefinesByLanguage/CppDefinesApp.qbs b/tests/auto/blackbox/testdata/compilerDefinesByLanguage/CppDefinesApp.qbs
index da58f750a..b205ef2a7 100644
--- a/tests/auto/blackbox/testdata/compilerDefinesByLanguage/CppDefinesApp.qbs
+++ b/tests/auto/blackbox/testdata/compilerDefinesByLanguage/CppDefinesApp.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
files: ["app.c"]
diff --git a/tests/auto/blackbox/testdata/compilerDefinesByLanguage/compilerDefinesByLanguage.qbs b/tests/auto/blackbox/testdata/compilerDefinesByLanguage/compilerDefinesByLanguage.qbs
index b4b126a50..001a87745 100644
--- a/tests/auto/blackbox/testdata/compilerDefinesByLanguage/compilerDefinesByLanguage.qbs
+++ b/tests/auto/blackbox/testdata/compilerDefinesByLanguage/compilerDefinesByLanguage.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
CppDefinesApp {
name: "A"
diff --git a/tests/auto/blackbox/testdata/concurrent-executor/concurrent-executor.qbs b/tests/auto/blackbox/testdata/concurrent-executor/concurrent-executor.qbs
index 9031890bd..802aa1450 100644
--- a/tests/auto/blackbox/testdata/concurrent-executor/concurrent-executor.qbs
+++ b/tests/auto/blackbox/testdata/concurrent-executor/concurrent-executor.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.File
import qbs.TextFile
import "util.js" as Utils
@@ -52,10 +51,7 @@ Product {
}
Rule {
inputs: ["intermediate"]
- Artifact {
- filePath: "dummy2.final"
- fileTags: ["final2"]
- }
+ outputFileTags: "final2"
prepare: {
do
Utils.sleep(6000);
diff --git a/tests/auto/blackbox/testdata/conditional-export/conditional-export.qbs b/tests/auto/blackbox/testdata/conditional-export/conditional-export.qbs
index c7b6ae09d..0f2fb2f49 100644
--- a/tests/auto/blackbox/testdata/conditional-export/conditional-export.qbs
+++ b/tests/auto/blackbox/testdata/conditional-export/conditional-export.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
property bool enableExport: false
Product {
diff --git a/tests/auto/blackbox/testdata/conditional-filetagger/conditional-filetagger.qbs b/tests/auto/blackbox/testdata/conditional-filetagger/conditional-filetagger.qbs
index 286eb620a..5f0c93e46 100644
--- a/tests/auto/blackbox/testdata/conditional-filetagger/conditional-filetagger.qbs
+++ b/tests/auto/blackbox/testdata/conditional-filetagger/conditional-filetagger.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
name: "theApp"
property bool enableTagger
diff --git a/tests/auto/blackbox/testdata/configure/configure.qbs b/tests/auto/blackbox/testdata/configure/configure.qbs
index 1a3c02bb5..af5638dde 100644
--- a/tests/auto/blackbox/testdata/configure/configure.qbs
+++ b/tests/auto/blackbox/testdata/configure/configure.qbs
@@ -1,4 +1,3 @@
-import qbs 1.0
import qbs.FileInfo
Project {
diff --git a/tests/auto/blackbox/testdata/configure/modules/definition/module.qbs b/tests/auto/blackbox/testdata/configure/modules/definition/module.qbs
index 56a5492e4..1d647faa2 100644
--- a/tests/auto/blackbox/testdata/configure/modules/definition/module.qbs
+++ b/tests/auto/blackbox/testdata/configure/modules/definition/module.qbs
@@ -1,4 +1,3 @@
-import qbs 1.0
import qbs.Process
Module {
diff --git a/tests/auto/blackbox/testdata/conflicting-artifacts/conflicting-artifacts.qbs b/tests/auto/blackbox/testdata/conflicting-artifacts/conflicting-artifacts.qbs
index f2c5cb2bc..ade073e15 100644
--- a/tests/auto/blackbox/testdata/conflicting-artifacts/conflicting-artifacts.qbs
+++ b/tests/auto/blackbox/testdata/conflicting-artifacts/conflicting-artifacts.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
CppApplication {
name: "a"
diff --git a/tests/auto/blackbox/testdata/cpu-features/cpu-features.qbs b/tests/auto/blackbox/testdata/cpu-features/cpu-features.qbs
index 62f163a95..0bfdaceba 100644
--- a/tests/auto/blackbox/testdata/cpu-features/cpu-features.qbs
+++ b/tests/auto/blackbox/testdata/cpu-features/cpu-features.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
Depends { name: "cpufeatures" }
cpufeatures.x86_sse2: true
diff --git a/tests/auto/blackbox/testdata/cxx-language-version/cxx-language-version.qbs b/tests/auto/blackbox/testdata/cxx-language-version/cxx-language-version.qbs
index e0301eee1..6beaabfa3 100644
--- a/tests/auto/blackbox/testdata/cxx-language-version/cxx-language-version.qbs
+++ b/tests/auto/blackbox/testdata/cxx-language-version/cxx-language-version.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
name: "app"
diff --git a/tests/auto/blackbox/testdata/dependenciesProperty/dependenciesProperty.qbs b/tests/auto/blackbox/testdata/dependenciesProperty/dependenciesProperty.qbs
index ea32bbb52..735bfffbc 100644
--- a/tests/auto/blackbox/testdata/dependenciesProperty/dependenciesProperty.qbs
+++ b/tests/auto/blackbox/testdata/dependenciesProperty/dependenciesProperty.qbs
@@ -1,4 +1,3 @@
-import qbs 1.0
import qbs.TextFile
import qbs.FileInfo
diff --git a/tests/auto/blackbox/testdata/dependency-profile-mismatch/dependency-profile-mismatch.qbs b/tests/auto/blackbox/testdata/dependency-profile-mismatch/dependency-profile-mismatch.qbs
index ef2dee093..8a6f733c0 100644
--- a/tests/auto/blackbox/testdata/dependency-profile-mismatch/dependency-profile-mismatch.qbs
+++ b/tests/auto/blackbox/testdata/dependency-profile-mismatch/dependency-profile-mismatch.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
property string mainProfile
property string depProfile
diff --git a/tests/auto/blackbox/testdata/disappeared-profile/disappeared-profile.qbs b/tests/auto/blackbox/testdata/disappeared-profile/disappeared-profile.qbs
index 659864b14..f1460aea5 100644
--- a/tests/auto/blackbox/testdata/disappeared-profile/disappeared-profile.qbs
+++ b/tests/auto/blackbox/testdata/disappeared-profile/disappeared-profile.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
type: ["out1", "out2"]
Depends { name: "m" }
diff --git a/tests/auto/blackbox/testdata/disappeared-profile/modules-dir/modules/m/m.qbs b/tests/auto/blackbox/testdata/disappeared-profile/modules-dir/modules/m/m.qbs
index a9c898889..3e1747ade 100644
--- a/tests/auto/blackbox/testdata/disappeared-profile/modules-dir/modules/m/m.qbs
+++ b/tests/auto/blackbox/testdata/disappeared-profile/modules-dir/modules/m/m.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
property string p1
property string p2
diff --git a/tests/auto/blackbox/testdata/discard-unused-data/discard-unused-data.qbs b/tests/auto/blackbox/testdata/discard-unused-data/discard-unused-data.qbs
index 6f433cf63..fdd3aa1f7 100644
--- a/tests/auto/blackbox/testdata/discard-unused-data/discard-unused-data.qbs
+++ b/tests/auto/blackbox/testdata/discard-unused-data/discard-unused-data.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
name: "app"
type: base.concat("custom")
@@ -14,10 +12,7 @@ CppApplication {
Rule {
multiplex: true
- Artifact {
- filePath: "dummy.txt"
- fileTags: ["custom"]
- }
+ outputFileTags: "custom"
prepare: {
var cmd = new JavaScriptCommand();
cmd.silent = true;
diff --git a/tests/auto/blackbox/testdata/driver-linker-flags/driver-linker-flags.qbs b/tests/auto/blackbox/testdata/driver-linker-flags/driver-linker-flags.qbs
index 0802bc562..5de0fe053 100644
--- a/tests/auto/blackbox/testdata/driver-linker-flags/driver-linker-flags.qbs
+++ b/tests/auto/blackbox/testdata/driver-linker-flags/driver-linker-flags.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
files: "main.cpp"
diff --git a/tests/auto/blackbox/testdata/dynamic-library-in-module/Dll.qbs b/tests/auto/blackbox/testdata/dynamic-library-in-module/Dll.qbs
index 48a90759a..1acf606dc 100644
--- a/tests/auto/blackbox/testdata/dynamic-library-in-module/Dll.qbs
+++ b/tests/auto/blackbox/testdata/dynamic-library-in-module/Dll.qbs
@@ -1,5 +1,3 @@
-import qbs
-
DynamicLibrary {
Depends { name: "cpp" }
Depends { name: "bundle"; condition: qbs.targetOS.contains("darwin") }
@@ -9,8 +7,9 @@ DynamicLibrary {
cpp.minimumMacosVersion: "10.7" // For -rpath
}
- Group {
- fileTagsFilter: ["dynamiclibrary", "dynamiclibrary_import"]
- qbs.install: true
- }
+ install: true
+ installImportLib: true
+ qbs.installPrefix: ""
+ installDir: ""
+ importLibInstallDir: ""
}
diff --git a/tests/auto/blackbox/testdata/dynamic-library-in-module/modules/thelib/thelib.qbs b/tests/auto/blackbox/testdata/dynamic-library-in-module/modules/thelib/thelib.qbs
index 41a6436d0..30f87337d 100644
--- a/tests/auto/blackbox/testdata/dynamic-library-in-module/modules/thelib/thelib.qbs
+++ b/tests/auto/blackbox/testdata/dynamic-library-in-module/modules/thelib/thelib.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.FileInfo
Module {
@@ -14,7 +13,7 @@ Module {
}
Group {
name: "thelib dll import"
- condition: qbs.targetOS.contains("windows") && !qbs.toolchain.contains("mingw")
+ condition: qbs.targetOS.contains("windows")
files: FileInfo.joinPaths(product.thelib.baseDir, "thelib.lib")
fileTags: ["dynamiclibrary_import"]
filesAreTargets: true
diff --git a/tests/auto/blackbox/testdata/dynamic-library-in-module/modules/theotherlib/theotherlib.qbs b/tests/auto/blackbox/testdata/dynamic-library-in-module/modules/theotherlib/theotherlib.qbs
index 2a9a7314f..1eb1e01a5 100644
--- a/tests/auto/blackbox/testdata/dynamic-library-in-module/modules/theotherlib/theotherlib.qbs
+++ b/tests/auto/blackbox/testdata/dynamic-library-in-module/modules/theotherlib/theotherlib.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.FileInfo
Module {
@@ -14,7 +13,7 @@ Module {
}
Group {
name: "theotherlib dll import"
- condition: qbs.targetOS.contains("windows") && !qbs.toolchain.contains("mingw")
+ condition: qbs.targetOS.contains("windows")
files: FileInfo.joinPaths(product.theotherlib.baseDir, "theotherlib.lib")
fileTags: ["dynamiclibrary_import"]
filesAreTargets: true
diff --git a/tests/auto/blackbox/testdata/dynamic-library-in-module/modules/thethirdlib/thethirdlib.qbs b/tests/auto/blackbox/testdata/dynamic-library-in-module/modules/thethirdlib/thethirdlib.qbs
index d422d3f2c..b4592f514 100644
--- a/tests/auto/blackbox/testdata/dynamic-library-in-module/modules/thethirdlib/thethirdlib.qbs
+++ b/tests/auto/blackbox/testdata/dynamic-library-in-module/modules/thethirdlib/thethirdlib.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.FileInfo
Module {
diff --git a/tests/auto/blackbox/testdata/dynamic-library-in-module/theapp.qbs b/tests/auto/blackbox/testdata/dynamic-library-in-module/theapp.qbs
index 725968dae..b9149d091 100644
--- a/tests/auto/blackbox/testdata/dynamic-library-in-module/theapp.qbs
+++ b/tests/auto/blackbox/testdata/dynamic-library-in-module/theapp.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
CppApplication {
name: "theapp"
diff --git a/tests/auto/blackbox/testdata/dynamic-library-in-module/thelibs.qbs b/tests/auto/blackbox/testdata/dynamic-library-in-module/thelibs.qbs
index 361642cca..b06a3f171 100644
--- a/tests/auto/blackbox/testdata/dynamic-library-in-module/thelibs.qbs
+++ b/tests/auto/blackbox/testdata/dynamic-library-in-module/thelibs.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Dll {
name: "thelib"
diff --git a/tests/auto/blackbox/testdata/dynamic-project/dynamic-project.qbs b/tests/auto/blackbox/testdata/dynamic-project/dynamic-project.qbs
index eb7c56738..166648c80 100644
--- a/tests/auto/blackbox/testdata/dynamic-project/dynamic-project.qbs
+++ b/tests/auto/blackbox/testdata/dynamic-project/dynamic-project.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.File
import qbs.FileInfo
import qbs.TextFile
diff --git a/tests/auto/blackbox/testdata/dynamicMultiplexRule/dynamicMultiplexRule.qbs b/tests/auto/blackbox/testdata/dynamicMultiplexRule/dynamicMultiplexRule.qbs
index d5315ac45..b8adcaf4b 100644
--- a/tests/auto/blackbox/testdata/dynamicMultiplexRule/dynamicMultiplexRule.qbs
+++ b/tests/auto/blackbox/testdata/dynamicMultiplexRule/dynamicMultiplexRule.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.TextFile
Project {
diff --git a/tests/auto/blackbox/testdata/dynamicRuleOutputs/before/genlexer.qbs b/tests/auto/blackbox/testdata/dynamicRuleOutputs/before/genlexer.qbs
index 04820e18f..00c93a2ac 100644
--- a/tests/auto/blackbox/testdata/dynamicRuleOutputs/before/genlexer.qbs
+++ b/tests/auto/blackbox/testdata/dynamicRuleOutputs/before/genlexer.qbs
@@ -35,7 +35,6 @@
**
****************************************************************************/
-import qbs 1.0
import qbs.FileInfo
import qbs.Probes
import qbs.TextFile
@@ -54,7 +53,7 @@ Project {
Probes.PathProbe {
id: flexProbe
names: ["flex"]
- platformPaths: ["/usr/local/bin", "/usr/bin", "/bin"]
+ platformSearchPaths: ["/usr/local/bin", "/usr/bin", "/bin"]
}
property bool isFlexAvailable: flexProbe.found
Rule {
diff --git a/tests/auto/blackbox/testdata/enableExceptions/exceptions-objc.qbs b/tests/auto/blackbox/testdata/enableExceptions/exceptions-objc.qbs
index 74738ad12..eef00da78 100644
--- a/tests/auto/blackbox/testdata/enableExceptions/exceptions-objc.qbs
+++ b/tests/auto/blackbox/testdata/enableExceptions/exceptions-objc.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
files: ["main.m"]
cpp.frameworks: ["Foundation"]
diff --git a/tests/auto/blackbox/testdata/enableExceptions/exceptions-objcpp-cpp.qbs b/tests/auto/blackbox/testdata/enableExceptions/exceptions-objcpp-cpp.qbs
index b6db6879b..7f703b9ad 100644
--- a/tests/auto/blackbox/testdata/enableExceptions/exceptions-objcpp-cpp.qbs
+++ b/tests/auto/blackbox/testdata/enableExceptions/exceptions-objcpp-cpp.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
Group {
files: ["main.cpp"]
diff --git a/tests/auto/blackbox/testdata/enableExceptions/exceptions-objcpp.qbs b/tests/auto/blackbox/testdata/enableExceptions/exceptions-objcpp.qbs
index 8efb5d585..8946f9a38 100644
--- a/tests/auto/blackbox/testdata/enableExceptions/exceptions-objcpp.qbs
+++ b/tests/auto/blackbox/testdata/enableExceptions/exceptions-objcpp.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
Group {
files: ["main.m"]
diff --git a/tests/auto/blackbox/testdata/enableExceptions/exceptions.qbs b/tests/auto/blackbox/testdata/enableExceptions/exceptions.qbs
index da6fdbc2d..9a75043a8 100644
--- a/tests/auto/blackbox/testdata/enableExceptions/exceptions.qbs
+++ b/tests/auto/blackbox/testdata/enableExceptions/exceptions.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
files: ["main.cpp"]
cpp.treatWarningsAsErrors: true
diff --git a/tests/auto/blackbox/testdata/enableExceptions/none.qbs b/tests/auto/blackbox/testdata/enableExceptions/none.qbs
index 332af7614..8fb052476 100644
--- a/tests/auto/blackbox/testdata/enableExceptions/none.qbs
+++ b/tests/auto/blackbox/testdata/enableExceptions/none.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
files: ["emptymain.cpp"]
diff --git a/tests/auto/blackbox/testdata/enableRtti/rtti.qbs b/tests/auto/blackbox/testdata/enableRtti/rtti.qbs
index f032bb16b..85bfa9c1d 100644
--- a/tests/auto/blackbox/testdata/enableRtti/rtti.qbs
+++ b/tests/auto/blackbox/testdata/enableRtti/rtti.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
property bool treatAsObjcpp: false
CppApplication {
diff --git a/tests/auto/blackbox/testdata/env-merging/env-merging.qbs b/tests/auto/blackbox/testdata/env-merging/env-merging.qbs
index 7f3f73550..6edeca444 100644
--- a/tests/auto/blackbox/testdata/env-merging/env-merging.qbs
+++ b/tests/auto/blackbox/testdata/env-merging/env-merging.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
CppApplication {
name: "tool"
@@ -12,10 +10,7 @@ Project {
Depends { name: "tool" }
Rule {
inputsFromDependencies: "application"
- Artifact {
- filePath: "dummy"
- fileTags: "custom"
- }
+ outputFileTags: "custom"
prepare: {
var cmd = new Command(input.filePath, []);
cmd.description = "running tool";
diff --git a/tests/auto/blackbox/testdata/env-normalization/env-normalization.qbs b/tests/auto/blackbox/testdata/env-normalization/env-normalization.qbs
index a197208fb..3b242aeb0 100644
--- a/tests/auto/blackbox/testdata/env-normalization/env-normalization.qbs
+++ b/tests/auto/blackbox/testdata/env-normalization/env-normalization.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.Environment
Product {
diff --git a/tests/auto/blackbox/testdata/erroneous/nonexistentWorkingDir/nonexistentWorkingDir.qbs b/tests/auto/blackbox/testdata/erroneous/nonexistentWorkingDir/nonexistentWorkingDir.qbs
index 8cf1bfaad..6a763e1ad 100644
--- a/tests/auto/blackbox/testdata/erroneous/nonexistentWorkingDir/nonexistentWorkingDir.qbs
+++ b/tests/auto/blackbox/testdata/erroneous/nonexistentWorkingDir/nonexistentWorkingDir.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Application {
name: "kaputt"
type: ["nutritious"]
diff --git a/tests/auto/blackbox/testdata/erroneous/outputArtifacts-missing-filePath/outputArtifacts-missing-filePath.qbs b/tests/auto/blackbox/testdata/erroneous/outputArtifacts-missing-filePath/outputArtifacts-missing-filePath.qbs
index 7a6c3a25d..047ddb862 100644
--- a/tests/auto/blackbox/testdata/erroneous/outputArtifacts-missing-filePath/outputArtifacts-missing-filePath.qbs
+++ b/tests/auto/blackbox/testdata/erroneous/outputArtifacts-missing-filePath/outputArtifacts-missing-filePath.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
CppApplication {
type: base.concat("txt")
files : ["main.cpp"]
diff --git a/tests/auto/blackbox/testdata/erroneous/outputArtifacts-missing-fileTags/outputArtifacts-missing-fileTags.qbs b/tests/auto/blackbox/testdata/erroneous/outputArtifacts-missing-fileTags/outputArtifacts-missing-fileTags.qbs
index 9b71cf73a..8b7b9482e 100644
--- a/tests/auto/blackbox/testdata/erroneous/outputArtifacts-missing-fileTags/outputArtifacts-missing-fileTags.qbs
+++ b/tests/auto/blackbox/testdata/erroneous/outputArtifacts-missing-fileTags/outputArtifacts-missing-fileTags.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
CppApplication {
type: base.concat("txt")
files : ["main.cpp"]
diff --git a/tests/auto/blackbox/testdata/erroneous/tag-mismatch/tag-mismatch.qbs b/tests/auto/blackbox/testdata/erroneous/tag-mismatch/tag-mismatch.qbs
new file mode 100644
index 000000000..51ea28e99
--- /dev/null
+++ b/tests/auto/blackbox/testdata/erroneous/tag-mismatch/tag-mismatch.qbs
@@ -0,0 +1,35 @@
+Product {
+ name: "p"
+ type: "p_type"
+ Rule {
+ multiplex: true
+ outputFileTags: ["x"]
+ outputArtifacts: [{filePath: "dummy1", fileTags: ["x","y","z"]}]
+ prepare: {
+ var cmd = new JavaScriptCommand();
+ cmd.description = "generating " + output.fileName;
+ cmd.sourceCode = function() { };
+ return cmd;
+ }
+ }
+ Rule {
+ inputs: ["y"]
+ Artifact { filePath: "dummy2"; fileTags: "p_type" }
+ prepare: {
+ var cmd = new JavaScriptCommand();
+ cmd.description = "generating " + output.fileName;
+ cmd.sourceCode = function() { };
+ return cmd;
+ }
+ }
+ Rule {
+ inputs: ["x"]
+ Artifact { filePath: "dummy3"; fileTags: "p_type" }
+ prepare: {
+ var cmd = new JavaScriptCommand();
+ cmd.description = "generating " + output.fileName;
+ cmd.sourceCode = function() { };
+ return cmd;
+ }
+ }
+}
diff --git a/tests/auto/blackbox/testdata/erroneous/texttemplate-unknown-placeholder/boom.txt.in b/tests/auto/blackbox/testdata/erroneous/texttemplate-unknown-placeholder/boom.txt.in
new file mode 100644
index 000000000..359e856ec
--- /dev/null
+++ b/tests/auto/blackbox/testdata/erroneous/texttemplate-unknown-placeholder/boom.txt.in
@@ -0,0 +1 @@
+Boom! shake-shake-shake the ${what}!
diff --git a/tests/auto/blackbox/testdata/erroneous/texttemplate-unknown-placeholder/texttemplate-unknown-placeholder.qbs b/tests/auto/blackbox/testdata/erroneous/texttemplate-unknown-placeholder/texttemplate-unknown-placeholder.qbs
new file mode 100644
index 000000000..01963292a
--- /dev/null
+++ b/tests/auto/blackbox/testdata/erroneous/texttemplate-unknown-placeholder/texttemplate-unknown-placeholder.qbs
@@ -0,0 +1,6 @@
+Product {
+ type: ["text"]
+ Depends { name: "texttemplate" }
+ texttemplate.dict: ({ wat: "room" }) // typo in key name
+ files: [ "boom.txt.in" ]
+}
diff --git a/tests/auto/blackbox/testdata/error-info/error-info.qbs b/tests/auto/blackbox/testdata/error-info/error-info.qbs
index afd44c246..b8f42b4b2 100644
--- a/tests/auto/blackbox/testdata/error-info/error-info.qbs
+++ b/tests/auto/blackbox/testdata/error-info/error-info.qbs
@@ -1,4 +1,3 @@
-import qbs
import "helper.js" as Helper
Project {
diff --git a/tests/auto/blackbox/testdata/escaped-linker-flags/escaped-linker-flags.qbs b/tests/auto/blackbox/testdata/escaped-linker-flags/escaped-linker-flags.qbs
index e136acb30..f48bf8d1f 100644
--- a/tests/auto/blackbox/testdata/escaped-linker-flags/escaped-linker-flags.qbs
+++ b/tests/auto/blackbox/testdata/escaped-linker-flags/escaped-linker-flags.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
name: "app"
property bool escapeLinkerFlags
diff --git a/tests/auto/blackbox/testdata/explicitly-depends-on/explicitly-depends-on.qbs b/tests/auto/blackbox/testdata/explicitly-depends-on/explicitly-depends-on.qbs
index 10cfa089b..4f190c23d 100644
--- a/tests/auto/blackbox/testdata/explicitly-depends-on/explicitly-depends-on.qbs
+++ b/tests/auto/blackbox/testdata/explicitly-depends-on/explicitly-depends-on.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.File
import qbs.TextFile
diff --git a/tests/auto/blackbox/testdata/explicitly-depends-on/modules/module1/module1.qbs b/tests/auto/blackbox/testdata/explicitly-depends-on/modules/module1/module1.qbs
index f1752b4ed..b710c4e21 100644
--- a/tests/auto/blackbox/testdata/explicitly-depends-on/modules/module1/module1.qbs
+++ b/tests/auto/blackbox/testdata/explicitly-depends-on/modules/module1/module1.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
Group {
filesAreTargets: true
diff --git a/tests/auto/blackbox/testdata/export-rule/export-rule.qbs b/tests/auto/blackbox/testdata/export-rule/export-rule.qbs
index 0b1f9f99b..29899e728 100644
--- a/tests/auto/blackbox/testdata/export-rule/export-rule.qbs
+++ b/tests/auto/blackbox/testdata/export-rule/export-rule.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.File
Project {
diff --git a/tests/auto/blackbox/testdata/export-to-outside-searchpath/export-to-outside-searchpath.qbs b/tests/auto/blackbox/testdata/export-to-outside-searchpath/export-to-outside-searchpath.qbs
index 72c48b75a..42e17486f 100644
--- a/tests/auto/blackbox/testdata/export-to-outside-searchpath/export-to-outside-searchpath.qbs
+++ b/tests/auto/blackbox/testdata/export-to-outside-searchpath/export-to-outside-searchpath.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Project {
qbsSearchPaths: ["qbs-resources"]
diff --git a/tests/auto/blackbox/testdata/export-to-outside-searchpath/qbs-resources/modules/aModule/aModule.qbs b/tests/auto/blackbox/testdata/export-to-outside-searchpath/qbs-resources/modules/aModule/aModule.qbs
index 3e67ba10d..84957060c 100644
--- a/tests/auto/blackbox/testdata/export-to-outside-searchpath/qbs-resources/modules/aModule/aModule.qbs
+++ b/tests/auto/blackbox/testdata/export-to-outside-searchpath/qbs-resources/modules/aModule/aModule.qbs
@@ -1,4 +1,2 @@
-import qbs
-
Module {
}
diff --git a/tests/auto/blackbox/testdata/exported-dependency-in-disabled-product/exported-dependency-in-disabled-product.qbs b/tests/auto/blackbox/testdata/exported-dependency-in-disabled-product/exported-dependency-in-disabled-product.qbs
index 9904502a6..ac6022b9d 100644
--- a/tests/auto/blackbox/testdata/exported-dependency-in-disabled-product/exported-dependency-in-disabled-product.qbs
+++ b/tests/auto/blackbox/testdata/exported-dependency-in-disabled-product/exported-dependency-in-disabled-product.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Application {
name: "app"
diff --git a/tests/auto/blackbox/testdata/exported-dependency-in-disabled-product/modules/broken/broken.qbs b/tests/auto/blackbox/testdata/exported-dependency-in-disabled-product/modules/broken/broken.qbs
index 92f01d5d3..328e5f558 100644
--- a/tests/auto/blackbox/testdata/exported-dependency-in-disabled-product/modules/broken/broken.qbs
+++ b/tests/auto/blackbox/testdata/exported-dependency-in-disabled-product/modules/broken/broken.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
validate: { throw "broken!"; }
}
diff --git a/tests/auto/blackbox/testdata/exported-property-in-disabled-product/exported-property-in-disabled-product.qbs b/tests/auto/blackbox/testdata/exported-property-in-disabled-product/exported-property-in-disabled-product.qbs
index 2717466b0..ff8beb347 100644
--- a/tests/auto/blackbox/testdata/exported-property-in-disabled-product/exported-property-in-disabled-product.qbs
+++ b/tests/auto/blackbox/testdata/exported-property-in-disabled-product/exported-property-in-disabled-product.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
CppApplication {
name: "app"
diff --git a/tests/auto/blackbox/testdata/exported-property-in-disabled-product/modules/broken/broken.qbs b/tests/auto/blackbox/testdata/exported-property-in-disabled-product/modules/broken/broken.qbs
index 92f01d5d3..328e5f558 100644
--- a/tests/auto/blackbox/testdata/exported-property-in-disabled-product/modules/broken/broken.qbs
+++ b/tests/auto/blackbox/testdata/exported-property-in-disabled-product/modules/broken/broken.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
validate: { throw "broken!"; }
}
diff --git a/tests/auto/blackbox/testdata/exports-pkgconfig/exports-pkgconfig.qbs b/tests/auto/blackbox/testdata/exports-pkgconfig/exports-pkgconfig.qbs
index 7934dc3c9..96d1cabb9 100644
--- a/tests/auto/blackbox/testdata/exports-pkgconfig/exports-pkgconfig.qbs
+++ b/tests/auto/blackbox/testdata/exports-pkgconfig/exports-pkgconfig.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.FileInfo
Project {
@@ -85,14 +84,21 @@ Project {
Depends { name: "cpp" }
cpp.defines: ["SECONDLIB"]
+ qbs.installPrefix: ""
+
Depends { name: "TheFirstLib" }
Export {
Depends { name: "TheFirstLib" }
Depends { name: "dummy" }
Depends { name: "cpp" }
- cpp.includePaths: ["/opt/thesecondlib/include", product.sourceDirectory]
+ cpp.includePaths: [
+ "/opt/thesecondlib/include",
+ product.sourceDirectory,
+ importingProduct.buildDirectory
+ ]
property string hurz: importingProduct.name
+ cpp.defines: hurz.toUpperCase()
Rule {
property int n: 5
diff --git a/tests/auto/blackbox/testdata/exports-pkgconfig/modules/helper1/helper1.qbs b/tests/auto/blackbox/testdata/exports-pkgconfig/modules/helper1/helper1.qbs
index b753ec295..c898e91d1 100644
--- a/tests/auto/blackbox/testdata/exports-pkgconfig/modules/helper1/helper1.qbs
+++ b/tests/auto/blackbox/testdata/exports-pkgconfig/modules/helper1/helper1.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
Depends { name: "cpp" }
Depends { name: "helper2" }
diff --git a/tests/auto/blackbox/testdata/exports-pkgconfig/modules/helper2/helper2.qbs b/tests/auto/blackbox/testdata/exports-pkgconfig/modules/helper2/helper2.qbs
index 9d24a812d..2dbdfdb01 100644
--- a/tests/auto/blackbox/testdata/exports-pkgconfig/modules/helper2/helper2.qbs
+++ b/tests/auto/blackbox/testdata/exports-pkgconfig/modules/helper2/helper2.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
Depends { name: "cpp" }
cpp.includePaths: "/somedir/include2"
diff --git a/tests/auto/blackbox/testdata/exports-pkgconfig/modules/helper3/helper3.qbs b/tests/auto/blackbox/testdata/exports-pkgconfig/modules/helper3/helper3.qbs
index 452191994..57e65f2f9 100644
--- a/tests/auto/blackbox/testdata/exports-pkgconfig/modules/helper3/helper3.qbs
+++ b/tests/auto/blackbox/testdata/exports-pkgconfig/modules/helper3/helper3.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
Depends { name: "cpp" }
cpp.includePaths: "/somedir/include3"
diff --git a/tests/auto/blackbox/testdata/exports-qbs/consumer.qbs b/tests/auto/blackbox/testdata/exports-qbs/consumer.qbs
index 252cb8291..02affdfe8 100644
--- a/tests/auto/blackbox/testdata/exports-qbs/consumer.qbs
+++ b/tests/auto/blackbox/testdata/exports-qbs/consumer.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
name: "consumer"
qbsSearchPaths: "default/install-root/usr/qbs"
diff --git a/tests/auto/blackbox/testdata/exports-qbs/exports-qbs.qbs b/tests/auto/blackbox/testdata/exports-qbs/exports-qbs.qbs
index 2bad55aaa..27e417ef9 100644
--- a/tests/auto/blackbox/testdata/exports-qbs/exports-qbs.qbs
+++ b/tests/auto/blackbox/testdata/exports-qbs/exports-qbs.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.FileInfo
Project {
diff --git a/tests/auto/blackbox/testdata/exports-qbs/lib.qbs b/tests/auto/blackbox/testdata/exports-qbs/lib.qbs
index 6ae0885d5..53a472dbb 100644
--- a/tests/auto/blackbox/testdata/exports-qbs/lib.qbs
+++ b/tests/auto/blackbox/testdata/exports-qbs/lib.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.FileInfo
DynamicLibrary {
@@ -28,11 +27,9 @@ DynamicLibrary {
qbs.install: true
qbs.installDir: headersInstallDir
}
- Group {
- fileTagsFilter: ["dynamiclibrary", "dynamiclibrary_import"]
- qbs.install: true
- qbs.installDir: "lib"
- }
+ install: true
+ installImportLib: true
+ installDir: "lib"
Group {
fileTagsFilter: ["Exporter.qbs.module"]
qbs.install: true
diff --git a/tests/auto/blackbox/testdata/exports-qbs/tool.qbs b/tests/auto/blackbox/testdata/exports-qbs/tool.qbs
index b0078a75c..655597cf7 100644
--- a/tests/auto/blackbox/testdata/exports-qbs/tool.qbs
+++ b/tests/auto/blackbox/testdata/exports-qbs/tool.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.FileInfo
import "helper.js" as Helper
@@ -11,6 +10,7 @@ CppApplication {
Depends { name: "Exporter.qbs" }
Exporter.qbs.artifactTypes: ["installable", "blubb"]
files: ["tool.cpp"]
+ install: true
qbs.installPrefix: project.installPrefix
Group {
files: ["helper.js"]
@@ -25,8 +25,6 @@ CppApplication {
Group {
fileTagsFilter: ["application"]
- qbs.install: true
- qbs.installDir: "bin"
fileTags: toolTags
}
Group {
diff --git a/tests/auto/blackbox/testdata/external-libs/external-libs.qbs b/tests/auto/blackbox/testdata/external-libs/external-libs.qbs
index d2e983c3e..619f40867 100644
--- a/tests/auto/blackbox/testdata/external-libs/external-libs.qbs
+++ b/tests/auto/blackbox/testdata/external-libs/external-libs.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.TextFile
Project {
diff --git a/tests/auto/blackbox/testdata/fileDependencies/fileDependencies.qbs b/tests/auto/blackbox/testdata/fileDependencies/fileDependencies.qbs
index e99e0932c..49f413807 100644
--- a/tests/auto/blackbox/testdata/fileDependencies/fileDependencies.qbs
+++ b/tests/auto/blackbox/testdata/fileDependencies/fileDependencies.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
Product {
type: "application"
diff --git a/tests/auto/blackbox/testdata/filetagsfilter-merging/MyApplication.qbs b/tests/auto/blackbox/testdata/filetagsfilter-merging/MyApplication.qbs
new file mode 100644
index 000000000..890fc51ce
--- /dev/null
+++ b/tests/auto/blackbox/testdata/filetagsfilter-merging/MyApplication.qbs
@@ -0,0 +1,9 @@
+CppApplication {
+ consoleApplication: true
+ Group {
+ fileTagsFilter: "application"
+ qbs.install:true
+ qbs.installPrefix: product.name
+ qbs.installDir: "wrong"
+ }
+}
diff --git a/tests/auto/blackbox/testdata/filetagsfilter-merging/filetagsfilter-merging.qbs b/tests/auto/blackbox/testdata/filetagsfilter-merging/filetagsfilter-merging.qbs
new file mode 100644
index 000000000..eee20782e
--- /dev/null
+++ b/tests/auto/blackbox/testdata/filetagsfilter-merging/filetagsfilter-merging.qbs
@@ -0,0 +1,28 @@
+import qbs.TextFile
+
+MyApplication {
+ name: "myapp"
+ type: base.concat("extra-output")
+ files: "main.cpp"
+ Group {
+ fileTagsFilter: "application"
+ qbs.installDir: "binDir"
+ fileTags: "extra-input"
+ }
+ Rule {
+ inputs: "extra-input"
+ Artifact {
+ filePath: input.baseName + ".txt"
+ fileTags: "extra-output"
+ }
+ prepare: {
+ var cmd = new JavaScriptCommand();
+ cmd.description = "creating " + output.fileName;
+ cmd.sourceCode = function() {
+ var f = new TextFile(output.filePath, TextFile.WriteOnly);
+ f.close();
+ }
+ return cmd;
+ }
+ }
+}
diff --git a/tests/auto/blackbox/testdata/filetagsfilter-merging/main.cpp b/tests/auto/blackbox/testdata/filetagsfilter-merging/main.cpp
new file mode 100644
index 000000000..237c8ce18
--- /dev/null
+++ b/tests/auto/blackbox/testdata/filetagsfilter-merging/main.cpp
@@ -0,0 +1 @@
+int main() {}
diff --git a/tests/auto/blackbox/testdata/find/find-cli.qbs b/tests/auto/blackbox/testdata/find/find-cli.qbs
index 63609b3b2..20d94803e 100644
--- a/tests/auto/blackbox/testdata/find/find-cli.qbs
+++ b/tests/auto/blackbox/testdata/find/find-cli.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.TextFile
Product {
diff --git a/tests/auto/blackbox/testdata/generated-artifact-as-input-to-dynamic-rule/p.qbs b/tests/auto/blackbox/testdata/generated-artifact-as-input-to-dynamic-rule/p.qbs
index f26d92262..7ed5f5d96 100644
--- a/tests/auto/blackbox/testdata/generated-artifact-as-input-to-dynamic-rule/p.qbs
+++ b/tests/auto/blackbox/testdata/generated-artifact-as-input-to-dynamic-rule/p.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.File
import qbs.TextFile
@@ -46,8 +45,8 @@ Product {
var cmd = new JavaScriptCommand();
var output = outputs["mytype.final"][0];
cmd.description = "generating " + output.fileName;
- cmd.output = output;
- cmd.sourceCode = function() { File.copy(input.filePath, output.filePath); };
+ cmd.outputFilePath = output.filePath;
+ cmd.sourceCode = function() { File.copy(input.filePath, outputFilePath); };
return [cmd];
}
}
diff --git a/tests/auto/blackbox/testdata/generator/generator.qbs b/tests/auto/blackbox/testdata/generator/generator.qbs
index 18f2caaea..d0857beb5 100644
--- a/tests/auto/blackbox/testdata/generator/generator.qbs
+++ b/tests/auto/blackbox/testdata/generator/generator.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.TextFile
CppApplication {
diff --git a/tests/auto/blackbox/testdata/group-condition-change/group-condition-change.qbs b/tests/auto/blackbox/testdata/group-condition-change/group-condition-change.qbs
index d8dccde39..ae1811375 100644
--- a/tests/auto/blackbox/testdata/group-condition-change/group-condition-change.qbs
+++ b/tests/auto/blackbox/testdata/group-condition-change/group-condition-change.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
property bool kaputt: true
Product {
diff --git a/tests/auto/blackbox/testdata/groups-in-modules/groups-in-modules.qbs b/tests/auto/blackbox/testdata/groups-in-modules/groups-in-modules.qbs
index 5fa09c4d0..7347b1211 100644
--- a/tests/auto/blackbox/testdata/groups-in-modules/groups-in-modules.qbs
+++ b/tests/auto/blackbox/testdata/groups-in-modules/groups-in-modules.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Product {
Depends { name: "dep" }
diff --git a/tests/auto/blackbox/testdata/groups-in-modules/modules/helper/helper.qbs b/tests/auto/blackbox/testdata/groups-in-modules/modules/helper/helper.qbs
index 3154986a6..cbd30a35d 100644
--- a/tests/auto/blackbox/testdata/groups-in-modules/modules/helper/helper.qbs
+++ b/tests/auto/blackbox/testdata/groups-in-modules/modules/helper/helper.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.FileInfo
Module {
diff --git a/tests/auto/blackbox/testdata/groups-in-modules/modules/helper2/helper2.qbs b/tests/auto/blackbox/testdata/groups-in-modules/modules/helper2/helper2.qbs
index fbf15f6da..18d11c8f5 100644
--- a/tests/auto/blackbox/testdata/groups-in-modules/modules/helper2/helper2.qbs
+++ b/tests/auto/blackbox/testdata/groups-in-modules/modules/helper2/helper2.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
Depends { name: "cpp" }
diff --git a/tests/auto/blackbox/testdata/groups-in-modules/modules/helper3/helper3.qbs b/tests/auto/blackbox/testdata/groups-in-modules/modules/helper3/helper3.qbs
index 00c619a38..de3e6171c 100644
--- a/tests/auto/blackbox/testdata/groups-in-modules/modules/helper3/helper3.qbs
+++ b/tests/auto/blackbox/testdata/groups-in-modules/modules/helper3/helper3.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
Depends { name: "cpp" }
diff --git a/tests/auto/blackbox/testdata/groups-in-modules/modules/helper4/helper4.qbs b/tests/auto/blackbox/testdata/groups-in-modules/modules/helper4/helper4.qbs
index e2d668209..18dce4dc5 100644
--- a/tests/auto/blackbox/testdata/groups-in-modules/modules/helper4/helper4.qbs
+++ b/tests/auto/blackbox/testdata/groups-in-modules/modules/helper4/helper4.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
Depends { name: "cpp" }
Depends { name: "helper5" }
diff --git a/tests/auto/blackbox/testdata/groups-in-modules/modules/helper5/helper5.qbs b/tests/auto/blackbox/testdata/groups-in-modules/modules/helper5/helper5.qbs
index 3e4e8923e..58c8144d6 100644
--- a/tests/auto/blackbox/testdata/groups-in-modules/modules/helper5/helper5.qbs
+++ b/tests/auto/blackbox/testdata/groups-in-modules/modules/helper5/helper5.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
Depends { name: "cpp" }
Depends {
diff --git a/tests/auto/blackbox/testdata/groups-in-modules/modules/helper6/helper6.qbs b/tests/auto/blackbox/testdata/groups-in-modules/modules/helper6/helper6.qbs
index 736572570..8f73567e6 100644
--- a/tests/auto/blackbox/testdata/groups-in-modules/modules/helper6/helper6.qbs
+++ b/tests/auto/blackbox/testdata/groups-in-modules/modules/helper6/helper6.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
Depends { name: "cpp" }
diff --git a/tests/auto/blackbox/testdata/ico/ico.qbs b/tests/auto/blackbox/testdata/ico/ico.qbs
index 920189b85..e9d635820 100644
--- a/tests/auto/blackbox/testdata/ico/ico.qbs
+++ b/tests/auto/blackbox/testdata/ico/ico.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Product {
Depends { name: "ico" }
diff --git a/tests/auto/blackbox/testdata/import-assignment/import-assignment.qbs b/tests/auto/blackbox/testdata/import-assignment/import-assignment.qbs
index 2bff00f35..f5efbd14b 100644
--- a/tests/auto/blackbox/testdata/import-assignment/import-assignment.qbs
+++ b/tests/auto/blackbox/testdata/import-assignment/import-assignment.qbs
@@ -1,4 +1,3 @@
-import qbs
import MyImport
Product {
diff --git a/tests/auto/blackbox/testdata/import-change-tracking/import-change-tracking-product.qbs b/tests/auto/blackbox/testdata/import-change-tracking/import-change-tracking-product.qbs
index c229de889..c86a1bbb7 100644
--- a/tests/auto/blackbox/testdata/import-change-tracking/import-change-tracking-product.qbs
+++ b/tests/auto/blackbox/testdata/import-change-tracking/import-change-tracking-product.qbs
@@ -1,4 +1,3 @@
-import qbs
import "irrelevant.js" as Irrelevant
import "custom1prepare1.js" as Custom1Prepare
import "custom2prepare" as Custom2Prepare
diff --git a/tests/auto/blackbox/testdata/import-change-tracking/import-change-tracking.qbs b/tests/auto/blackbox/testdata/import-change-tracking/import-change-tracking.qbs
index 009c0897f..c97e0c7f8 100644
--- a/tests/auto/blackbox/testdata/import-change-tracking/import-change-tracking.qbs
+++ b/tests/auto/blackbox/testdata/import-change-tracking/import-change-tracking.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
qbsSearchPaths: ["."]
references: "import-change-tracking-product.qbs"
diff --git a/tests/auto/blackbox/testdata/import-in-properties-condition/import-in-properties-condition.qbs b/tests/auto/blackbox/testdata/import-in-properties-condition/import-in-properties-condition.qbs
index 32b8d2a03..d4ed153af 100644
--- a/tests/auto/blackbox/testdata/import-in-properties-condition/import-in-properties-condition.qbs
+++ b/tests/auto/blackbox/testdata/import-in-properties-condition/import-in-properties-condition.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
Depends { name: "amodule" }
}
diff --git a/tests/auto/blackbox/testdata/import-in-properties-condition/modules/amodule/m.qbs b/tests/auto/blackbox/testdata/import-in-properties-condition/modules/amodule/m.qbs
index 92ea2cd45..3402b16de 100644
--- a/tests/auto/blackbox/testdata/import-in-properties-condition/modules/amodule/m.qbs
+++ b/tests/auto/blackbox/testdata/import-in-properties-condition/modules/amodule/m.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.File
Module {
diff --git a/tests/auto/blackbox/testdata/import-in-properties-condition/modules/depmodule/m.qbs b/tests/auto/blackbox/testdata/import-in-properties-condition/modules/depmodule/m.qbs
index 4c2f9281d..3a4266b78 100644
--- a/tests/auto/blackbox/testdata/import-in-properties-condition/modules/depmodule/m.qbs
+++ b/tests/auto/blackbox/testdata/import-in-properties-condition/modules/depmodule/m.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
property string prop
}
diff --git a/tests/auto/blackbox/testdata/import-searchpath/import-searchpath.qbs b/tests/auto/blackbox/testdata/import-searchpath/import-searchpath.qbs
index b4d0194a2..3dbb1f641 100644
--- a/tests/auto/blackbox/testdata/import-searchpath/import-searchpath.qbs
+++ b/tests/auto/blackbox/testdata/import-searchpath/import-searchpath.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Project {
qbsSearchPaths: ["qbs"]
diff --git a/tests/auto/blackbox/testdata/import-searchpath/qbs/imports/CppApplication.qbs b/tests/auto/blackbox/testdata/import-searchpath/qbs/imports/CppApplication.qbs
index 18dc695f3..bdef20fd8 100644
--- a/tests/auto/blackbox/testdata/import-searchpath/qbs/imports/CppApplication.qbs
+++ b/tests/auto/blackbox/testdata/import-searchpath/qbs/imports/CppApplication.qbs
@@ -1,4 +1,2 @@
-import qbs
-
Product {
}
diff --git a/tests/auto/blackbox/testdata/import-searchpath/src/import-searchpath-app1.qbs b/tests/auto/blackbox/testdata/import-searchpath/src/import-searchpath-app1.qbs
index c12158d24..a973a2722 100644
--- a/tests/auto/blackbox/testdata/import-searchpath/src/import-searchpath-app1.qbs
+++ b/tests/auto/blackbox/testdata/import-searchpath/src/import-searchpath-app1.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
files: ["somefile.cpp"]
}
diff --git a/tests/auto/blackbox/testdata/import-searchpath/src/import-searchpath-app2.qbs b/tests/auto/blackbox/testdata/import-searchpath/src/import-searchpath-app2.qbs
index f6ae698a0..da7536315 100644
--- a/tests/auto/blackbox/testdata/import-searchpath/src/import-searchpath-app2.qbs
+++ b/tests/auto/blackbox/testdata/import-searchpath/src/import-searchpath-app2.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
files: ["main.cpp"]
}
diff --git a/tests/auto/blackbox/testdata/importing-product/importing-product.qbs b/tests/auto/blackbox/testdata/importing-product/importing-product.qbs
index e81f76077..dfc4cd65e 100644
--- a/tests/auto/blackbox/testdata/importing-product/importing-product.qbs
+++ b/tests/auto/blackbox/testdata/importing-product/importing-product.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.File
Project {
diff --git a/tests/auto/blackbox/testdata/imports-conflict/imports-conflict.qbs b/tests/auto/blackbox/testdata/imports-conflict/imports-conflict.qbs
index 1c6be24bd..4966b2f09 100644
--- a/tests/auto/blackbox/testdata/imports-conflict/imports-conflict.qbs
+++ b/tests/auto/blackbox/testdata/imports-conflict/imports-conflict.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Product {
name: "Utils"
diff --git a/tests/auto/blackbox/testdata/includeLookup/includeLookup.qbs b/tests/auto/blackbox/testdata/includeLookup/includeLookup.qbs
index 452e4b5bd..182d1e232 100644
--- a/tests/auto/blackbox/testdata/includeLookup/includeLookup.qbs
+++ b/tests/auto/blackbox/testdata/includeLookup/includeLookup.qbs
@@ -1,4 +1,3 @@
-import qbs 1.0
import qbs.FileInfo
Project {
diff --git a/tests/auto/blackbox/testdata/includeLookup/modules/definition/module.qbs b/tests/auto/blackbox/testdata/includeLookup/modules/definition/module.qbs
index e894cfd49..8762a780a 100644
--- a/tests/auto/blackbox/testdata/includeLookup/modules/definition/module.qbs
+++ b/tests/auto/blackbox/testdata/includeLookup/modules/definition/module.qbs
@@ -1,4 +1,3 @@
-import qbs 1.0
import qbs.Probes
Module {
@@ -8,7 +7,7 @@ Module {
Probes.IncludeProbe {
id: includeNode
names: "fakeopenssl/sha.h"
- platformPaths: [modulePath]
+ platformSearchPaths: [modulePath]
}
cpp.defines: includeNode.found ? 'TEXT="' + includeNode.path + '"' : undefined
}
diff --git a/tests/auto/blackbox/testdata/innosetup/innosetup.qbs b/tests/auto/blackbox/testdata/innosetup/innosetup.qbs
index 679f1de8f..c9f6a22e8 100644
--- a/tests/auto/blackbox/testdata/innosetup/innosetup.qbs
+++ b/tests/auto/blackbox/testdata/innosetup/innosetup.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.FileInfo
Project {
diff --git a/tests/auto/blackbox/testdata/innosetupDependencies/innosetupDependencies.qbs b/tests/auto/blackbox/testdata/innosetupDependencies/innosetupDependencies.qbs
index 17536ff8b..db65e127f 100644
--- a/tests/auto/blackbox/testdata/innosetupDependencies/innosetupDependencies.qbs
+++ b/tests/auto/blackbox/testdata/innosetupDependencies/innosetupDependencies.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.TextFile
Project {
@@ -42,7 +41,7 @@ Project {
// This rule tries to provoke the installer into building too early (and the test
// verifies that it does not) by causing the build of the installables to take
// a lot longer.
- inputs: ["qbs"]
+ multiplex: true
outputFileTags: ["c"]
outputArtifacts: {
var artifacts = [];
diff --git a/tests/auto/blackbox/testdata/input-tags-change-tracking/input-tags-change-tracking.qbs b/tests/auto/blackbox/testdata/input-tags-change-tracking/input-tags-change-tracking.qbs
new file mode 100644
index 000000000..ef2c5c55b
--- /dev/null
+++ b/tests/auto/blackbox/testdata/input-tags-change-tracking/input-tags-change-tracking.qbs
@@ -0,0 +1,63 @@
+import qbs.TextFile
+
+Product {
+ name: "p"
+ type: "p_tag"
+ property string generateInput
+ Group {
+ condition: generateInput == "no"
+ files: "input.txt"
+ fileTags: ["txt", "empty"]
+ }
+ Rule {
+ condition: generateInput == "static"
+ multiplex: true
+ Artifact { filePath: "input.txt"; fileTags: ["txt", "empty"] }
+ prepare: {
+ var cmd = new JavaScriptCommand();
+ cmd.description = "generating " + output.fileName;
+ cmd.sourceCode = function() {
+ var out = new TextFile(output.filePath, TextFile.WriteOnly);
+ out.close();
+ };
+ return cmd;
+ }
+ }
+ Rule {
+ condition: generateInput == "dynamic"
+ multiplex: true
+ outputFileTags: ["txt", "empty"]
+ outputArtifacts: [{filePath: "input.txt", fileTags: ["txt", "empty"]}]
+ prepare: {
+ var cmd = new JavaScriptCommand();
+ cmd.description = "generating " + output.fileName;
+ cmd.sourceCode = function() {
+ var out = new TextFile(output.filePath, TextFile.WriteOnly);
+ out.close();
+ };
+ return cmd;
+ }
+ }
+
+ Rule {
+ inputs: "txt"
+ outputFileTags: "p_tag"
+ outputArtifacts: {
+ if (input.fileTags.contains("empty"))
+ return [];
+ return [{
+ filePath: input.fileTags.contains("y") ? "y.out" : "x.out",
+ fileTags: "p_tag"
+ }]
+ }
+ prepare: {
+ var cmd = new JavaScriptCommand();
+ cmd.description = "generating " + output.fileName;
+ cmd.sourceCode = function() {
+ var out = new TextFile(output.filePath, TextFile.WriteOnly);
+ out.close();
+ };
+ return cmd;
+ }
+ }
+}
diff --git a/tests/auto/blackbox/testdata/input-tags-change-tracking/input.txt b/tests/auto/blackbox/testdata/input-tags-change-tracking/input.txt
new file mode 100644
index 000000000..c6cac6926
--- /dev/null
+++ b/tests/auto/blackbox/testdata/input-tags-change-tracking/input.txt
@@ -0,0 +1 @@
+empty
diff --git a/tests/auto/blackbox/testdata/inputs-from-dependencies/inputs-from-dependencies.qbs b/tests/auto/blackbox/testdata/inputs-from-dependencies/inputs-from-dependencies.qbs
index 1b40abaeb..919060c73 100644
--- a/tests/auto/blackbox/testdata/inputs-from-dependencies/inputs-from-dependencies.qbs
+++ b/tests/auto/blackbox/testdata/inputs-from-dependencies/inputs-from-dependencies.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Product {
name: "TextFileContainer1"
diff --git a/tests/auto/blackbox/testdata/install-duplicates-no-error/install-duplicates-no-error.qbs b/tests/auto/blackbox/testdata/install-duplicates-no-error/install-duplicates-no-error.qbs
index 3f2c4e974..a3282f941 100644
--- a/tests/auto/blackbox/testdata/install-duplicates-no-error/install-duplicates-no-error.qbs
+++ b/tests/auto/blackbox/testdata/install-duplicates-no-error/install-duplicates-no-error.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Product {
name: "p1"
diff --git a/tests/auto/blackbox/testdata/install-duplicates/install-duplicates.qbs b/tests/auto/blackbox/testdata/install-duplicates/install-duplicates.qbs
index 2f91ba560..5edc83d81 100644
--- a/tests/auto/blackbox/testdata/install-duplicates/install-duplicates.qbs
+++ b/tests/auto/blackbox/testdata/install-duplicates/install-duplicates.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
Group {
files: ["*.txt"]
diff --git a/tests/auto/blackbox/testdata/install-locations/install-locations.qbs b/tests/auto/blackbox/testdata/install-locations/install-locations.qbs
new file mode 100644
index 000000000..8a97f74a1
--- /dev/null
+++ b/tests/auto/blackbox/testdata/install-locations/install-locations.qbs
@@ -0,0 +1,26 @@
+Project {
+ property bool dummy: {
+ if (qbs.targetOS.contains("windows"))
+ console.info("is windows");
+ else if (qbs.targetOS.contains("macos"))
+ console.info("is mac");
+ else
+ console.info("is unix");
+ }
+ CppApplication {
+ name: "theapp"
+ install: true
+ files: "main.cpp"
+ Group {
+ fileTagsFilter: "application"
+ fileTags: "some-tag"
+ }
+ }
+ DynamicLibrary {
+ name: "thelib"
+ install: true
+ installImportLib: true
+ Depends { name: "cpp" }
+ files: "thelib.cpp"
+ }
+}
diff --git a/tests/auto/blackbox/testdata/install-locations/main.cpp b/tests/auto/blackbox/testdata/install-locations/main.cpp
new file mode 100644
index 000000000..237c8ce18
--- /dev/null
+++ b/tests/auto/blackbox/testdata/install-locations/main.cpp
@@ -0,0 +1 @@
+int main() {}
diff --git a/tests/auto/blackbox/testdata/install-locations/thelib.cpp b/tests/auto/blackbox/testdata/install-locations/thelib.cpp
new file mode 100644
index 000000000..d3877db26
--- /dev/null
+++ b/tests/auto/blackbox/testdata/install-locations/thelib.cpp
@@ -0,0 +1,3 @@
+#include "../dllexport.h"
+
+DLL_EXPORT void libFunc() {}
diff --git a/tests/auto/blackbox/testdata/install-root-from-project-file/install-root-from-project-file.qbs b/tests/auto/blackbox/testdata/install-root-from-project-file/install-root-from-project-file.qbs
index ea7284a05..80a63c956 100644
--- a/tests/auto/blackbox/testdata/install-root-from-project-file/install-root-from-project-file.qbs
+++ b/tests/auto/blackbox/testdata/install-root-from-project-file/install-root-from-project-file.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
name: "p"
property string installRoot
diff --git a/tests/auto/blackbox/testdata/install-tree/install-tree.qbs b/tests/auto/blackbox/testdata/install-tree/install-tree.qbs
index cbd7300d6..dde39d231 100644
--- a/tests/auto/blackbox/testdata/install-tree/install-tree.qbs
+++ b/tests/auto/blackbox/testdata/install-tree/install-tree.qbs
@@ -1,7 +1,6 @@
-import qbs
-
CppApplication {
files: ["main.cpp"]
+ qbs.installPrefix: ""
Group {
files: ["data/**/*.txt"]
qbs.install: true
diff --git a/tests/auto/blackbox/testdata/installable-as-auxiliary-input/installable-as-auxiliary-input.qbs b/tests/auto/blackbox/testdata/installable-as-auxiliary-input/installable-as-auxiliary-input.qbs
index 822473157..2d37e85d6 100644
--- a/tests/auto/blackbox/testdata/installable-as-auxiliary-input/installable-as-auxiliary-input.qbs
+++ b/tests/auto/blackbox/testdata/installable-as-auxiliary-input/installable-as-auxiliary-input.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.File
import qbs.FileInfo
import qbs.TextFile
@@ -34,6 +33,7 @@ Project {
property string installDir: "include"
+ qbs.installPrefix: ""
Group {
fileTagsFilter: "header"
qbs.install: true
diff --git a/tests/auto/blackbox/testdata/installable/installable.qbs b/tests/auto/blackbox/testdata/installable/installable.qbs
index 7ce41867b..56feb6ec5 100644
--- a/tests/auto/blackbox/testdata/installable/installable.qbs
+++ b/tests/auto/blackbox/testdata/installable/installable.qbs
@@ -1,19 +1,17 @@
-import qbs
import qbs.TextFile
Project {
CppApplication {
type: ["application"]
name: "app"
+ consoleApplication: true
Group {
files: ["main.cpp"]
qbs.install: true
}
- Group {
- fileTagsFilter: ["application"]
- qbs.install: true
- }
+ install: true
+ installDir: ""
}
Product {
diff --git a/tests/auto/blackbox/testdata/installed-source-files/installed-source-files.qbs b/tests/auto/blackbox/testdata/installed-source-files/installed-source-files.qbs
index 1aa564553..7b4d30091 100644
--- a/tests/auto/blackbox/testdata/installed-source-files/installed-source-files.qbs
+++ b/tests/auto/blackbox/testdata/installed-source-files/installed-source-files.qbs
@@ -1,8 +1,7 @@
-import qbs
-
CppApplication {
consoleApplication: true
files: ["main.cpp"]
+ qbs.installPrefix: ""
Group {
fileTagsFilter: ["cpp"]
qbs.install: true
diff --git a/tests/auto/blackbox/testdata/installed-transformer-output/qbs668.qbs b/tests/auto/blackbox/testdata/installed-transformer-output/qbs668.qbs
index 99acc5585..aa40b7691 100644
--- a/tests/auto/blackbox/testdata/installed-transformer-output/qbs668.qbs
+++ b/tests/auto/blackbox/testdata/installed-transformer-output/qbs668.qbs
@@ -1,9 +1,9 @@
-import qbs 1.0
import qbs.TextFile
Product {
name: "install-test"
type: ["text"]
+ qbs.installPrefix: ""
Group {
qbs.install: true
qbs.installDir: "textfiles"
diff --git a/tests/auto/blackbox/testdata/installed_artifact/installed_artifact.qbs b/tests/auto/blackbox/testdata/installed_artifact/installed_artifact.qbs
index d1f9f54ea..f7ae7f5e0 100644
--- a/tests/auto/blackbox/testdata/installed_artifact/installed_artifact.qbs
+++ b/tests/auto/blackbox/testdata/installed_artifact/installed_artifact.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Application {
name: "installedApp"
type: "application"
diff --git a/tests/auto/blackbox/testdata/installpackage/installpackage.qbs b/tests/auto/blackbox/testdata/installpackage/installpackage.qbs
index d04ecdd57..a0649a578 100644
--- a/tests/auto/blackbox/testdata/installpackage/installpackage.qbs
+++ b/tests/auto/blackbox/testdata/installpackage/installpackage.qbs
@@ -1,9 +1,10 @@
-import qbs
-
Project {
CppApplication {
name: "public_tool"
- bundle.isBundle: false
+ Properties {
+ condition: qbs.targetOS.contains("darwin")
+ bundle.isBundle: false
+ }
Depends { name: "mylib" }
files: ["main.cpp"]
Group {
@@ -18,7 +19,10 @@ Project {
files: ["main.cpp"]
}
DynamicLibrary {
- bundle.isBundle: false
+ Properties {
+ condition: qbs.targetOS.contains("darwin")
+ bundle.isBundle: false
+ }
Depends { name: "cpp" }
name: "mylib"
files: ["lib.cpp"]
diff --git a/tests/auto/blackbox/testdata/invalid-command-property/invalid-command-property.qbs b/tests/auto/blackbox/testdata/invalid-command-property/invalid-command-property.qbs
index 65437311e..b08fcd4a3 100644
--- a/tests/auto/blackbox/testdata/invalid-command-property/invalid-command-property.qbs
+++ b/tests/auto/blackbox/testdata/invalid-command-property/invalid-command-property.qbs
@@ -1,7 +1,8 @@
-import qbs
import qbs.TextFile
Product {
+ name: "p"
+ property string errorType
type: ["output"]
Group {
files: ["input.txt"]
@@ -16,11 +17,15 @@ Product {
prepare: {
var cmd = new JavaScriptCommand();
cmd.description = "Creating output";
- cmd.textFile = new TextFile(input.filePath, TextFile.ReadOnly);
- cmd.sourceCode = function() {
- var content = textFile.readAll();
- textFile.close();
- }
+ if (product.errorType === "qobject")
+ cmd.dummy = new TextFile(input.filePath, TextFile.ReadOnly);
+ else if (product.errorType === "input")
+ cmd.dummy = input;
+ else if (product.errorType === "artifact")
+ cmd.dummy = product.artifacts.qbs[0];
+ else
+ throw "invalid error type " + product.errorType;
+ cmd.sourceCode = function() { }
return [cmd];
}
}
diff --git a/tests/auto/blackbox/testdata/invalid-extension-instantiation/invalid-extension-instantiation.qbs b/tests/auto/blackbox/testdata/invalid-extension-instantiation/invalid-extension-instantiation.qbs
index ad2f55da4..d5e4dd5c7 100644
--- a/tests/auto/blackbox/testdata/invalid-extension-instantiation/invalid-extension-instantiation.qbs
+++ b/tests/auto/blackbox/testdata/invalid-extension-instantiation/invalid-extension-instantiation.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.Environment
import qbs.File
import qbs.FileInfo
diff --git a/tests/auto/blackbox/testdata/invalid-install-dir/invalid-install-dir.qbs b/tests/auto/blackbox/testdata/invalid-install-dir/invalid-install-dir.qbs
index f4a608904..57505712c 100644
--- a/tests/auto/blackbox/testdata/invalid-install-dir/invalid-install-dir.qbs
+++ b/tests/auto/blackbox/testdata/invalid-install-dir/invalid-install-dir.qbs
@@ -1,11 +1,7 @@
-import qbs
-
CppApplication {
consoleApplication: true
files: ["main.cpp"]
- Group {
- fileTagsFilter: ["application"]
- qbs.install: true
- qbs.installDir: "../whatever"
- }
+ qbs.installPrefix: ""
+ install: true
+ installDir: "../whatever"
}
diff --git a/tests/auto/blackbox/testdata/invalid-library-names/invalid-library-names.qbs b/tests/auto/blackbox/testdata/invalid-library-names/invalid-library-names.qbs
index 1ddfecd38..659b39962 100644
--- a/tests/auto/blackbox/testdata/invalid-library-names/invalid-library-names.qbs
+++ b/tests/auto/blackbox/testdata/invalid-library-names/invalid-library-names.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
minimumQbsVersion: "1.6"
property var values: [null, undefined, 5, [], ""]
diff --git a/tests/auto/blackbox/testdata/jsextensions-binaryfile/binaryfile.qbs b/tests/auto/blackbox/testdata/jsextensions-binaryfile/binaryfile.qbs
index 7d3ada851..1e7426744 100644
--- a/tests/auto/blackbox/testdata/jsextensions-binaryfile/binaryfile.qbs
+++ b/tests/auto/blackbox/testdata/jsextensions-binaryfile/binaryfile.qbs
@@ -1,14 +1,10 @@
-import qbs
import qbs.BinaryFile
Product {
type: ["dummy"]
Rule {
multiplex: true
- Artifact {
- filePath: "dummy.dat"
- fileTags: ["dummy"]
- }
+ outputFileTags: "dummy"
prepare: {
var commands = [];
var cmd = new JavaScriptCommand();
diff --git a/tests/auto/blackbox/testdata/jsextensions-file/file.qbs b/tests/auto/blackbox/testdata/jsextensions-file/file.qbs
index 2b0ec8de1..6adf714e2 100644
--- a/tests/auto/blackbox/testdata/jsextensions-file/file.qbs
+++ b/tests/auto/blackbox/testdata/jsextensions-file/file.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.File
import qbs.FileInfo
import qbs.TextFile
@@ -7,10 +6,7 @@ Product {
type: ["dummy"]
Rule {
multiplex: true
- Artifact {
- filePath: "dummy.txt"
- fileTags: ["dummy"]
- }
+ outputFileTags: "dummy"
prepare: {
var cmd = new JavaScriptCommand();
cmd.silent = true;
diff --git a/tests/auto/blackbox/testdata/jsextensions-fileinfo/fileinfo.qbs b/tests/auto/blackbox/testdata/jsextensions-fileinfo/fileinfo.qbs
index cf28b4014..244f2122e 100644
--- a/tests/auto/blackbox/testdata/jsextensions-fileinfo/fileinfo.qbs
+++ b/tests/auto/blackbox/testdata/jsextensions-fileinfo/fileinfo.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.FileInfo
import qbs.TextFile
@@ -6,10 +5,7 @@ Product {
type: ["dummy"]
Rule {
multiplex: true
- Artifact {
- filePath: "dummy.txt"
- fileTags: ["dummy"]
- }
+ outputFileTags: "dummy"
prepare: {
var cmd = new JavaScriptCommand();
cmd.silent = true;
diff --git a/tests/auto/blackbox/testdata/jsextensions-process/process.qbs b/tests/auto/blackbox/testdata/jsextensions-process/process.qbs
index c9c832ba4..be9e718df 100644
--- a/tests/auto/blackbox/testdata/jsextensions-process/process.qbs
+++ b/tests/auto/blackbox/testdata/jsextensions-process/process.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.Environment
import qbs.FileInfo
import qbs.Process
@@ -13,10 +12,7 @@ Project {
Rule {
multiplex: true
inputs: ["application"]
- Artifact {
- filePath: "dummy.txt"
- fileTags: ["dummy"]
- }
+ outputFileTags: "dummy"
prepare: {
var cmd = new JavaScriptCommand();
cmd.silent = true;
diff --git a/tests/auto/blackbox/testdata/jsextensions-propertylist/propertylist.qbs b/tests/auto/blackbox/testdata/jsextensions-propertylist/propertylist.qbs
index a70b81625..aa1351543 100644
--- a/tests/auto/blackbox/testdata/jsextensions-propertylist/propertylist.qbs
+++ b/tests/auto/blackbox/testdata/jsextensions-propertylist/propertylist.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.Process
import qbs.PropertyList
import qbs.TextFile
diff --git a/tests/auto/blackbox/testdata/jsextensions-temporarydir/jsextensions-temporarydir.qbs b/tests/auto/blackbox/testdata/jsextensions-temporarydir/jsextensions-temporarydir.qbs
index fb54a45ec..c540e9196 100644
--- a/tests/auto/blackbox/testdata/jsextensions-temporarydir/jsextensions-temporarydir.qbs
+++ b/tests/auto/blackbox/testdata/jsextensions-temporarydir/jsextensions-temporarydir.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.File
import qbs.TemporaryDir
diff --git a/tests/auto/blackbox/testdata/jsextensions-textfile/textfile.qbs b/tests/auto/blackbox/testdata/jsextensions-textfile/textfile.qbs
index ef433a1e4..62b54b131 100644
--- a/tests/auto/blackbox/testdata/jsextensions-textfile/textfile.qbs
+++ b/tests/auto/blackbox/testdata/jsextensions-textfile/textfile.qbs
@@ -1,14 +1,10 @@
-import qbs
import qbs.TextFile
Product {
type: ["dummy"]
Rule {
multiplex: true
- Artifact {
- filePath: "dummy.txt"
- fileTags: ["dummy"]
- }
+ outputFileTags: "dummy"
prepare: {
var commands = [];
var cmd = new JavaScriptCommand();
diff --git a/tests/auto/blackbox/testdata/ld/ld.qbs b/tests/auto/blackbox/testdata/ld/ld.qbs
index f95157012..25fede1b0 100644
--- a/tests/auto/blackbox/testdata/ld/ld.qbs
+++ b/tests/auto/blackbox/testdata/ld/ld.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Library {
Depends { name: "cpp" }
diff --git a/tests/auto/blackbox/testdata/lexyacc/lex_outfile/lex_outfile.qbs b/tests/auto/blackbox/testdata/lexyacc/lex_outfile/lex_outfile.qbs
index 3708140ad..61f76f4be 100644
--- a/tests/auto/blackbox/testdata/lexyacc/lex_outfile/lex_outfile.qbs
+++ b/tests/auto/blackbox/testdata/lexyacc/lex_outfile/lex_outfile.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
qbsSearchPaths: ".."
Depends { name: "bisonhelper" }
diff --git a/tests/auto/blackbox/testdata/lexyacc/lex_prefix/lex_prefix.qbs b/tests/auto/blackbox/testdata/lexyacc/lex_prefix/lex_prefix.qbs
index 3708140ad..61f76f4be 100644
--- a/tests/auto/blackbox/testdata/lexyacc/lex_prefix/lex_prefix.qbs
+++ b/tests/auto/blackbox/testdata/lexyacc/lex_prefix/lex_prefix.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
qbsSearchPaths: ".."
Depends { name: "bisonhelper" }
diff --git a/tests/auto/blackbox/testdata/lexyacc/one-grammar/one-grammar.qbs b/tests/auto/blackbox/testdata/lexyacc/one-grammar/one-grammar.qbs
index 3708140ad..61f76f4be 100644
--- a/tests/auto/blackbox/testdata/lexyacc/one-grammar/one-grammar.qbs
+++ b/tests/auto/blackbox/testdata/lexyacc/one-grammar/one-grammar.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
qbsSearchPaths: ".."
Depends { name: "bisonhelper" }
diff --git a/tests/auto/blackbox/testdata/lexyacc/two-grammars/two-grammars.qbs b/tests/auto/blackbox/testdata/lexyacc/two-grammars/two-grammars.qbs
index fb1375598..7b0c1e515 100644
--- a/tests/auto/blackbox/testdata/lexyacc/two-grammars/two-grammars.qbs
+++ b/tests/auto/blackbox/testdata/lexyacc/two-grammars/two-grammars.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
Depends { name: "lex_yacc" }
consoleApplication: true
diff --git a/tests/auto/blackbox/testdata/lexyacc/yacc_output/yacc_output.qbs b/tests/auto/blackbox/testdata/lexyacc/yacc_output/yacc_output.qbs
index 298190996..7e89b317e 100644
--- a/tests/auto/blackbox/testdata/lexyacc/yacc_output/yacc_output.qbs
+++ b/tests/auto/blackbox/testdata/lexyacc/yacc_output/yacc_output.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
Depends { name: "lex_yacc" }
lex_yacc.outputTag: "cpp"
diff --git a/tests/auto/blackbox/testdata/linkerMode/linkerMode.qbs b/tests/auto/blackbox/testdata/linkerMode/linkerMode.qbs
index 05e3eabed..1be50c0aa 100644
--- a/tests/auto/blackbox/testdata/linkerMode/linkerMode.qbs
+++ b/tests/auto/blackbox/testdata/linkerMode/linkerMode.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
CppApplication {
consoleApplication: true
diff --git a/tests/auto/blackbox/testdata/linkerscripts/linkerscripts.qbs b/tests/auto/blackbox/testdata/linkerscripts/linkerscripts.qbs
index 42b3884ea..b30a498bb 100644
--- a/tests/auto/blackbox/testdata/linkerscripts/linkerscripts.qbs
+++ b/tests/auto/blackbox/testdata/linkerscripts/linkerscripts.qbs
@@ -1,5 +1,3 @@
-import qbs
-
DynamicLibrary {
type: base.concat("custom")
Depends { name: "cpp" }
@@ -12,10 +10,7 @@ DynamicLibrary {
Rule {
multiplex: true
- Artifact {
- filePath: "dummy.txt"
- fileTags: ["custom"]
- }
+ outputFileTags: "custom"
prepare: {
var cmd = new JavaScriptCommand();
cmd.silent = true;
@@ -26,8 +21,7 @@ DynamicLibrary {
}
}
- Group {
- fileTagsFilter: ["dynamiclibrary"]
- qbs.install: true
- }
+ qbs.installPrefix: ""
+ install: true
+ installDir: ""
}
diff --git a/tests/auto/blackbox/testdata/list-products/list-products.qbs b/tests/auto/blackbox/testdata/list-products/list-products.qbs
index 559a7d274..5431b9371 100644
--- a/tests/auto/blackbox/testdata/list-products/list-products.qbs
+++ b/tests/auto/blackbox/testdata/list-products/list-products.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Product {
name: "a"
diff --git a/tests/auto/blackbox/testdata/list-properties-with-outer/list-properties-with-outer.qbs b/tests/auto/blackbox/testdata/list-properties-with-outer/list-properties-with-outer.qbs
index 3b0b3be49..ba157a7ac 100644
--- a/tests/auto/blackbox/testdata/list-properties-with-outer/list-properties-with-outer.qbs
+++ b/tests/auto/blackbox/testdata/list-properties-with-outer/list-properties-with-outer.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
type: ["outtype"]
Depends { name: "higher" }
diff --git a/tests/auto/blackbox/testdata/list-properties-with-outer/modules/higher/higher.qbs b/tests/auto/blackbox/testdata/list-properties-with-outer/modules/higher/higher.qbs
index a8d1b186f..ddb7b6f40 100644
--- a/tests/auto/blackbox/testdata/list-properties-with-outer/modules/higher/higher.qbs
+++ b/tests/auto/blackbox/testdata/list-properties-with-outer/modules/higher/higher.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
Depends { name: "lower" }
lower.listProp: ["higher"]
diff --git a/tests/auto/blackbox/testdata/list-properties-with-outer/modules/lower/lower.qbs b/tests/auto/blackbox/testdata/list-properties-with-outer/modules/lower/lower.qbs
index 3d5824bc2..63c97aa76 100644
--- a/tests/auto/blackbox/testdata/list-properties-with-outer/modules/lower/lower.qbs
+++ b/tests/auto/blackbox/testdata/list-properties-with-outer/modules/lower/lower.qbs
@@ -1,14 +1,9 @@
-import qbs
-
Module {
property stringList listProp
Rule {
inputs: ["intype"]
- Artifact {
- filePath: "dummy.out"
- fileTags: ["outtype"]
- }
+ outputFileTags: "outtype"
prepare: {
var cmd = new JavaScriptCommand();
cmd.silent = true;
diff --git a/tests/auto/blackbox/testdata/list-property-order/modules/higher1/higher1.qbs b/tests/auto/blackbox/testdata/list-property-order/modules/higher1/higher1.qbs
index c56dd33bc..67c7c790a 100644
--- a/tests/auto/blackbox/testdata/list-property-order/modules/higher1/higher1.qbs
+++ b/tests/auto/blackbox/testdata/list-property-order/modules/higher1/higher1.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
Depends { name: "lower" }
lower.listProp: ["higher1"]
diff --git a/tests/auto/blackbox/testdata/list-property-order/modules/higher2/higher2.qbs b/tests/auto/blackbox/testdata/list-property-order/modules/higher2/higher2.qbs
index 75600ffa4..3ca22f51c 100644
--- a/tests/auto/blackbox/testdata/list-property-order/modules/higher2/higher2.qbs
+++ b/tests/auto/blackbox/testdata/list-property-order/modules/higher2/higher2.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
Depends { name: "lower" }
lower.listProp: ["higher2"]
diff --git a/tests/auto/blackbox/testdata/list-property-order/modules/higher3/higher3.qbs b/tests/auto/blackbox/testdata/list-property-order/modules/higher3/higher3.qbs
index 5372b92db..f534cf8bf 100644
--- a/tests/auto/blackbox/testdata/list-property-order/modules/higher3/higher3.qbs
+++ b/tests/auto/blackbox/testdata/list-property-order/modules/higher3/higher3.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
Depends { name: "lower" }
lower.listProp: ["higher3"]
diff --git a/tests/auto/blackbox/testdata/list-property-order/modules/lower/lower.qbs b/tests/auto/blackbox/testdata/list-property-order/modules/lower/lower.qbs
index eeed377bc..c7462676d 100644
--- a/tests/auto/blackbox/testdata/list-property-order/modules/lower/lower.qbs
+++ b/tests/auto/blackbox/testdata/list-property-order/modules/lower/lower.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
property stringList listProp
diff --git a/tests/auto/blackbox/testdata/list-property-order/product.qbs b/tests/auto/blackbox/testdata/list-property-order/product.qbs
index ef5e5c827..e92494693 100644
--- a/tests/auto/blackbox/testdata/list-property-order/product.qbs
+++ b/tests/auto/blackbox/testdata/list-property-order/product.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
type: "outtype"
name: "toplevel"
diff --git a/tests/auto/blackbox/testdata/loadablemodule/loadablemodule.qbs b/tests/auto/blackbox/testdata/loadablemodule/loadablemodule.qbs
index 15b5906af..ec5b0b358 100644
--- a/tests/auto/blackbox/testdata/loadablemodule/loadablemodule.qbs
+++ b/tests/auto/blackbox/testdata/loadablemodule/loadablemodule.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
LoadableModule {
Depends { name: "cpp" }
diff --git a/tests/auto/blackbox/testdata/localDeployment/localDeployment.qbs b/tests/auto/blackbox/testdata/localDeployment/localDeployment.qbs
index 2b4d1f241..650f07104 100644
--- a/tests/auto/blackbox/testdata/localDeployment/localDeployment.qbs
+++ b/tests/auto/blackbox/testdata/localDeployment/localDeployment.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
Product {
type: ["application"]
diff --git a/tests/auto/blackbox/testdata/makefile-generator/app.qbs b/tests/auto/blackbox/testdata/makefile-generator/app.qbs
index 103f71ecf..dfd67276e 100644
--- a/tests/auto/blackbox/testdata/makefile-generator/app.qbs
+++ b/tests/auto/blackbox/testdata/makefile-generator/app.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
name: "the app"
consoleApplication: true
@@ -14,9 +12,5 @@ CppApplication {
files: "main.cpp"
qbs.installPrefix: "/usr/local"
- Group {
- fileTagsFilter: "application"
- qbs.install: true
- qbs.installDir: "bin"
- }
+ install: true
}
diff --git a/tests/auto/blackbox/testdata/maximum-c-language-version/maximum-c-language-version.qbs b/tests/auto/blackbox/testdata/maximum-c-language-version/maximum-c-language-version.qbs
index 2ac47b66a..320494d00 100644
--- a/tests/auto/blackbox/testdata/maximum-c-language-version/maximum-c-language-version.qbs
+++ b/tests/auto/blackbox/testdata/maximum-c-language-version/maximum-c-language-version.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
name: "app"
property bool enableNewestModule: true
diff --git a/tests/auto/blackbox/testdata/maximum-c-language-version/modules/newermodule/newermodule.qbs b/tests/auto/blackbox/testdata/maximum-c-language-version/modules/newermodule/newermodule.qbs
index 4dd343b3b..d5b015e42 100644
--- a/tests/auto/blackbox/testdata/maximum-c-language-version/modules/newermodule/newermodule.qbs
+++ b/tests/auto/blackbox/testdata/maximum-c-language-version/modules/newermodule/newermodule.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
Depends { name: "cpp" }
cpp.cLanguageVersion: "c99"
diff --git a/tests/auto/blackbox/testdata/maximum-c-language-version/modules/newestmodule/newestmodule.qbs b/tests/auto/blackbox/testdata/maximum-c-language-version/modules/newestmodule/newestmodule.qbs
index f8316a35e..5437957fe 100644
--- a/tests/auto/blackbox/testdata/maximum-c-language-version/modules/newestmodule/newestmodule.qbs
+++ b/tests/auto/blackbox/testdata/maximum-c-language-version/modules/newestmodule/newestmodule.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
Depends { name: "cpp" }
cpp.cLanguageVersion: "c11"
diff --git a/tests/auto/blackbox/testdata/maximum-c-language-version/modules/oldmodule/oldmodule.qbs b/tests/auto/blackbox/testdata/maximum-c-language-version/modules/oldmodule/oldmodule.qbs
index a753b3e3e..10e530098 100644
--- a/tests/auto/blackbox/testdata/maximum-c-language-version/modules/oldmodule/oldmodule.qbs
+++ b/tests/auto/blackbox/testdata/maximum-c-language-version/modules/oldmodule/oldmodule.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
Depends { name: "cpp" }
cpp.cLanguageVersion: "c90"
diff --git a/tests/auto/blackbox/testdata/maximum-cxx-language-version/maximum-cxx-language-version.qbs b/tests/auto/blackbox/testdata/maximum-cxx-language-version/maximum-cxx-language-version.qbs
index 5dd298aa8..71933cf60 100644
--- a/tests/auto/blackbox/testdata/maximum-cxx-language-version/maximum-cxx-language-version.qbs
+++ b/tests/auto/blackbox/testdata/maximum-cxx-language-version/maximum-cxx-language-version.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
name: "app"
property bool enableNewestModule: true
diff --git a/tests/auto/blackbox/testdata/maximum-cxx-language-version/modules/newermodule/newermodule.qbs b/tests/auto/blackbox/testdata/maximum-cxx-language-version/modules/newermodule/newermodule.qbs
index dfc28b946..88b1da212 100644
--- a/tests/auto/blackbox/testdata/maximum-cxx-language-version/modules/newermodule/newermodule.qbs
+++ b/tests/auto/blackbox/testdata/maximum-cxx-language-version/modules/newermodule/newermodule.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
Depends { name: "cpp" }
cpp.cxxLanguageVersion: "c++14"
diff --git a/tests/auto/blackbox/testdata/maximum-cxx-language-version/modules/newestmodule/newestmodule.qbs b/tests/auto/blackbox/testdata/maximum-cxx-language-version/modules/newestmodule/newestmodule.qbs
index f306a5389..f99932b10 100644
--- a/tests/auto/blackbox/testdata/maximum-cxx-language-version/modules/newestmodule/newestmodule.qbs
+++ b/tests/auto/blackbox/testdata/maximum-cxx-language-version/modules/newestmodule/newestmodule.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
Depends { name: "cpp" }
cpp.cxxLanguageVersion: "c++17"
diff --git a/tests/auto/blackbox/testdata/maximum-cxx-language-version/modules/oldmodule/oldmodule.qbs b/tests/auto/blackbox/testdata/maximum-cxx-language-version/modules/oldmodule/oldmodule.qbs
index b05c855a3..73d3bf16a 100644
--- a/tests/auto/blackbox/testdata/maximum-cxx-language-version/modules/oldmodule/oldmodule.qbs
+++ b/tests/auto/blackbox/testdata/maximum-cxx-language-version/modules/oldmodule/oldmodule.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
Depends { name: "cpp" }
cpp.cxxLanguageVersion: "c++11"
diff --git a/tests/auto/blackbox/testdata/minimumSystemVersion/fakewindows.qbs b/tests/auto/blackbox/testdata/minimumSystemVersion/fakewindows.qbs
index f536da6ac..1a56e0b7e 100644
--- a/tests/auto/blackbox/testdata/minimumSystemVersion/fakewindows.qbs
+++ b/tests/auto/blackbox/testdata/minimumSystemVersion/fakewindows.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.Utilities
// non-existent versions of Windows should print a QBS warning
diff --git a/tests/auto/blackbox/testdata/minimumSystemVersion/macappstore.qbs b/tests/auto/blackbox/testdata/minimumSystemVersion/macappstore.qbs
index 82cce3e07..8440da779 100644
--- a/tests/auto/blackbox/testdata/minimumSystemVersion/macappstore.qbs
+++ b/tests/auto/blackbox/testdata/minimumSystemVersion/macappstore.qbs
@@ -1,5 +1,3 @@
-import qbs
-
// just to make sure three-digit minimum versions work on macOS
// this only affects the value of __MAC_OS_X_VERSION_MIN_REQUIRED,
// not the actual LC_VERSION_MIN_MACOSX command which is limited to two
diff --git a/tests/auto/blackbox/testdata/minimumSystemVersion/specific.qbs b/tests/auto/blackbox/testdata/minimumSystemVersion/specific.qbs
index 2af95134a..f6ecab418 100644
--- a/tests/auto/blackbox/testdata/minimumSystemVersion/specific.qbs
+++ b/tests/auto/blackbox/testdata/minimumSystemVersion/specific.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.Utilities
// a specific version of the operating systems is specified
diff --git a/tests/auto/blackbox/testdata/minimumSystemVersion/unspecified-forced.qbs b/tests/auto/blackbox/testdata/minimumSystemVersion/unspecified-forced.qbs
index 2285e20ba..a5ea620fd 100644
--- a/tests/auto/blackbox/testdata/minimumSystemVersion/unspecified-forced.qbs
+++ b/tests/auto/blackbox/testdata/minimumSystemVersion/unspecified-forced.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.Utilities
// no minimum versions are specified, and explicitly set to undefined in
diff --git a/tests/auto/blackbox/testdata/minimumSystemVersion/unspecified.qbs b/tests/auto/blackbox/testdata/minimumSystemVersion/unspecified.qbs
index ac0a7abdc..0eeb2d547 100644
--- a/tests/auto/blackbox/testdata/minimumSystemVersion/unspecified.qbs
+++ b/tests/auto/blackbox/testdata/minimumSystemVersion/unspecified.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.Utilities
// no minimum versions are specified so the profile defaults will be used
diff --git a/tests/auto/blackbox/testdata/missing-dependency/missing-dependency.qbs b/tests/auto/blackbox/testdata/missing-dependency/missing-dependency.qbs
index a30ac2a70..6bb8b96f2 100644
--- a/tests/auto/blackbox/testdata/missing-dependency/missing-dependency.qbs
+++ b/tests/auto/blackbox/testdata/missing-dependency/missing-dependency.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.TextFile
Project {
diff --git a/tests/auto/blackbox/testdata/missing-override-prefix/missing-override-prefix.qbs b/tests/auto/blackbox/testdata/missing-override-prefix/missing-override-prefix.qbs
index 6d16a3c53..86718b571 100644
--- a/tests/auto/blackbox/testdata/missing-override-prefix/missing-override-prefix.qbs
+++ b/tests/auto/blackbox/testdata/missing-override-prefix/missing-override-prefix.qbs
@@ -1,3 +1 @@
-import qbs
-
Product { }
diff --git a/tests/auto/blackbox/testdata/missing-project-file/project-dir/missing-project-file.qbs b/tests/auto/blackbox/testdata/missing-project-file/project-dir/missing-project-file.qbs
index a294cbd24..421bad1f0 100644
--- a/tests/auto/blackbox/testdata/missing-project-file/project-dir/missing-project-file.qbs
+++ b/tests/auto/blackbox/testdata/missing-project-file/project-dir/missing-project-file.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
files: [
"file.cpp",
diff --git a/tests/auto/blackbox/testdata/moved-file-dependency/moved-file-dependency.qbs b/tests/auto/blackbox/testdata/moved-file-dependency/moved-file-dependency.qbs
index 6252f98ed..797198686 100644
--- a/tests/auto/blackbox/testdata/moved-file-dependency/moved-file-dependency.qbs
+++ b/tests/auto/blackbox/testdata/moved-file-dependency/moved-file-dependency.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
cpp.includePaths: ["subdir1", "subdir2"]
files: ["main.cpp"]
diff --git a/tests/auto/blackbox/testdata/multiple-changes/multiple-changes.qbs b/tests/auto/blackbox/testdata/multiple-changes/multiple-changes.qbs
index 254e2b4da..51e6b1a5c 100644
--- a/tests/auto/blackbox/testdata/multiple-changes/multiple-changes.qbs
+++ b/tests/auto/blackbox/testdata/multiple-changes/multiple-changes.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
property bool prop: false
Product {
diff --git a/tests/auto/blackbox/testdata/multiple-configurations/multiple-configurations.qbs b/tests/auto/blackbox/testdata/multiple-configurations/multiple-configurations.qbs
index f8371e983..f6fd16ba2 100644
--- a/tests/auto/blackbox/testdata/multiple-configurations/multiple-configurations.qbs
+++ b/tests/auto/blackbox/testdata/multiple-configurations/multiple-configurations.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
StaticLibrary {
name: "lib"
diff --git a/tests/auto/blackbox/testdata/multiplexed-tool/multiplexed-tool.qbs b/tests/auto/blackbox/testdata/multiplexed-tool/multiplexed-tool.qbs
index b36ea5be9..3994bd95f 100644
--- a/tests/auto/blackbox/testdata/multiplexed-tool/multiplexed-tool.qbs
+++ b/tests/auto/blackbox/testdata/multiplexed-tool/multiplexed-tool.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
CppApplication {
name: "tool"
diff --git a/tests/auto/blackbox/testdata/nested-groups/modules/themodule/themodule.qbs b/tests/auto/blackbox/testdata/nested-groups/modules/themodule/themodule.qbs
index ffca11cdf..73426ddf5 100644
--- a/tests/auto/blackbox/testdata/nested-groups/modules/themodule/themodule.qbs
+++ b/tests/auto/blackbox/testdata/nested-groups/modules/themodule/themodule.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
Group {
cpp.defines: ["REQUIRED_FOR_FILE3"]
diff --git a/tests/auto/blackbox/testdata/nested-groups/nested-groups.qbs b/tests/auto/blackbox/testdata/nested-groups/nested-groups.qbs
index 827eda64e..88f5ae30e 100644
--- a/tests/auto/blackbox/testdata/nested-groups/nested-groups.qbs
+++ b/tests/auto/blackbox/testdata/nested-groups/nested-groups.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
consoleApplication: true
Depends { name: "themodule" }
diff --git a/tests/auto/blackbox/testdata/nested-properties/modules/higherlevel/higher-level.qbs b/tests/auto/blackbox/testdata/nested-properties/modules/higherlevel/higher-level.qbs
index a3c117efd..071737c36 100644
--- a/tests/auto/blackbox/testdata/nested-properties/modules/higherlevel/higher-level.qbs
+++ b/tests/auto/blackbox/testdata/nested-properties/modules/higherlevel/higher-level.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
Depends { name: "lowerlevel" }
lowerlevel.propDependency: "value in higherlevel"
diff --git a/tests/auto/blackbox/testdata/nested-properties/modules/lowerlevel/lower-level.qbs b/tests/auto/blackbox/testdata/nested-properties/modules/lowerlevel/lower-level.qbs
index 6b2d00587..f8b6a7dc0 100644
--- a/tests/auto/blackbox/testdata/nested-properties/modules/lowerlevel/lower-level.qbs
+++ b/tests/auto/blackbox/testdata/nested-properties/modules/lowerlevel/lower-level.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
property string propDependency: "value in lowerlevel module"
property string prop: propDependency
@@ -7,10 +5,7 @@ Module {
Rule {
inputs: ["dummy-input"]
- Artifact {
- filePath: "dummy.out"
- fileTags: "mytype"
- }
+ outputFileTags: "mytype"
prepare: {
var cmd = new JavaScriptCommand();
cmd.sourceCode = function() { };
diff --git a/tests/auto/blackbox/testdata/nested-properties/product.qbs b/tests/auto/blackbox/testdata/nested-properties/product.qbs
index 916cee151..e38813b72 100644
--- a/tests/auto/blackbox/testdata/nested-properties/product.qbs
+++ b/tests/auto/blackbox/testdata/nested-properties/product.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Product {
name: "dep"
diff --git a/tests/auto/blackbox/testdata/new-output-artifact/new-output-artifact.qbs b/tests/auto/blackbox/testdata/new-output-artifact/new-output-artifact.qbs
index 10e0e4305..b297a3f61 100644
--- a/tests/auto/blackbox/testdata/new-output-artifact/new-output-artifact.qbs
+++ b/tests/auto/blackbox/testdata/new-output-artifact/new-output-artifact.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.TextFile
Product {
@@ -9,6 +8,7 @@ Product {
files: ["input.txt"]
fileTags: ["input"]
}
+ qbs.installPrefix: ""
Group {
fileTagsFilter: product.type
qbs.install: true
diff --git a/tests/auto/blackbox/testdata/no-exported-symbols/lib.cpp b/tests/auto/blackbox/testdata/no-exported-symbols/lib.cpp
new file mode 100644
index 000000000..20cfe21da
--- /dev/null
+++ b/tests/auto/blackbox/testdata/no-exported-symbols/lib.cpp
@@ -0,0 +1 @@
+static void someFunc() {}
diff --git a/tests/auto/blackbox/testdata/no-exported-symbols/lib.h b/tests/auto/blackbox/testdata/no-exported-symbols/lib.h
new file mode 100644
index 000000000..48fa2de97
--- /dev/null
+++ b/tests/auto/blackbox/testdata/no-exported-symbols/lib.h
@@ -0,0 +1,6 @@
+#ifndef TEST_LIB
+#define TEST_LIB
+
+inline int success() { return 0; }
+
+#endif
diff --git a/tests/auto/blackbox/testdata/no-exported-symbols/main.cpp b/tests/auto/blackbox/testdata/no-exported-symbols/main.cpp
new file mode 100644
index 000000000..a76122e19
--- /dev/null
+++ b/tests/auto/blackbox/testdata/no-exported-symbols/main.cpp
@@ -0,0 +1,6 @@
+#include <lib.h>
+
+int main()
+{
+ return success();
+}
diff --git a/tests/auto/blackbox/testdata/no-exported-symbols/no-exported-symbols.qbs b/tests/auto/blackbox/testdata/no-exported-symbols/no-exported-symbols.qbs
new file mode 100644
index 000000000..4bda00caf
--- /dev/null
+++ b/tests/auto/blackbox/testdata/no-exported-symbols/no-exported-symbols.qbs
@@ -0,0 +1,28 @@
+Project {
+ DynamicLibrary {
+ name: "the_lib"
+ Depends { name: "cpp" }
+ files: ["lib.cpp", "lib.h"]
+ Export {
+ Depends { name: "cpp" }
+ cpp.includePaths: path
+ }
+
+ Probe {
+ id: toolchainProbe
+ property stringList toolchain: qbs.toolchain
+ configure: {
+ if (toolchain.contains("msvc"))
+ console.info("compiler is MSVC")
+ else
+ console.info("compiler is not MSVC")
+ }
+ }
+ }
+ CppApplication {
+ name: "the_app"
+ property bool link
+ Depends { name: "the_lib"; cpp.link: product.link }
+ files: "main.cpp"
+ }
+}
diff --git a/tests/auto/blackbox/testdata/no-profile/no-profile.qbs b/tests/auto/blackbox/testdata/no-profile/no-profile.qbs
index cc251c6ab..6fd7dd07a 100644
--- a/tests/auto/blackbox/testdata/no-profile/no-profile.qbs
+++ b/tests/auto/blackbox/testdata/no-profile/no-profile.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
property bool dummy: { console.info("profile: " + project.profile); }
}
diff --git a/tests/auto/blackbox/testdata/nodejs/hello.qbs b/tests/auto/blackbox/testdata/nodejs/hello.qbs
index d5e92209a..c19e455db 100644
--- a/tests/auto/blackbox/testdata/nodejs/hello.qbs
+++ b/tests/auto/blackbox/testdata/nodejs/hello.qbs
@@ -1,5 +1,3 @@
-import qbs
-
NodeJSApplication {
nodejs.applicationFile: "hello.js"
name: "hello"
diff --git a/tests/auto/blackbox/testdata/non-broken-files-in-broken-product/non-broken-files-in-broken-product.qbs b/tests/auto/blackbox/testdata/non-broken-files-in-broken-product/non-broken-files-in-broken-product.qbs
index 1ec764dfa..abd41fb6b 100644
--- a/tests/auto/blackbox/testdata/non-broken-files-in-broken-product/non-broken-files-in-broken-product.qbs
+++ b/tests/auto/blackbox/testdata/non-broken-files-in-broken-product/non-broken-files-in-broken-product.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
consoleApplication: true
files: ["fine.cpp", "broken.cpp"]
diff --git a/tests/auto/blackbox/testdata/non-default-product/non-default-product.qbs b/tests/auto/blackbox/testdata/non-default-product/non-default-product.qbs
index 498344975..6e006e831 100644
--- a/tests/auto/blackbox/testdata/non-default-product/non-default-product.qbs
+++ b/tests/auto/blackbox/testdata/non-default-product/non-default-product.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
CppApplication {
name: "default app"
diff --git a/tests/auto/blackbox/testdata/nsis/hello.qbs b/tests/auto/blackbox/testdata/nsis/hello.qbs
index b7f3da505..a161a6998 100644
--- a/tests/auto/blackbox/testdata/nsis/hello.qbs
+++ b/tests/auto/blackbox/testdata/nsis/hello.qbs
@@ -1,5 +1,3 @@
-import qbs
-
NSISSetup {
condition: qbs.targetOS.contains("windows")
name: "Qbs Hello"
diff --git a/tests/auto/blackbox/testdata/nsisDependencies/nsisDependencies.qbs b/tests/auto/blackbox/testdata/nsisDependencies/nsisDependencies.qbs
index 7f19bf8d7..d8185aabf 100644
--- a/tests/auto/blackbox/testdata/nsisDependencies/nsisDependencies.qbs
+++ b/tests/auto/blackbox/testdata/nsisDependencies/nsisDependencies.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.FileInfo
import qbs.TextFile
@@ -37,7 +36,7 @@ Project {
// This rule tries to provoke the installer into building too early (and the test
// verifies that it does not) by causing the build of the installables to take
// a lot longer.
- inputs: ["qbs"]
+ multiplex: true
outputFileTags: ["c"]
outputArtifacts: {
var artifacts = [];
diff --git a/tests/auto/blackbox/testdata/out-of-date-marking/out-of-date-marking.qbs b/tests/auto/blackbox/testdata/out-of-date-marking/out-of-date-marking.qbs
index 1ef57bae7..d52246578 100644
--- a/tests/auto/blackbox/testdata/out-of-date-marking/out-of-date-marking.qbs
+++ b/tests/auto/blackbox/testdata/out-of-date-marking/out-of-date-marking.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.TextFile
CppApplication {
diff --git a/tests/auto/blackbox/testdata/output-artifact-auto-tagging/output-artifact-auto-tagging.qbs b/tests/auto/blackbox/testdata/output-artifact-auto-tagging/output-artifact-auto-tagging.qbs
index a9090f3db..7ec8fd916 100644
--- a/tests/auto/blackbox/testdata/output-artifact-auto-tagging/output-artifact-auto-tagging.qbs
+++ b/tests/auto/blackbox/testdata/output-artifact-auto-tagging/output-artifact-auto-tagging.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.File
CppApplication {
diff --git a/tests/auto/blackbox/testdata/overrideProjectProperties/helper_lib.qbs b/tests/auto/blackbox/testdata/overrideProjectProperties/helper_lib.qbs
index b26b0f31f..b69dd0da8 100644
--- a/tests/auto/blackbox/testdata/overrideProjectProperties/helper_lib.qbs
+++ b/tests/auto/blackbox/testdata/overrideProjectProperties/helper_lib.qbs
@@ -1,5 +1,3 @@
-import qbs
-
DynamicLibrary {
name: "helperLib"
files: "helperlib.cpp"
diff --git a/tests/auto/blackbox/testdata/overrideProjectProperties/overrideProjectProperties.qbs b/tests/auto/blackbox/testdata/overrideProjectProperties/overrideProjectProperties.qbs
index 6e8ef62a1..650606fbd 100644
--- a/tests/auto/blackbox/testdata/overrideProjectProperties/overrideProjectProperties.qbs
+++ b/tests/auto/blackbox/testdata/overrideProjectProperties/overrideProjectProperties.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
property string nameSuffix: ""
property bool someBool
diff --git a/tests/auto/blackbox/testdata/overrideProjectProperties/project_using_helper_lib.qbs b/tests/auto/blackbox/testdata/overrideProjectProperties/project_using_helper_lib.qbs
index c61716e6e..1eb21cdd1 100644
--- a/tests/auto/blackbox/testdata/overrideProjectProperties/project_using_helper_lib.qbs
+++ b/tests/auto/blackbox/testdata/overrideProjectProperties/project_using_helper_lib.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
property bool linkSuccessfully: false
references: linkSuccessfully ? ["helper_lib.qbs"] : []
diff --git a/tests/auto/blackbox/testdata/pch-change-tracking/pch-change-tracking.qbs b/tests/auto/blackbox/testdata/pch-change-tracking/pch-change-tracking.qbs
index 2cfb17337..3da526fdb 100644
--- a/tests/auto/blackbox/testdata/pch-change-tracking/pch-change-tracking.qbs
+++ b/tests/auto/blackbox/testdata/pch-change-tracking/pch-change-tracking.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
files: [
"header1.h",
diff --git a/tests/auto/blackbox/testdata/per-group-define-in-export-item/per-group-define-in-export-item.qbs b/tests/auto/blackbox/testdata/per-group-define-in-export-item/per-group-define-in-export-item.qbs
index 514de7ecb..a81b8f6c9 100644
--- a/tests/auto/blackbox/testdata/per-group-define-in-export-item/per-group-define-in-export-item.qbs
+++ b/tests/auto/blackbox/testdata/per-group-define-in-export-item/per-group-define-in-export-item.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Product {
name: "dep"
diff --git a/tests/auto/blackbox/testdata/pkg-config-probe-sysroot/modules/themodule/themodule.qbs b/tests/auto/blackbox/testdata/pkg-config-probe-sysroot/modules/themodule/themodule.qbs
index 2b33922a2..991876f6b 100644
--- a/tests/auto/blackbox/testdata/pkg-config-probe-sysroot/modules/themodule/themodule.qbs
+++ b/tests/auto/blackbox/testdata/pkg-config-probe-sysroot/modules/themodule/themodule.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.Probes
Module {
@@ -11,10 +10,7 @@ Module {
Rule {
multiplex: true
- Artifact {
- filePath: "dummy.out"
- fileTags: ["theType"]
- }
+ outputFileTags: "theType"
prepare: {
var cmd = new JavaScriptCommand();
cmd.silent = true;
diff --git a/tests/auto/blackbox/testdata/pkg-config-probe-sysroot/pkg-config.qbs b/tests/auto/blackbox/testdata/pkg-config-probe-sysroot/pkg-config.qbs
index 0eac3cca0..11498ebdb 100644
--- a/tests/auto/blackbox/testdata/pkg-config-probe-sysroot/pkg-config.qbs
+++ b/tests/auto/blackbox/testdata/pkg-config-probe-sysroot/pkg-config.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
property string packageBaseName
diff --git a/tests/auto/blackbox/testdata/pkg-config-probe/modules/themodule/themodule.qbs b/tests/auto/blackbox/testdata/pkg-config-probe/modules/themodule/themodule.qbs
index 81dfa955f..d5488da1f 100644
--- a/tests/auto/blackbox/testdata/pkg-config-probe/modules/themodule/themodule.qbs
+++ b/tests/auto/blackbox/testdata/pkg-config-probe/modules/themodule/themodule.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.Probes
Module {
@@ -18,10 +17,7 @@ Module {
Rule {
multiplex: true
- Artifact {
- filePath: "dummy.out"
- fileTags: ["theType"]
- }
+ outputFileTags: "theType"
prepare: {
var cmd = new JavaScriptCommand();
cmd.silent = true;
diff --git a/tests/auto/blackbox/testdata/pkg-config-probe/pkg-config.qbs b/tests/auto/blackbox/testdata/pkg-config-probe/pkg-config.qbs
index db831fbc2..d4dc3b92b 100644
--- a/tests/auto/blackbox/testdata/pkg-config-probe/pkg-config.qbs
+++ b/tests/auto/blackbox/testdata/pkg-config-probe/pkg-config.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
property string packageBaseName
diff --git a/tests/auto/blackbox/testdata/plugin-dependency/plugin-dependency.qbs b/tests/auto/blackbox/testdata/plugin-dependency/plugin-dependency.qbs
index f003a71cb..c619b33ef 100644
--- a/tests/auto/blackbox/testdata/plugin-dependency/plugin-dependency.qbs
+++ b/tests/auto/blackbox/testdata/plugin-dependency/plugin-dependency.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
CppApplication {
name: "myapp"
diff --git a/tests/auto/blackbox/testdata/precompiled-and-prefix-headers/precompiled-and-prefix-headers.qbs b/tests/auto/blackbox/testdata/precompiled-and-prefix-headers/precompiled-and-prefix-headers.qbs
index b30f76874..bbd524e23 100644
--- a/tests/auto/blackbox/testdata/precompiled-and-prefix-headers/precompiled-and-prefix-headers.qbs
+++ b/tests/auto/blackbox/testdata/precompiled-and-prefix-headers/precompiled-and-prefix-headers.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
name: "MyApp"
consoleApplication: true
diff --git a/tests/auto/blackbox/testdata/prevent-floating-point-values/prevent-floating-point-values.qbs b/tests/auto/blackbox/testdata/prevent-floating-point-values/prevent-floating-point-values.qbs
index 619e44f20..bd1d3162a 100644
--- a/tests/auto/blackbox/testdata/prevent-floating-point-values/prevent-floating-point-values.qbs
+++ b/tests/auto/blackbox/testdata/prevent-floating-point-values/prevent-floating-point-values.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
name: "p"
property bool dummy: { console.info("version: " + version); }
diff --git a/tests/auto/blackbox/testdata/probe-change-tracking/probe-change-tracking.qbs b/tests/auto/blackbox/testdata/probe-change-tracking/probe-change-tracking.qbs
index ff37985a4..6007a33ac 100644
--- a/tests/auto/blackbox/testdata/probe-change-tracking/probe-change-tracking.qbs
+++ b/tests/auto/blackbox/testdata/probe-change-tracking/probe-change-tracking.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Probe {
id: tlpProbe
diff --git a/tests/auto/blackbox/testdata/probe-in-exported-module/dependee.qbs b/tests/auto/blackbox/testdata/probe-in-exported-module/dependee.qbs
index 121ec6c39..fe81cf55c 100644
--- a/tests/auto/blackbox/testdata/probe-in-exported-module/dependee.qbs
+++ b/tests/auto/blackbox/testdata/probe-in-exported-module/dependee.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
name: "dependee"
Depends { name: "myothermodule" }
diff --git a/tests/auto/blackbox/testdata/probe-in-exported-module/dependency.qbs b/tests/auto/blackbox/testdata/probe-in-exported-module/dependency.qbs
index 1413777dc..eea5180ef 100644
--- a/tests/auto/blackbox/testdata/probe-in-exported-module/dependency.qbs
+++ b/tests/auto/blackbox/testdata/probe-in-exported-module/dependency.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
name: "dependency"
Export {
diff --git a/tests/auto/blackbox/testdata/probe-in-exported-module/modules/depmodule/depmodule.qbs b/tests/auto/blackbox/testdata/probe-in-exported-module/modules/depmodule/depmodule.qbs
index b880d6dac..41c6cfe50 100644
--- a/tests/auto/blackbox/testdata/probe-in-exported-module/modules/depmodule/depmodule.qbs
+++ b/tests/auto/blackbox/testdata/probe-in-exported-module/modules/depmodule/depmodule.qbs
@@ -1,15 +1,10 @@
-import qbs
-
Module {
property string prop
property stringList listProp: []
Rule {
inputs: ["dep-in"]
- Artifact {
- filePath: "dummy.txt"
- fileTags: ["dep-out"]
- }
+ outputFileTags: "dep-out"
prepare: {
var cmd = new JavaScriptCommand();
cmd.description = "Creating dep-out artifact";
diff --git a/tests/auto/blackbox/testdata/probe-in-exported-module/modules/mymodule/mymodule.qbs b/tests/auto/blackbox/testdata/probe-in-exported-module/modules/mymodule/mymodule.qbs
index 9f3657f34..89d544f7e 100644
--- a/tests/auto/blackbox/testdata/probe-in-exported-module/modules/mymodule/mymodule.qbs
+++ b/tests/auto/blackbox/testdata/probe-in-exported-module/modules/mymodule/mymodule.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
Depends { name: "depmodule" }
Probe {
@@ -12,10 +10,7 @@ Module {
Rule {
inputs: ["in"]
- Artifact {
- filePath: "dummy2.txt"
- fileTags: ["out"]
- }
+ outputFileTags: "out"
prepare: {
var cmd = new JavaScriptCommand();
cmd.description = "Creating out artifact";
diff --git a/tests/auto/blackbox/testdata/probe-in-exported-module/modules/myothermodule/myothermodule.qbs b/tests/auto/blackbox/testdata/probe-in-exported-module/modules/myothermodule/myothermodule.qbs
index d3009f532..4ea5dd077 100644
--- a/tests/auto/blackbox/testdata/probe-in-exported-module/modules/myothermodule/myothermodule.qbs
+++ b/tests/auto/blackbox/testdata/probe-in-exported-module/modules/myothermodule/myothermodule.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
Depends { name: "depmodule" }
depmodule.listProp: ["myother"]
diff --git a/tests/auto/blackbox/testdata/probe-in-exported-module/probe-in-exported-module.qbs b/tests/auto/blackbox/testdata/probe-in-exported-module/probe-in-exported-module.qbs
index 4e0f13f60..398090195 100644
--- a/tests/auto/blackbox/testdata/probe-in-exported-module/probe-in-exported-module.qbs
+++ b/tests/auto/blackbox/testdata/probe-in-exported-module/probe-in-exported-module.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
references: [ "dependee.qbs", "dependency.qbs" ]
}
diff --git a/tests/auto/blackbox/testdata/probeProperties/probeProperties.qbs b/tests/auto/blackbox/testdata/probeProperties/probeProperties.qbs
index 36842e40b..9846eacef 100644
--- a/tests/auto/blackbox/testdata/probeProperties/probeProperties.qbs
+++ b/tests/auto/blackbox/testdata/probeProperties/probeProperties.qbs
@@ -1,17 +1,16 @@
-import qbs
import qbs.Probes
CppApplication {
Probes.PathProbe {
id: probe1
names: ["bin/tool"]
- platformPaths: [product.sourceDirectory]
+ platformSearchPaths: [product.sourceDirectory]
}
Probes.PathProbe {
id: probe2
names: ["tool"]
- platformPaths: [product.sourceDirectory + "/bin"]
+ platformSearchPaths: [product.sourceDirectory + "/bin"]
}
targetName: {
diff --git a/tests/auto/blackbox/testdata/probes-and-array-properties/modules/mymodule/mymodule.qbs b/tests/auto/blackbox/testdata/probes-and-array-properties/modules/mymodule/mymodule.qbs
index 6479bdfac..e5c368a88 100644
--- a/tests/auto/blackbox/testdata/probes-and-array-properties/modules/mymodule/mymodule.qbs
+++ b/tests/auto/blackbox/testdata/probes-and-array-properties/modules/mymodule/mymodule.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
Probe {
id: propProbe
@@ -15,11 +13,7 @@ Module {
Rule {
multiplex: true
- alwaysRun: true
- Artifact {
- filePath: "dummy"
- fileTags: ["the-output"]
- }
+ outputFileTags: "the-output"
prepare: {
var cmd = new JavaScriptCommand();
cmd.description = "generating dummy";
diff --git a/tests/auto/blackbox/testdata/probes-and-array-properties/probes-and-array-properties.qbs b/tests/auto/blackbox/testdata/probes-and-array-properties/probes-and-array-properties.qbs
index c7d88ec14..70ca8e1de 100644
--- a/tests/auto/blackbox/testdata/probes-and-array-properties/probes-and-array-properties.qbs
+++ b/tests/auto/blackbox/testdata/probes-and-array-properties/probes-and-array-properties.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
name: "theProduct"
type: ["the-output"]
diff --git a/tests/auto/blackbox/testdata/probes-and-shadow-products/probes-and-shadow-products.qbs b/tests/auto/blackbox/testdata/probes-and-shadow-products/probes-and-shadow-products.qbs
index 660c088a0..19fc67f71 100644
--- a/tests/auto/blackbox/testdata/probes-and-shadow-products/probes-and-shadow-products.qbs
+++ b/tests/auto/blackbox/testdata/probes-and-shadow-products/probes-and-shadow-products.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
name: "p"
multiplexByQbsProperties: "buildVariants"
diff --git a/tests/auto/blackbox/testdata/probes-in-nested-modules/modules/inner/inner.qbs b/tests/auto/blackbox/testdata/probes-in-nested-modules/modules/inner/inner.qbs
index b6d39b021..5a254b49b 100644
--- a/tests/auto/blackbox/testdata/probes-in-nested-modules/modules/inner/inner.qbs
+++ b/tests/auto/blackbox/testdata/probes-in-nested-modules/modules/inner/inner.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.Probes
Module {
diff --git a/tests/auto/blackbox/testdata/probes-in-nested-modules/modules/outer/outer.qbs b/tests/auto/blackbox/testdata/probes-in-nested-modules/modules/outer/outer.qbs
index 71b745f44..4472d573b 100644
--- a/tests/auto/blackbox/testdata/probes-in-nested-modules/modules/outer/outer.qbs
+++ b/tests/auto/blackbox/testdata/probes-in-nested-modules/modules/outer/outer.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
Depends { name: "inner" }
diff --git a/tests/auto/blackbox/testdata/probes-in-nested-modules/probes-in-nested-modules.qbs b/tests/auto/blackbox/testdata/probes-in-nested-modules/probes-in-nested-modules.qbs
index ffc273e18..877300c1a 100644
--- a/tests/auto/blackbox/testdata/probes-in-nested-modules/probes-in-nested-modules.qbs
+++ b/tests/auto/blackbox/testdata/probes-in-nested-modules/probes-in-nested-modules.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Product {
name: "a"
diff --git a/tests/auto/blackbox/testdata/product-dependencies-by-type/modules/myconfig/myconfig.qbs b/tests/auto/blackbox/testdata/product-dependencies-by-type/modules/myconfig/myconfig.qbs
index f3d789842..5bc1fd613 100644
--- a/tests/auto/blackbox/testdata/product-dependencies-by-type/modules/myconfig/myconfig.qbs
+++ b/tests/auto/blackbox/testdata/product-dependencies-by-type/modules/myconfig/myconfig.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
property bool typeDecider: true
}
diff --git a/tests/auto/blackbox/testdata/product-dependencies-by-type/product-dependencies-by-type.qbs b/tests/auto/blackbox/testdata/product-dependencies-by-type/product-dependencies-by-type.qbs
index 1297a3942..8fa761a2d 100644
--- a/tests/auto/blackbox/testdata/product-dependencies-by-type/product-dependencies-by-type.qbs
+++ b/tests/auto/blackbox/testdata/product-dependencies-by-type/product-dependencies-by-type.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.TextFile
Project {
diff --git a/tests/auto/blackbox/testdata/productproperties/app.qbs b/tests/auto/blackbox/testdata/productproperties/app.qbs
index 405d08adb..b867aec3d 100644
--- a/tests/auto/blackbox/testdata/productproperties/app.qbs
+++ b/tests/auto/blackbox/testdata/productproperties/app.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Product {
consoleApplication: true
type: "application"
diff --git a/tests/auto/blackbox/testdata/productproperties/header.qbs b/tests/auto/blackbox/testdata/productproperties/header.qbs
index 5c3e2db63..42f9c88d9 100644
--- a/tests/auto/blackbox/testdata/productproperties/header.qbs
+++ b/tests/auto/blackbox/testdata/productproperties/header.qbs
@@ -1,4 +1,3 @@
-import qbs 1.0
import qbs.TextFile
Product {
diff --git a/tests/auto/blackbox/testdata/productproperties/productproperties.qbs b/tests/auto/blackbox/testdata/productproperties/productproperties.qbs
index 75c6224bc..79fdc34a2 100644
--- a/tests/auto/blackbox/testdata/productproperties/productproperties.qbs
+++ b/tests/auto/blackbox/testdata/productproperties/productproperties.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
property string blubbProp: "5"
references: ["header.qbs", "app.qbs"]
diff --git a/tests/auto/blackbox/testdata/project_filepath_check/project1.qbs b/tests/auto/blackbox/testdata/project_filepath_check/project1.qbs
index 5fc79d432..253992dd0 100644
--- a/tests/auto/blackbox/testdata/project_filepath_check/project1.qbs
+++ b/tests/auto/blackbox/testdata/project_filepath_check/project1.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
CppApplication {
files: "main.cpp"
}
diff --git a/tests/auto/blackbox/testdata/project_filepath_check/project2.qbs b/tests/auto/blackbox/testdata/project_filepath_check/project2.qbs
index 9abdac987..8bae2dd60 100644
--- a/tests/auto/blackbox/testdata/project_filepath_check/project2.qbs
+++ b/tests/auto/blackbox/testdata/project_filepath_check/project2.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
CppApplication {
files: "main2.cpp"
}
diff --git a/tests/auto/blackbox/testdata/properties-in-export-items/properties-in-export-items.qbs b/tests/auto/blackbox/testdata/properties-in-export-items/properties-in-export-items.qbs
index db9f3b2b4..a13578f95 100644
--- a/tests/auto/blackbox/testdata/properties-in-export-items/properties-in-export-items.qbs
+++ b/tests/auto/blackbox/testdata/properties-in-export-items/properties-in-export-items.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
minimumQbsVersion: "1.6"
diff --git a/tests/auto/blackbox/testdata/property-assignment-in-failed-module/modules/m/m.qbs b/tests/auto/blackbox/testdata/property-assignment-in-failed-module/modules/m/m.qbs
index 38b15d807..8170c1991 100644
--- a/tests/auto/blackbox/testdata/property-assignment-in-failed-module/modules/m/m.qbs
+++ b/tests/auto/blackbox/testdata/property-assignment-in-failed-module/modules/m/m.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
property bool doFail
Depends { name: "cpp" }
diff --git a/tests/auto/blackbox/testdata/property-assignment-in-failed-module/property-assignment-in-failed-module.qbs b/tests/auto/blackbox/testdata/property-assignment-in-failed-module/property-assignment-in-failed-module.qbs
index 8a3a6f359..baf315bfc 100644
--- a/tests/auto/blackbox/testdata/property-assignment-in-failed-module/property-assignment-in-failed-module.qbs
+++ b/tests/auto/blackbox/testdata/property-assignment-in-failed-module/property-assignment-in-failed-module.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
name: "app"
Depends { name: "m"; required: false }
diff --git a/tests/auto/blackbox/testdata/property-assignment-on-non-present-module/property-assignment-on-non-present-module.qbs b/tests/auto/blackbox/testdata/property-assignment-on-non-present-module/property-assignment-on-non-present-module.qbs
index 4484a2542..a01d6c561 100644
--- a/tests/auto/blackbox/testdata/property-assignment-on-non-present-module/property-assignment-on-non-present-module.qbs
+++ b/tests/auto/blackbox/testdata/property-assignment-on-non-present-module/property-assignment-on-non-present-module.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
Depends { name: "nein"; required: false }
nein.doch: "ohhh!"
diff --git a/tests/auto/blackbox/testdata/property-precedence/dep.qbs b/tests/auto/blackbox/testdata/property-precedence/dep.qbs
index c464b7d24..9f9668ceb 100644
--- a/tests/auto/blackbox/testdata/property-precedence/dep.qbs
+++ b/tests/auto/blackbox/testdata/property-precedence/dep.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
name: "dep"
Export {
diff --git a/tests/auto/blackbox/testdata/property-precedence/modules/leaf/leaf.qbs b/tests/auto/blackbox/testdata/property-precedence/modules/leaf/leaf.qbs
index 1ccc95939..1bfb1a1b8 100644
--- a/tests/auto/blackbox/testdata/property-precedence/modules/leaf/leaf.qbs
+++ b/tests/auto/blackbox/testdata/property-precedence/modules/leaf/leaf.qbs
@@ -1,16 +1,10 @@
-import qbs
-
Module {
property string scalarProp: "leaf"
property stringList listProp: ["leaf"]
Rule {
inputs: ["rule-input"]
- Artifact {
- filePath: "dummy"
- fileTags: ["rule-output"]
- alwaysUpdated: false
- }
+ outputFileTags: "rule-output"
prepare: {
var cmd = new JavaScriptCommand();
cmd.silent = true;
diff --git a/tests/auto/blackbox/testdata/property-precedence/modules/nonleaf/nonleaf.qbs b/tests/auto/blackbox/testdata/property-precedence/modules/nonleaf/nonleaf.qbs
index d67b261c1..a829da09d 100644
--- a/tests/auto/blackbox/testdata/property-precedence/modules/nonleaf/nonleaf.qbs
+++ b/tests/auto/blackbox/testdata/property-precedence/modules/nonleaf/nonleaf.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
Depends { name: "leaf" }
diff --git a/tests/auto/blackbox/testdata/property-precedence/property-precedence.qbs b/tests/auto/blackbox/testdata/property-precedence/property-precedence.qbs
index 5246c8a7b..1691376e8 100644
--- a/tests/auto/blackbox/testdata/property-precedence/property-precedence.qbs
+++ b/tests/auto/blackbox/testdata/property-precedence/property-precedence.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
references: ["dep.qbs"]
Product {
diff --git a/tests/auto/blackbox/testdata/propertyChanges/modules/TestModule/module.qbs b/tests/auto/blackbox/testdata/propertyChanges/modules/TestModule/module.qbs
index 14cdc570e..b1e4a1fdc 100644
--- a/tests/auto/blackbox/testdata/propertyChanges/modules/TestModule/module.qbs
+++ b/tests/auto/blackbox/testdata/propertyChanges/modules/TestModule/module.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.File
Module {
diff --git a/tests/auto/blackbox/testdata/propertyChanges/propertyChanges.qbs b/tests/auto/blackbox/testdata/propertyChanges/propertyChanges.qbs
index da9a862c5..f13b1986e 100644
--- a/tests/auto/blackbox/testdata/propertyChanges/propertyChanges.qbs
+++ b/tests/auto/blackbox/testdata/propertyChanges/propertyChanges.qbs
@@ -1,4 +1,3 @@
-import qbs 1.0
import qbs.Environment
import qbs.File
import qbs.TextFile
diff --git a/tests/auto/blackbox/testdata/propertyChanges/ruletest.qbs b/tests/auto/blackbox/testdata/propertyChanges/ruletest.qbs
index 21d6f75ef..1d8ea961c 100644
--- a/tests/auto/blackbox/testdata/propertyChanges/ruletest.qbs
+++ b/tests/auto/blackbox/testdata/propertyChanges/ruletest.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
name: "ruletest"
type: "test-output"
diff --git a/tests/auto/blackbox/testdata/protobuf/addressbook.proto b/tests/auto/blackbox/testdata/protobuf/addressbook.proto
new file mode 100644
index 000000000..b4b33b4c6
--- /dev/null
+++ b/tests/auto/blackbox/testdata/protobuf/addressbook.proto
@@ -0,0 +1,51 @@
+// See README.txt for information and build instructions.
+//
+// Note: START and END tags are used in comments to define sections used in
+// tutorials. They are not part of the syntax for Protocol Buffers.
+//
+// To get an in-depth walkthrough of this file and the related examples, see:
+// https://developers.google.com/protocol-buffers/docs/tutorials
+
+// [START declaration]
+syntax = "proto3";
+package tutorial;
+
+import "google/protobuf/timestamp.proto";
+// [END declaration]
+
+// [START java_declaration]
+option java_package = "com.example.tutorial";
+option java_outer_classname = "AddressBookProtos";
+// [END java_declaration]
+
+// [START csharp_declaration]
+option csharp_namespace = "Google.Protobuf.Examples.AddressBook";
+// [END csharp_declaration]
+
+// [START messages]
+message Person {
+ string name = 1;
+ int32 id = 2; // Unique ID number for this person.
+ string email = 3;
+
+ enum PhoneType {
+ MOBILE = 0;
+ HOME = 1;
+ WORK = 2;
+ }
+
+ message PhoneNumber {
+ string number = 1;
+ PhoneType type = 2;
+ }
+
+ repeated PhoneNumber phones = 4;
+
+ google.protobuf.Timestamp last_updated = 5;
+}
+
+// Our address book file is just one of these.
+message AddressBook {
+ repeated Person people = 1;
+}
+// [END messages]
diff --git a/tests/auto/blackbox/testdata/protobuf/addressbook_cpp.qbs b/tests/auto/blackbox/testdata/protobuf/addressbook_cpp.qbs
new file mode 100644
index 000000000..a5a4caf75
--- /dev/null
+++ b/tests/auto/blackbox/testdata/protobuf/addressbook_cpp.qbs
@@ -0,0 +1,21 @@
+import qbs
+
+CppApplication {
+ name: "addressbook_cpp"
+ consoleApplication: true
+ condition: hasProtobuf
+
+ Depends { name: "cpp" }
+ cpp.cxxLanguageVersion: "c++11"
+
+ Depends { name: "protobuf.cpp"; required: false }
+ property bool hasProtobuf: {
+ console.info("has protobuf: " + protobuf.cpp.present);
+ return protobuf.cpp.present;
+ }
+
+ files: [
+ "addressbook.proto",
+ "main.cpp",
+ ]
+}
diff --git a/tests/auto/blackbox/testdata/protobuf/addressbook_objc.qbs b/tests/auto/blackbox/testdata/protobuf/addressbook_objc.qbs
new file mode 100644
index 000000000..be68abfee
--- /dev/null
+++ b/tests/auto/blackbox/testdata/protobuf/addressbook_objc.qbs
@@ -0,0 +1,19 @@
+import qbs
+
+CppApplication {
+ name: "addressbook_objc"
+ consoleApplication: true
+ condition: hasProtobuf
+
+ Depends { name: "cpp" }
+ Depends { name: "protobuf.objc"; required: false }
+ property bool hasProtobuf: {
+ console.info("has protobuf: " + protobuf.objc.present);
+ return protobuf.objc.present;
+ }
+
+ files: [
+ "addressbook.proto",
+ "main.m",
+ ]
+}
diff --git a/tests/auto/blackbox/testdata/protobuf/import-main.cpp b/tests/auto/blackbox/testdata/protobuf/import-main.cpp
new file mode 100644
index 000000000..6d90cdf16
--- /dev/null
+++ b/tests/auto/blackbox/testdata/protobuf/import-main.cpp
@@ -0,0 +1,38 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 Ivan Komissarov
+** Contact: abbapoh@gmail.com
+**
+** This file is part of Qbs.
+**
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms and
+** conditions see http://www.qt.io/terms-conditions. For further information
+** use the contact form at http://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 or version 3 as published by the Free
+** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+** following information to ensure the GNU Lesser General Public License
+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+****************************************************************************/
+
+#include <import.pb.h>
+
+int main()
+{
+ MyMessage message;
+ message.set_msg("msg");
+ return 0;
+}
diff --git a/tests/auto/blackbox/testdata/protobuf/import.proto b/tests/auto/blackbox/testdata/protobuf/import.proto
new file mode 100644
index 000000000..d11e83b7a
--- /dev/null
+++ b/tests/auto/blackbox/testdata/protobuf/import.proto
@@ -0,0 +1,6 @@
+syntax = "proto2";
+import "subdir/myenum.proto";
+
+message MyMessage {
+ required string msg = 1;
+}
diff --git a/tests/auto/blackbox/testdata/protobuf/import.qbs b/tests/auto/blackbox/testdata/protobuf/import.qbs
new file mode 100644
index 000000000..4c4de063f
--- /dev/null
+++ b/tests/auto/blackbox/testdata/protobuf/import.qbs
@@ -0,0 +1,23 @@
+import qbs
+
+CppApplication {
+ name: "app"
+ consoleApplication: true
+ condition: hasProtobuf
+
+ protobuf.cpp.importPaths: [sourceDirectory]
+
+ cpp.cxxLanguageVersion: "c++11"
+
+ Depends { name: "protobuf.cpp"; required: false }
+ property bool hasProtobuf: {
+ console.info("has protobuf: " + protobuf.cpp.present);
+ return protobuf.cpp.present;
+ }
+
+ files: [
+ "import.proto",
+ "import-main.cpp",
+ "subdir/myenum.proto",
+ ]
+}
diff --git a/tests/auto/blackbox/testdata/protobuf/main.cpp b/tests/auto/blackbox/testdata/protobuf/main.cpp
new file mode 100644
index 000000000..c93c46717
--- /dev/null
+++ b/tests/auto/blackbox/testdata/protobuf/main.cpp
@@ -0,0 +1,58 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 Ivan Komissarov
+** Contact: abbapoh@gmail.com
+**
+** This file is part of Qbs.
+**
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms and
+** conditions see http://www.qt.io/terms-conditions. For further information
+** use the contact form at http://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 or version 3 as published by the Free
+** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+** following information to ensure the GNU Lesser General Public License
+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+****************************************************************************/
+
+#include <google/protobuf/util/time_util.h>
+#include <string>
+
+#include "addressbook.pb.h"
+
+using google::protobuf::util::TimeUtil;
+
+int main(int /*argc*/, char* /*argv*/[]) {
+ GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+ tutorial::AddressBook addressBook;
+
+ auto person = addressBook.add_people();
+ person->set_name("name");
+ person->set_id(1);
+ person->set_email("email");
+
+ auto phone_number = person->add_phones();
+ phone_number->set_number("number");
+ phone_number->set_type(tutorial::Person::MOBILE);
+
+ *person->mutable_last_updated() = TimeUtil::SecondsToTimestamp(time(nullptr));
+
+ google::protobuf::ShutdownProtobufLibrary();
+
+ return 0;
+}
+
diff --git a/tests/auto/blackbox/testdata/protobuf/main.m b/tests/auto/blackbox/testdata/protobuf/main.m
new file mode 100644
index 000000000..e9d7ce66a
--- /dev/null
+++ b/tests/auto/blackbox/testdata/protobuf/main.m
@@ -0,0 +1,50 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 Ivan Komissarov
+** Contact: abbapoh@gmail.com
+**
+** This file is part of Qbs.
+**
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms and
+** conditions see http://www.qt.io/terms-conditions. For further information
+** use the contact form at http://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 or version 3 as published by the Free
+** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+** following information to ensure the GNU Lesser General Public License
+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+****************************************************************************/
+
+#import "Addressbook.pbobjc.h"
+
+int main(int argc, char* argv[])
+{
+ AddressBook *addressBook = [[AddressBook alloc] init];
+
+ Person *person = [[Person alloc] init];
+ person.name = @"name";
+ person.id_p = 1;
+ person.email = @"email";
+
+ Person_PhoneNumber *number = [[Person_PhoneNumber alloc] init];
+ number.number = @"number";
+ number.type = Person_PhoneType_Mobile;
+
+ [addressBook.peopleArray addObject:person];
+ [addressBook release];
+
+ return 0;
+}
diff --git a/tests/auto/blackbox/testdata/protobuf/needs-import-dir-main.cpp b/tests/auto/blackbox/testdata/protobuf/needs-import-dir-main.cpp
new file mode 100644
index 000000000..d6faf9e84
--- /dev/null
+++ b/tests/auto/blackbox/testdata/protobuf/needs-import-dir-main.cpp
@@ -0,0 +1,38 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 Ivan Komissarov
+** Contact: abbapoh@gmail.com
+**
+** This file is part of Qbs.
+**
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms and
+** conditions see http://www.qt.io/terms-conditions. For further information
+** use the contact form at http://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 or version 3 as published by the Free
+** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+** following information to ensure the GNU Lesser General Public License
+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+****************************************************************************/
+
+#include <needs-import-dir.pb.h>
+
+int main()
+{
+ MyMessage message;
+ message.set_msg("msg");
+ return 0;
+}
diff --git a/tests/auto/blackbox/testdata/protobuf/needs-import-dir.proto b/tests/auto/blackbox/testdata/protobuf/needs-import-dir.proto
new file mode 100644
index 000000000..0d0cb6578
--- /dev/null
+++ b/tests/auto/blackbox/testdata/protobuf/needs-import-dir.proto
@@ -0,0 +1,6 @@
+syntax = "proto2";
+import "myenum.proto";
+
+message MyMessage {
+ required string msg = 1;
+}
diff --git a/tests/auto/blackbox/testdata/protobuf/needs-import-dir.qbs b/tests/auto/blackbox/testdata/protobuf/needs-import-dir.qbs
new file mode 100644
index 000000000..788bbc93c
--- /dev/null
+++ b/tests/auto/blackbox/testdata/protobuf/needs-import-dir.qbs
@@ -0,0 +1,24 @@
+import qbs
+
+CppApplication {
+ name: "app"
+ consoleApplication: true
+ condition: hasProtobuf
+
+ property path theImportDir
+ protobuf.cpp.importPaths: (theImportDir ? [theImportDir] : []).concat([sourceDirectory])
+
+ cpp.cxxLanguageVersion: "c++11"
+
+ Depends { name: "protobuf.cpp"; required: false }
+ property bool hasProtobuf: {
+ console.info("has protobuf: " + protobuf.cpp.present);
+ return protobuf.cpp.present;
+ }
+
+ files: [
+ "needs-import-dir.proto",
+ "needs-import-dir-main.cpp",
+ "subdir/myenum.proto",
+ ]
+}
diff --git a/tests/auto/blackbox/testdata/protobuf/subdir/myenum.proto b/tests/auto/blackbox/testdata/protobuf/subdir/myenum.proto
new file mode 100644
index 000000000..0b82869fc
--- /dev/null
+++ b/tests/auto/blackbox/testdata/protobuf/subdir/myenum.proto
@@ -0,0 +1,6 @@
+syntax = "proto2";
+
+enum MyEnum {
+ VAL1 = 0;
+ VAL2 = 1;
+}
diff --git a/tests/auto/blackbox/testdata/pseudo-multiplexing/pseudo-multiplexing.qbs b/tests/auto/blackbox/testdata/pseudo-multiplexing/pseudo-multiplexing.qbs
index 0639adc8a..88c565ba2 100644
--- a/tests/auto/blackbox/testdata/pseudo-multiplexing/pseudo-multiplexing.qbs
+++ b/tests/auto/blackbox/testdata/pseudo-multiplexing/pseudo-multiplexing.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Product {
name: "a"
diff --git a/tests/auto/blackbox/testdata/qbsVersion/qbs-version.qbs b/tests/auto/blackbox/testdata/qbsVersion/qbs-version.qbs
index d7ef0d68b..ced0f3a33 100644
--- a/tests/auto/blackbox/testdata/qbsVersion/qbs-version.qbs
+++ b/tests/auto/blackbox/testdata/qbsVersion/qbs-version.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
property string qbsVersion
property int qbsVersionMajor
diff --git a/tests/auto/blackbox/testdata/rad-after-incomplete-build/project_with_rule.qbs b/tests/auto/blackbox/testdata/rad-after-incomplete-build/project_with_rule.qbs
index 42ec452db..ca71ab930 100644
--- a/tests/auto/blackbox/testdata/rad-after-incomplete-build/project_with_rule.qbs
+++ b/tests/auto/blackbox/testdata/rad-after-incomplete-build/project_with_rule.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.TextFile
Product {
diff --git a/tests/auto/blackbox/testdata/recursive_renaming/recursive_renaming.qbs b/tests/auto/blackbox/testdata/recursive_renaming/recursive_renaming.qbs
index 5c2c4ec48..b49e9c53f 100644
--- a/tests/auto/blackbox/testdata/recursive_renaming/recursive_renaming.qbs
+++ b/tests/auto/blackbox/testdata/recursive_renaming/recursive_renaming.qbs
@@ -1,6 +1,5 @@
-import qbs 1.0
-
Product {
+ qbs.installPrefix: ""
Group {
qbs.install: true
qbs.installSourceBase: "."
diff --git a/tests/auto/blackbox/testdata/recursive_wildcards/recursive_wildcards.qbs b/tests/auto/blackbox/testdata/recursive_wildcards/recursive_wildcards.qbs
index 703a65e0e..4e9da01d3 100644
--- a/tests/auto/blackbox/testdata/recursive_wildcards/recursive_wildcards.qbs
+++ b/tests/auto/blackbox/testdata/recursive_wildcards/recursive_wildcards.qbs
@@ -1,8 +1,8 @@
-import qbs
import qbs.TextFile
Product {
type: ["txt.out"]
+ qbs.installPrefix: ""
Group {
files: "dir/**"
qbs.install: true
diff --git a/tests/auto/blackbox/testdata/referenceErrorInExport/referenceErrorInExport.qbs b/tests/auto/blackbox/testdata/referenceErrorInExport/referenceErrorInExport.qbs
index 91069f629..d64244f0f 100644
--- a/tests/auto/blackbox/testdata/referenceErrorInExport/referenceErrorInExport.qbs
+++ b/tests/auto/blackbox/testdata/referenceErrorInExport/referenceErrorInExport.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
CppApplication {
Depends { name: "other" }
diff --git a/tests/auto/blackbox/testdata/renameDependency/before/renameDependency.qbs b/tests/auto/blackbox/testdata/renameDependency/before/renameDependency.qbs
index e6f3cf66b..d42a760dd 100644
--- a/tests/auto/blackbox/testdata/renameDependency/before/renameDependency.qbs
+++ b/tests/auto/blackbox/testdata/renameDependency/before/renameDependency.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
files: ["*.cpp", "*.h"]
}
diff --git a/tests/auto/blackbox/testdata/reproducible-build/reproducible-build.qbs b/tests/auto/blackbox/testdata/reproducible-build/reproducible-build.qbs
index ebf2ba639..f7ed8e61a 100644
--- a/tests/auto/blackbox/testdata/reproducible-build/reproducible-build.qbs
+++ b/tests/auto/blackbox/testdata/reproducible-build/reproducible-build.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
name: "the product"
files: ["file1.cpp", "file2.cpp", "main.cpp"]
diff --git a/tests/auto/blackbox/testdata/require-deprecated/require.qbs b/tests/auto/blackbox/testdata/require-deprecated/require.qbs
index d30a15805..87d8b054b 100644
--- a/tests/auto/blackbox/testdata/require-deprecated/require.qbs
+++ b/tests/auto/blackbox/testdata/require-deprecated/require.qbs
@@ -1,4 +1,3 @@
-import qbs 1.0
import 'blubb.js' as blubb
Product {
diff --git a/tests/auto/blackbox/testdata/require/require.qbs b/tests/auto/blackbox/testdata/require/require.qbs
index d30a15805..87d8b054b 100644
--- a/tests/auto/blackbox/testdata/require/require.qbs
+++ b/tests/auto/blackbox/testdata/require/require.qbs
@@ -1,4 +1,3 @@
-import qbs 1.0
import 'blubb.js' as blubb
Product {
diff --git a/tests/auto/blackbox/testdata/rescue-transformer-data/modules/m/m.qbs b/tests/auto/blackbox/testdata/rescue-transformer-data/modules/m/m.qbs
index 03fdf7a6b..640d2c3b3 100644
--- a/tests/auto/blackbox/testdata/rescue-transformer-data/modules/m/m.qbs
+++ b/tests/auto/blackbox/testdata/rescue-transformer-data/modules/m/m.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
property bool p
diff --git a/tests/auto/blackbox/testdata/rescue-transformer-data/transformer-data-rescue.qbs b/tests/auto/blackbox/testdata/rescue-transformer-data/transformer-data-rescue.qbs
index 2eafcc01d..4d266bbd4 100644
--- a/tests/auto/blackbox/testdata/rescue-transformer-data/transformer-data-rescue.qbs
+++ b/tests/auto/blackbox/testdata/rescue-transformer-data/transformer-data-rescue.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
type: base.concat(["out"])
Depends { name: "m" }
diff --git a/tests/auto/blackbox/testdata/response-files/response-files.qbs b/tests/auto/blackbox/testdata/response-files/response-files.qbs
index 73eb720fe..fbb6f0518 100644
--- a/tests/auto/blackbox/testdata/response-files/response-files.qbs
+++ b/tests/auto/blackbox/testdata/response-files/response-files.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.FileInfo
import qbs.TextFile
@@ -13,6 +12,7 @@ Project {
type: ["text"]
Depends { name: "cpp" }
Depends { name: "cat-response-file" }
+ qbs.installPrefix: ""
Group {
fileTagsFilter: ["text"]
qbs.install: true
diff --git a/tests/auto/blackbox/testdata/retagged-output-artifact/retagged-output-artifact.qbs b/tests/auto/blackbox/testdata/retagged-output-artifact/retagged-output-artifact.qbs
new file mode 100644
index 000000000..8af84bcd7
--- /dev/null
+++ b/tests/auto/blackbox/testdata/retagged-output-artifact/retagged-output-artifact.qbs
@@ -0,0 +1,42 @@
+import qbs.File
+import qbs.TextFile
+
+Product {
+ name: "p"
+ type: "p_type"
+ property bool useTag1
+ Rule {
+ multiplex: true
+ outputFileTags: ["tag1", "tag2"]
+ outputArtifacts: [{filePath: "a1.txt", fileTags: product.useTag1 ? "tag1" : "tag2"}]
+ prepare: {
+ var cmd = new JavaScriptCommand();
+ cmd.description = "creating " + output.filePath;
+ cmd.sourceCode = function() {
+ var f = new TextFile(output.filePath, TextFile.WriteOnly);
+ f.close();
+ };
+ return cmd;
+ }
+ }
+ Rule {
+ inputs: "tag1"
+ Artifact { filePath: "a2.txt"; fileTags: "p_type" }
+ prepare: {
+ var cmd = new JavaScriptCommand();
+ cmd.description = "creating " + output.filePath;
+ cmd.sourceCode = function() { File.copy(input.filePath, output.filePath); };
+ return cmd;
+ }
+ }
+ Rule {
+ inputs: "tag2"
+ Artifact { filePath: "a3.txt"; fileTags: "p_type" }
+ prepare: {
+ var cmd = new JavaScriptCommand();
+ cmd.description = "creating " + output.filePath;
+ cmd.sourceCode = function() { File.copy(input.filePath, output.filePath); };
+ return cmd;
+ }
+ }
+}
diff --git a/tests/auto/blackbox/testdata/rule-connection-with-excluded-inputs/rule-connection-with-excluded-inputs.qbs b/tests/auto/blackbox/testdata/rule-connection-with-excluded-inputs/rule-connection-with-excluded-inputs.qbs
new file mode 100644
index 000000000..9d6482f90
--- /dev/null
+++ b/tests/auto/blackbox/testdata/rule-connection-with-excluded-inputs/rule-connection-with-excluded-inputs.qbs
@@ -0,0 +1,40 @@
+Product {
+ name: "p"
+ type: "p_type"
+ Rule {
+ multiplex: true
+ Artifact { filePath: "x.txt"; fileTags: "x" }
+ Artifact { filePath: "y.txt"; fileTags: "y" }
+ Artifact { filePath: "p.txt"; fileTags: "p_type" }
+ prepare: {
+ var cmd = new JavaScriptCommand();
+ cmd.silent = true;
+ cmd.sourceCode = function() {};
+ return cmd;
+ }
+ }
+ Rule {
+ multiplex: true
+ Artifact { filePath: "x2.txt"; fileTags: "x" }
+ prepare: {
+ var cmd = new JavaScriptCommand();
+ cmd.silent = true;
+ cmd.sourceCode = function() {};
+ return cmd;
+ }
+ }
+ Rule {
+ multiplex: true
+ inputs: "x"
+ excludedInputs: "y"
+ Artifact { filePath: "dummy"; fileTags: "p_type" }
+ prepare: {
+ console.info("inputs.x: " + (inputs.x ? inputs.x.length : 0));
+ console.info("inputs.y: " + (inputs.y ? inputs.y.length : 0));
+ var cmd = new JavaScriptCommand();
+ cmd.silent = true;
+ cmd.sourceCode = function() {};
+ return cmd;
+ }
+ }
+}
diff --git a/tests/auto/blackbox/testdata/rule-with-no-inputs/rule-with-no-inputs.qbs b/tests/auto/blackbox/testdata/rule-with-no-inputs/rule-with-no-inputs.qbs
index 6e2bf4430..9c0f01217 100644
--- a/tests/auto/blackbox/testdata/rule-with-no-inputs/rule-with-no-inputs.qbs
+++ b/tests/auto/blackbox/testdata/rule-with-no-inputs/rule-with-no-inputs.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.TextFile
Product {
diff --git a/tests/auto/blackbox/testdata/rule-with-non-required-inputs/rule-with-non-required-inputs.qbs b/tests/auto/blackbox/testdata/rule-with-non-required-inputs/rule-with-non-required-inputs.qbs
index 6719bc69d..1bd9beebf 100644
--- a/tests/auto/blackbox/testdata/rule-with-non-required-inputs/rule-with-non-required-inputs.qbs
+++ b/tests/auto/blackbox/testdata/rule-with-non-required-inputs/rule-with-non-required-inputs.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.TextFile
Product {
diff --git a/tests/auto/blackbox/testdata/ruleConditions/modules/narfzort/narfzort.qbs b/tests/auto/blackbox/testdata/ruleConditions/modules/narfzort/narfzort.qbs
index 187367388..0044537cb 100644
--- a/tests/auto/blackbox/testdata/ruleConditions/modules/narfzort/narfzort.qbs
+++ b/tests/auto/blackbox/testdata/ruleConditions/modules/narfzort/narfzort.qbs
@@ -1,4 +1,3 @@
-import qbs 1.0
import qbs.FileInfo
import qbs.TextFile
diff --git a/tests/auto/blackbox/testdata/ruleConditions/ruleConditions.qbs b/tests/auto/blackbox/testdata/ruleConditions/ruleConditions.qbs
index 766bf3c5d..a8f7ffad2 100644
--- a/tests/auto/blackbox/testdata/ruleConditions/ruleConditions.qbs
+++ b/tests/auto/blackbox/testdata/ruleConditions/ruleConditions.qbs
@@ -1,4 +1,3 @@
-import qbs 1.0
import "templates/zorduct.qbs" as Zorduct
Project {
diff --git a/tests/auto/blackbox/testdata/ruleConditions/templates/zorduct.qbs b/tests/auto/blackbox/testdata/ruleConditions/templates/zorduct.qbs
index 8f19a5a6d..cddad8c30 100644
--- a/tests/auto/blackbox/testdata/ruleConditions/templates/zorduct.qbs
+++ b/tests/auto/blackbox/testdata/ruleConditions/templates/zorduct.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Product {
type: ["application", "zort"]
consoleApplication: true
diff --git a/tests/auto/blackbox/testdata/ruleCycle/ruleCycle.qbs b/tests/auto/blackbox/testdata/ruleCycle/ruleCycle.qbs
index 6898afeac..1c5d61d95 100644
--- a/tests/auto/blackbox/testdata/ruleCycle/ruleCycle.qbs
+++ b/tests/auto/blackbox/testdata/ruleCycle/ruleCycle.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
Product {
name: "the cycle of life"
diff --git a/tests/auto/blackbox/testdata/separate-debug-info/separate-debug-info.qbs b/tests/auto/blackbox/testdata/separate-debug-info/separate-debug-info.qbs
index b28d7b822..48bdff904 100644
--- a/tests/auto/blackbox/testdata/separate-debug-info/separate-debug-info.qbs
+++ b/tests/auto/blackbox/testdata/separate-debug-info/separate-debug-info.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
CppApplication {
name: "app1"
diff --git a/tests/auto/blackbox/testdata/setup-build-environment/modules/buildenv/buildenv.qbs b/tests/auto/blackbox/testdata/setup-build-environment/modules/buildenv/buildenv.qbs
index 9beb22393..9213c6469 100644
--- a/tests/auto/blackbox/testdata/setup-build-environment/modules/buildenv/buildenv.qbs
+++ b/tests/auto/blackbox/testdata/setup-build-environment/modules/buildenv/buildenv.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.Environment
Module {
diff --git a/tests/auto/blackbox/testdata/setup-build-environment/modules/m/m.qbs b/tests/auto/blackbox/testdata/setup-build-environment/modules/m/m.qbs
index 81cf47bcd..74e718c50 100644
--- a/tests/auto/blackbox/testdata/setup-build-environment/modules/m/m.qbs
+++ b/tests/auto/blackbox/testdata/setup-build-environment/modules/m/m.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.Environment
import qbs.TextFile
diff --git a/tests/auto/blackbox/testdata/setup-build-environment/setup-build-environment.qbs b/tests/auto/blackbox/testdata/setup-build-environment/setup-build-environment.qbs
index 3248815f0..c5a7e87e0 100644
--- a/tests/auto/blackbox/testdata/setup-build-environment/setup-build-environment.qbs
+++ b/tests/auto/blackbox/testdata/setup-build-environment/setup-build-environment.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Product {
name: "first_product"
diff --git a/tests/auto/blackbox/testdata/setup-run-environment/setup-run-environment.qbs b/tests/auto/blackbox/testdata/setup-run-environment/setup-run-environment.qbs
index 9f841effd..b5ac8b289 100644
--- a/tests/auto/blackbox/testdata/setup-run-environment/setup-run-environment.qbs
+++ b/tests/auto/blackbox/testdata/setup-run-environment/setup-run-environment.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.FileInfo
Project {
@@ -8,12 +7,11 @@ Project {
files: ["lib1.cpp"]
- Group {
- condition: !qbs.targetOS.contains("darwin")
- fileTagsFilter: ["dynamiclibrary", "dynamiclibrary_import"]
- qbs.install: true
- qbs.installDir: "/lib1"
- }
+ install: !qbs.targetOS.contains("darwin")
+ installImportLib: true
+ installDir: "lib1"
+ importLibInstallDir: installDir
+
Group {
condition: qbs.targetOS.contains("darwin")
fileTagsFilter: ["bundle.content"]
@@ -41,16 +39,15 @@ Project {
files: ["lib3.cpp"]
- Properties {
+ Properties {
condition: qbs.targetOS.contains("darwin")
bundle.isBundle: false
}
- Group {
- fileTagsFilter: ["dynamiclibrary", "dynamiclibrary_import"]
- qbs.install: true
- qbs.installDir: "/lib3"
- }
+ install: true
+ installImportLib: true
+ installDir: "lib3"
+ importLibInstallDir: installDir
}
DynamicLibrary { // Non-dependency, referred to by name
@@ -59,16 +56,15 @@ Project {
files: ["lib4.cpp"]
- Properties {
+ Properties {
condition: qbs.targetOS.contains("darwin")
bundle.isBundle: false
}
- Group {
- fileTagsFilter: ["dynamiclibrary", "dynamiclibrary_import"]
- qbs.install: true
- qbs.installDir: "/lib4"
- }
+ install: true
+ installImportLib: true
+ installDir: "lib4"
+ importLibInstallDir: installDir
}
DynamicLibrary { // Recursive product dependency
diff --git a/tests/auto/blackbox/testdata/smart-relinking/smart-relinking.qbs b/tests/auto/blackbox/testdata/smart-relinking/smart-relinking.qbs
index 44d8013b9..aac0692a8 100644
--- a/tests/auto/blackbox/testdata/smart-relinking/smart-relinking.qbs
+++ b/tests/auto/blackbox/testdata/smart-relinking/smart-relinking.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
minimumQbsVersion: "1.6"
Probe {
diff --git a/tests/auto/blackbox/testdata/source-artifact-changes/modules/module_with_files/main.cpp b/tests/auto/blackbox/testdata/source-artifact-changes/modules/module_with_files/main.cpp
new file mode 100644
index 000000000..237c8ce18
--- /dev/null
+++ b/tests/auto/blackbox/testdata/source-artifact-changes/modules/module_with_files/main.cpp
@@ -0,0 +1 @@
+int main() {}
diff --git a/tests/auto/blackbox/testdata/source-artifact-changes/modules/module_with_files/module_with_files.qbs b/tests/auto/blackbox/testdata/source-artifact-changes/modules/module_with_files/module_with_files.qbs
new file mode 100644
index 000000000..514248d27
--- /dev/null
+++ b/tests/auto/blackbox/testdata/source-artifact-changes/modules/module_with_files/module_with_files.qbs
@@ -0,0 +1,15 @@
+Module {
+ property stringList fileTags
+ property bool overrideTags
+ property bool filesAreTargets
+
+ Depends { name: "cpp" }
+
+ Group {
+ prefix: path + '/'
+ files: "main.cpp"
+ fileTags: product.module_with_files.fileTags
+ overrideTags: product.module_with_files.overrideTags
+ filesAreTargets: product.module_with_files.filesAreTargets
+ }
+}
diff --git a/tests/auto/blackbox/testdata/source-artifact-changes/source-artifact-changes.qbs b/tests/auto/blackbox/testdata/source-artifact-changes/source-artifact-changes.qbs
new file mode 100644
index 000000000..de56376df
--- /dev/null
+++ b/tests/auto/blackbox/testdata/source-artifact-changes/source-artifact-changes.qbs
@@ -0,0 +1,56 @@
+CppApplication {
+ name: "app"
+ type: base.concat("dummy")
+ consoleApplication: true
+
+ Properties {
+ condition: qbs.targetOS.contains("darwin")
+ bundle.embedInfoPlist: false
+ }
+
+ Probe {
+ id: toolchainProbe
+ property stringList toolchain: qbs.toolchain
+ configure: {
+ console.info("is gcc: " + toolchain.contains("gcc"));
+ found = true;
+ }
+ }
+
+ Rule {
+ multiplex: true
+ inputs: "cpp"
+ Artifact {
+ filePath: "dummy"
+ fileTags: "dummy"
+ cpp.cxxLanguageVersion: "hoppla"
+ }
+ prepare: {
+ var cmd = new JavaScriptCommand();
+ cmd.silent = true;
+ cmd.sourceCode = function() {
+ if (output.cpp.cxxLanguageVersion !== "hoppla")
+ throw "This cannot be!";
+ };
+ return cmd;
+ }
+ }
+
+ Rule {
+ multiplex: true
+ inputs: "cpp"
+ requiresInputs: false
+ Artifact { filePath: "dummy2"; fileTags: "dummy" }
+ prepare: {
+ var cmd = new JavaScriptCommand();
+ cmd.silent = true;
+ cmd.sourceCode = function() {
+ console.info("cpp artifacts: "
+ + (product.artifacts.cpp ? product.artifacts.cpp.length : 0))
+ };
+ return cmd;
+ }
+ }
+
+ Depends { name: "module_with_files" }
+}
diff --git a/tests/auto/blackbox/testdata/source-artifact-in-inputs-from-dependencies/source-artifact-in-inputs-from-dependencies.qbs b/tests/auto/blackbox/testdata/source-artifact-in-inputs-from-dependencies/source-artifact-in-inputs-from-dependencies.qbs
index ef038a687..3486667f9 100644
--- a/tests/auto/blackbox/testdata/source-artifact-in-inputs-from-dependencies/source-artifact-in-inputs-from-dependencies.qbs
+++ b/tests/auto/blackbox/testdata/source-artifact-in-inputs-from-dependencies/source-artifact-in-inputs-from-dependencies.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.FileInfo
import qbs.TextFile
diff --git a/tests/auto/blackbox/testdata/soversion/soversion.qbs b/tests/auto/blackbox/testdata/soversion/soversion.qbs
index d024c25b9..6ce2144c0 100644
--- a/tests/auto/blackbox/testdata/soversion/soversion.qbs
+++ b/tests/auto/blackbox/testdata/soversion/soversion.qbs
@@ -1,5 +1,3 @@
-import qbs
-
DynamicLibrary {
name: "mylib"
property bool useVersion
diff --git a/tests/auto/blackbox/testdata/static-lib-without-sources/static-lib-without-sources.qbs b/tests/auto/blackbox/testdata/static-lib-without-sources/static-lib-without-sources.qbs
index 6109b428c..32a58c94b 100644
--- a/tests/auto/blackbox/testdata/static-lib-without-sources/static-lib-without-sources.qbs
+++ b/tests/auto/blackbox/testdata/static-lib-without-sources/static-lib-without-sources.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
StaticLibrary {
name: "a"
diff --git a/tests/auto/blackbox/testdata/subprofile-change-tracking/subprofile-change-tracking.qbs b/tests/auto/blackbox/testdata/subprofile-change-tracking/subprofile-change-tracking.qbs
index b3fba23fe..8abd12869 100644
--- a/tests/auto/blackbox/testdata/subprofile-change-tracking/subprofile-change-tracking.qbs
+++ b/tests/auto/blackbox/testdata/subprofile-change-tracking/subprofile-change-tracking.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
CppApplication { name: "app1"; files: ["main1.cpp"] }
CppApplication {
diff --git a/tests/auto/blackbox/testdata/successive-changes/successive-changes.qbs b/tests/auto/blackbox/testdata/successive-changes/successive-changes.qbs
index f42ca4096..77df81e39 100644
--- a/tests/auto/blackbox/testdata/successive-changes/successive-changes.qbs
+++ b/tests/auto/blackbox/testdata/successive-changes/successive-changes.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.TextFile
Project {
diff --git a/tests/auto/blackbox/testdata/suspicious-calls/copy-command.qbs b/tests/auto/blackbox/testdata/suspicious-calls/copy-command.qbs
index e01435fc0..3d43ef1f5 100644
--- a/tests/auto/blackbox/testdata/suspicious-calls/copy-command.qbs
+++ b/tests/auto/blackbox/testdata/suspicious-calls/copy-command.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.File
Product {
@@ -9,10 +8,7 @@ Product {
}
Rule {
inputs: ["in"]
- Artifact {
- filePath: "dummy.txt"
- fileTags: ["out"]
- }
+ outputFileTags: "out"
prepare: {
var cmd = new JavaScriptCommand();
cmd.silent = true;
diff --git a/tests/auto/blackbox/testdata/suspicious-calls/copy-eval.qbs b/tests/auto/blackbox/testdata/suspicious-calls/copy-eval.qbs
index 93bfca81d..b074c00cf 100644
--- a/tests/auto/blackbox/testdata/suspicious-calls/copy-eval.qbs
+++ b/tests/auto/blackbox/testdata/suspicious-calls/copy-eval.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.File
Product {
diff --git a/tests/auto/blackbox/testdata/suspicious-calls/copy-prepare.qbs b/tests/auto/blackbox/testdata/suspicious-calls/copy-prepare.qbs
index b6098e8de..0408c9d5a 100644
--- a/tests/auto/blackbox/testdata/suspicious-calls/copy-prepare.qbs
+++ b/tests/auto/blackbox/testdata/suspicious-calls/copy-prepare.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.File
Product {
@@ -9,10 +8,7 @@ Product {
}
Rule {
inputs: ["in"]
- Artifact {
- filePath: "dummy.txt"
- fileTags: ["out"]
- }
+ outputFileTags: "out"
prepare: {
File.copy(input.filePath, output.filePath);
var cmd = new JavaScriptCommand();
diff --git a/tests/auto/blackbox/testdata/suspicious-calls/copy-probe.qbs b/tests/auto/blackbox/testdata/suspicious-calls/copy-probe.qbs
index dd97839c2..f47b204d5 100644
--- a/tests/auto/blackbox/testdata/suspicious-calls/copy-probe.qbs
+++ b/tests/auto/blackbox/testdata/suspicious-calls/copy-probe.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.File
Product {
diff --git a/tests/auto/blackbox/testdata/suspicious-calls/direntries-command.qbs b/tests/auto/blackbox/testdata/suspicious-calls/direntries-command.qbs
index d15351c25..c20d6f2ef 100644
--- a/tests/auto/blackbox/testdata/suspicious-calls/direntries-command.qbs
+++ b/tests/auto/blackbox/testdata/suspicious-calls/direntries-command.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.File
Product {
@@ -9,10 +8,7 @@ Product {
}
Rule {
inputs: ["in"]
- Artifact {
- filePath: "dummy.txt"
- fileTags: ["out"]
- }
+ outputFileTags: "out"
prepare: {
var cmd = new JavaScriptCommand();
cmd.silent = true;
diff --git a/tests/auto/blackbox/testdata/suspicious-calls/direntries-eval.qbs b/tests/auto/blackbox/testdata/suspicious-calls/direntries-eval.qbs
index 4cd0d634e..2a759d93a 100644
--- a/tests/auto/blackbox/testdata/suspicious-calls/direntries-eval.qbs
+++ b/tests/auto/blackbox/testdata/suspicious-calls/direntries-eval.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.File
Product {
diff --git a/tests/auto/blackbox/testdata/suspicious-calls/direntries-prepare.qbs b/tests/auto/blackbox/testdata/suspicious-calls/direntries-prepare.qbs
index 6f7320110..7b39a8969 100644
--- a/tests/auto/blackbox/testdata/suspicious-calls/direntries-prepare.qbs
+++ b/tests/auto/blackbox/testdata/suspicious-calls/direntries-prepare.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.File
Product {
@@ -9,10 +8,7 @@ Product {
}
Rule {
inputs: ["in"]
- Artifact {
- filePath: "dummy.txt"
- fileTags: ["out"]
- }
+ outputFileTags: "out"
prepare: {
var dummy = File.directoryEntries(product.sourceDirectory, File.Files);
var cmd = new JavaScriptCommand();
diff --git a/tests/auto/blackbox/testdata/suspicious-calls/direntries-probe.qbs b/tests/auto/blackbox/testdata/suspicious-calls/direntries-probe.qbs
index d2c8b8ded..fff82df81 100644
--- a/tests/auto/blackbox/testdata/suspicious-calls/direntries-probe.qbs
+++ b/tests/auto/blackbox/testdata/suspicious-calls/direntries-probe.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.File
Product {
diff --git a/tests/auto/blackbox/testdata/symbolLinkMode/symbolLinkMode.qbs b/tests/auto/blackbox/testdata/symbolLinkMode/symbolLinkMode.qbs
index 624b1abb0..2d3d64b00 100644
--- a/tests/auto/blackbox/testdata/symbolLinkMode/symbolLinkMode.qbs
+++ b/tests/auto/blackbox/testdata/symbolLinkMode/symbolLinkMode.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.FileInfo
Project {
diff --git a/tests/auto/blackbox/testdata/symlink-removal/symlink-removal.qbs b/tests/auto/blackbox/testdata/symlink-removal/symlink-removal.qbs
index fc47c450f..4aa36142d 100644
--- a/tests/auto/blackbox/testdata/symlink-removal/symlink-removal.qbs
+++ b/tests/auto/blackbox/testdata/symlink-removal/symlink-removal.qbs
@@ -1,14 +1,10 @@
-import qbs
import qbs.File
Product {
type: "removal"
Rule {
multiplex: true
- Artifact {
- filePath: "dummy"
- fileTags: product.type
- }
+ outputFileTags: "removal"
prepare: {
var cmd = new JavaScriptCommand();
cmd.silent = true;
diff --git a/tests/auto/blackbox/testdata/system-include-paths/system-include-paths.qbs b/tests/auto/blackbox/testdata/system-include-paths/system-include-paths.qbs
index 081d40202..9c644fc2a 100644
--- a/tests/auto/blackbox/testdata/system-include-paths/system-include-paths.qbs
+++ b/tests/auto/blackbox/testdata/system-include-paths/system-include-paths.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
files: ["main.cpp"]
cpp.systemIncludePaths: ["subdir"]
diff --git a/tests/auto/blackbox/testdata/system-run-paths/system-run-paths.qbs b/tests/auto/blackbox/testdata/system-run-paths/system-run-paths.qbs
index 81778d6f7..6e2137173 100644
--- a/tests/auto/blackbox/testdata/system-run-paths/system-run-paths.qbs
+++ b/tests/auto/blackbox/testdata/system-run-paths/system-run-paths.qbs
@@ -1,11 +1,10 @@
-import qbs
-
Project {
property bool setRunPaths
Product {
name: "theLib"
type: ["dynamiclibrary"]
Depends { name: "cpp" }
+ qbs.installPrefix: ""
Group {
fileTagsFilter: product.type
qbs.install: true
diff --git a/tests/auto/blackbox/testdata/texttemplate/cdefgabc.txt.in b/tests/auto/blackbox/testdata/texttemplate/cdefgabc.txt.in
new file mode 100644
index 000000000..9e3a753bc
--- /dev/null
+++ b/tests/auto/blackbox/testdata/texttemplate/cdefgabc.txt.in
@@ -0,0 +1 @@
+${c} ${d} ${e} ${f} ${g} ${a} ${b} ${c}
diff --git a/tests/auto/blackbox/testdata/texttemplate/expected/lalala.txt b/tests/auto/blackbox/testdata/texttemplate/expected/lalala.txt
new file mode 100644
index 000000000..c47434717
--- /dev/null
+++ b/tests/auto/blackbox/testdata/texttemplate/expected/lalala.txt
@@ -0,0 +1 @@
+do re mi fa so la ti do
diff --git a/tests/auto/blackbox/testdata/texttemplate/expected/output.txt b/tests/auto/blackbox/testdata/texttemplate/expected/output.txt
new file mode 100644
index 000000000..5c4b1a82a
--- /dev/null
+++ b/tests/auto/blackbox/testdata/texttemplate/expected/output.txt
@@ -0,0 +1,12 @@
+foo bar baz
+fu bar baz
+foo BAR baz
+foo bar buzz
+fu BAR baz
+fu bar buzz
+fu BAR buzz
+fooBARbaz
+foo\BARbaz
+foo\\BARbaz
+foo\\\BARbaz
+foo${bar}baz
diff --git a/tests/auto/blackbox/testdata/texttemplate/output.txt.in b/tests/auto/blackbox/testdata/texttemplate/output.txt.in
new file mode 100644
index 000000000..f5f645b73
--- /dev/null
+++ b/tests/auto/blackbox/testdata/texttemplate/output.txt.in
@@ -0,0 +1,12 @@
+foo bar baz
+${foo} bar baz
+foo ${bar} baz
+foo bar ${baz}
+${foo} ${bar} baz
+${foo} bar ${baz}
+${foo} ${bar} ${baz}
+foo${bar}baz
+foo\${bar}baz
+foo\\${bar}baz
+foo\\\${bar}baz
+foo${$}{bar}baz
diff --git a/tests/auto/blackbox/testdata/texttemplate/texttemplatetest.qbs b/tests/auto/blackbox/testdata/texttemplate/texttemplatetest.qbs
new file mode 100644
index 000000000..6abda64f9
--- /dev/null
+++ b/tests/auto/blackbox/testdata/texttemplate/texttemplatetest.qbs
@@ -0,0 +1,24 @@
+Product {
+ name: "one"
+ type: ["text"]
+ files: ["output.txt.in"]
+ Depends { name: "texttemplate" }
+ texttemplate.dict: ({
+ foo: "fu",
+ bar: "BAR",
+ baz: "buzz",
+ })
+ Group {
+ files: ["cdefgabc.txt.in"]
+ texttemplate.outputFileName: "lalala.txt"
+ texttemplate.dict: ({
+ c: "do",
+ d: "re",
+ e: "mi",
+ f: "fa",
+ g: "so",
+ a: "la",
+ b: "ti",
+ })
+ }
+}
diff --git a/tests/auto/blackbox/testdata/toplevel-searchpath/qbs-resources/imports/MyProduct.qbs b/tests/auto/blackbox/testdata/toplevel-searchpath/qbs-resources/imports/MyProduct.qbs
index 6d16a3c53..86718b571 100644
--- a/tests/auto/blackbox/testdata/toplevel-searchpath/qbs-resources/imports/MyProduct.qbs
+++ b/tests/auto/blackbox/testdata/toplevel-searchpath/qbs-resources/imports/MyProduct.qbs
@@ -1,3 +1 @@
-import qbs
-
Product { }
diff --git a/tests/auto/blackbox/testdata/toplevel-searchpath/toplevel-searchpath.qbs b/tests/auto/blackbox/testdata/toplevel-searchpath/toplevel-searchpath.qbs
index 2dd54a81f..8ca6cfca9 100644
--- a/tests/auto/blackbox/testdata/toplevel-searchpath/toplevel-searchpath.qbs
+++ b/tests/auto/blackbox/testdata/toplevel-searchpath/toplevel-searchpath.qbs
@@ -1,3 +1 @@
-import qbs
-
MyProduct { }
diff --git a/tests/auto/blackbox/testdata/trackAddFile/after/trackAddFile.qbs b/tests/auto/blackbox/testdata/trackAddFile/after/trackAddFile.qbs
index 469aff097..f4b9ba21f 100644
--- a/tests/auto/blackbox/testdata/trackAddFile/after/trackAddFile.qbs
+++ b/tests/auto/blackbox/testdata/trackAddFile/after/trackAddFile.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
Product {
name: 'someapp'
diff --git a/tests/auto/blackbox/testdata/trackAddFile/before/trackAddFile.qbs b/tests/auto/blackbox/testdata/trackAddFile/before/trackAddFile.qbs
index fc647cdbe..bb0ab7d44 100644
--- a/tests/auto/blackbox/testdata/trackAddFile/before/trackAddFile.qbs
+++ b/tests/auto/blackbox/testdata/trackAddFile/before/trackAddFile.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
Product {
name: 'someapp'
diff --git a/tests/auto/blackbox/testdata/trackExternalProductChanges/trackExternalProductChanges.qbs b/tests/auto/blackbox/testdata/trackExternalProductChanges/trackExternalProductChanges.qbs
index 232c8ea41..534f49ff2 100644
--- a/tests/auto/blackbox/testdata/trackExternalProductChanges/trackExternalProductChanges.qbs
+++ b/tests/auto/blackbox/testdata/trackExternalProductChanges/trackExternalProductChanges.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.Environment
import "fileList.js" as FileList
diff --git a/tests/auto/blackbox/testdata/trackFileTags/after/trackFileTags.qbs b/tests/auto/blackbox/testdata/trackFileTags/after/trackFileTags.qbs
index c0e5c4715..869ce238b 100644
--- a/tests/auto/blackbox/testdata/trackFileTags/after/trackFileTags.qbs
+++ b/tests/auto/blackbox/testdata/trackFileTags/after/trackFileTags.qbs
@@ -1,4 +1,3 @@
-import qbs 1.0
import qbs.TextFile
Project {
diff --git a/tests/auto/blackbox/testdata/trackFileTags/before/trackFileTags.qbs b/tests/auto/blackbox/testdata/trackFileTags/before/trackFileTags.qbs
index 7ac895c5f..ebe31bf26 100644
--- a/tests/auto/blackbox/testdata/trackFileTags/before/trackFileTags.qbs
+++ b/tests/auto/blackbox/testdata/trackFileTags/before/trackFileTags.qbs
@@ -1,4 +1,3 @@
-import qbs 1.0
import qbs.TextFile
Project {
diff --git a/tests/auto/blackbox/testdata/trackProducts/after/product3.qbs b/tests/auto/blackbox/testdata/trackProducts/after/product3.qbs
index 4dac755c0..bd9cdc009 100644
--- a/tests/auto/blackbox/testdata/trackProducts/after/product3.qbs
+++ b/tests/auto/blackbox/testdata/trackProducts/after/product3.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Product {
Depends { name: "cpp" }
type: "application"
diff --git a/tests/auto/blackbox/testdata/trackProducts/after/trackProducts.qbs b/tests/auto/blackbox/testdata/trackProducts/after/trackProducts.qbs
index 343405c08..2935ed1df 100644
--- a/tests/auto/blackbox/testdata/trackProducts/after/trackProducts.qbs
+++ b/tests/auto/blackbox/testdata/trackProducts/after/trackProducts.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project
{
name: "trackProducts"
diff --git a/tests/auto/blackbox/testdata/trackProducts/before/product1.qbs b/tests/auto/blackbox/testdata/trackProducts/before/product1.qbs
index 60e8b0924..48176c809 100644
--- a/tests/auto/blackbox/testdata/trackProducts/before/product1.qbs
+++ b/tests/auto/blackbox/testdata/trackProducts/before/product1.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Product {
Depends { name: "cpp" }
type: "application"
diff --git a/tests/auto/blackbox/testdata/trackProducts/before/product2.qbs b/tests/auto/blackbox/testdata/trackProducts/before/product2.qbs
index 5490b8844..be250486d 100644
--- a/tests/auto/blackbox/testdata/trackProducts/before/product2.qbs
+++ b/tests/auto/blackbox/testdata/trackProducts/before/product2.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Product {
Depends { name: "cpp" }
type: "application"
diff --git a/tests/auto/blackbox/testdata/trackProducts/before/trackProducts.qbs b/tests/auto/blackbox/testdata/trackProducts/before/trackProducts.qbs
index 6d5555c68..8b5edb6bf 100644
--- a/tests/auto/blackbox/testdata/trackProducts/before/trackProducts.qbs
+++ b/tests/auto/blackbox/testdata/trackProducts/before/trackProducts.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project
{
name: "trackProducts"
diff --git a/tests/auto/blackbox/testdata/transitive-optional-dependencies/modules/a/a.qbs b/tests/auto/blackbox/testdata/transitive-optional-dependencies/modules/a/a.qbs
index adec14e41..ffe7ef70a 100644
--- a/tests/auto/blackbox/testdata/transitive-optional-dependencies/modules/a/a.qbs
+++ b/tests/auto/blackbox/testdata/transitive-optional-dependencies/modules/a/a.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
Depends { name: "b"; required: false }
}
diff --git a/tests/auto/blackbox/testdata/transitive-optional-dependencies/modules/b/b.qbs b/tests/auto/blackbox/testdata/transitive-optional-dependencies/modules/b/b.qbs
index fb38b600a..ba08b862b 100644
--- a/tests/auto/blackbox/testdata/transitive-optional-dependencies/modules/b/b.qbs
+++ b/tests/auto/blackbox/testdata/transitive-optional-dependencies/modules/b/b.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
condition: false
}
diff --git a/tests/auto/blackbox/testdata/transitive-optional-dependencies/transitive-optional-dependencies.qbs b/tests/auto/blackbox/testdata/transitive-optional-dependencies/transitive-optional-dependencies.qbs
index 08860b057..6171fa94f 100644
--- a/tests/auto/blackbox/testdata/transitive-optional-dependencies/transitive-optional-dependencies.qbs
+++ b/tests/auto/blackbox/testdata/transitive-optional-dependencies/transitive-optional-dependencies.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
Depends { name: "a" }
}
diff --git a/tests/auto/blackbox/testdata/typescript/typescript.qbs b/tests/auto/blackbox/testdata/typescript/typescript.qbs
index b6604830f..28c62eb45 100644
--- a/tests/auto/blackbox/testdata/typescript/typescript.qbs
+++ b/tests/auto/blackbox/testdata/typescript/typescript.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
NodeJSApplication {
Depends { name: "typescript" }
diff --git a/tests/auto/blackbox/testdata/usings-as-sole-inputs-non-multiplexed/usings-as-sole-inputs-non-multiplexed.qbs b/tests/auto/blackbox/testdata/usings-as-sole-inputs-non-multiplexed/usings-as-sole-inputs-non-multiplexed.qbs
index 7d4087620..cd2d23895 100644
--- a/tests/auto/blackbox/testdata/usings-as-sole-inputs-non-multiplexed/usings-as-sole-inputs-non-multiplexed.qbs
+++ b/tests/auto/blackbox/testdata/usings-as-sole-inputs-non-multiplexed/usings-as-sole-inputs-non-multiplexed.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.FileInfo
import qbs.TextFile
diff --git a/tests/auto/blackbox/testdata/variant-suffix/variant-suffix.qbs b/tests/auto/blackbox/testdata/variant-suffix/variant-suffix.qbs
index b919f84eb..b6e025e4c 100644
--- a/tests/auto/blackbox/testdata/variant-suffix/variant-suffix.qbs
+++ b/tests/auto/blackbox/testdata/variant-suffix/variant-suffix.qbs
@@ -1,5 +1,3 @@
-import qbs
-
StaticLibrary {
name: "l"
@@ -22,11 +20,8 @@ StaticLibrary {
cpp.staticLibraryPrefix: "lib"
cpp.staticLibrarySuffix: ".ext"
- Group {
- fileTagsFilter: ["staticlibrary"]
- qbs.install: true
- qbs.installDir: "lib"
- }
+ qbs.installPrefix: ""
+ install: true
Depends { name: "cpp" }
diff --git a/tests/auto/blackbox/testdata/vcs/vcstest.qbs b/tests/auto/blackbox/testdata/vcs/vcstest.qbs
index 11d001743..5d359e2c7 100644
--- a/tests/auto/blackbox/testdata/vcs/vcstest.qbs
+++ b/tests/auto/blackbox/testdata/vcs/vcstest.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
Depends { name: "vcs" }
vcs.headerFileName: "my-repo-state.h"
diff --git a/tests/auto/blackbox/testdata/versioncheck/modules/higher/higher.qbs b/tests/auto/blackbox/testdata/versioncheck/modules/higher/higher.qbs
index 4a9c85ceb..c5ab20f58 100644
--- a/tests/auto/blackbox/testdata/versioncheck/modules/higher/higher.qbs
+++ b/tests/auto/blackbox/testdata/versioncheck/modules/higher/higher.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
Depends {
name: "lower"
diff --git a/tests/auto/blackbox/testdata/versioncheck/modules/lower/lower.qbs b/tests/auto/blackbox/testdata/versioncheck/modules/lower/lower.qbs
index 9322b53b1..cd8c6471d 100644
--- a/tests/auto/blackbox/testdata/versioncheck/modules/lower/lower.qbs
+++ b/tests/auto/blackbox/testdata/versioncheck/modules/lower/lower.qbs
@@ -1,3 +1 @@
-import qbs
-
Module { }
diff --git a/tests/auto/blackbox/testdata/versioncheck/versioncheck.qbs b/tests/auto/blackbox/testdata/versioncheck/versioncheck.qbs
index 8214428f1..63bef1d75 100644
--- a/tests/auto/blackbox/testdata/versioncheck/versioncheck.qbs
+++ b/tests/auto/blackbox/testdata/versioncheck/versioncheck.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
property string requestedMinVersion
property string requestedMaxVersion
diff --git a/tests/auto/blackbox/testdata/versionscript/versionscript.qbs b/tests/auto/blackbox/testdata/versionscript/versionscript.qbs
index 0309d3e06..cc5c7b1cc 100644
--- a/tests/auto/blackbox/testdata/versionscript/versionscript.qbs
+++ b/tests/auto/blackbox/testdata/versionscript/versionscript.qbs
@@ -1,5 +1,3 @@
-import qbs
-
DynamicLibrary {
type: base.concat("custom")
Depends { name: "cpp" }
@@ -12,10 +10,7 @@ DynamicLibrary {
Rule {
multiplex: true
- Artifact {
- filePath: "dummy.txt"
- fileTags: ["custom"]
- }
+ outputFileTags: "custom"
prepare: {
var cmd = new JavaScriptCommand();
cmd.silent = true;
@@ -26,8 +21,7 @@ DynamicLibrary {
}
}
- Group {
- fileTagsFilter: ["dynamiclibrary"]
- qbs.install: true
- }
+ qbs.installPrefix: ""
+ install: true
+ installDir: ""
}
diff --git a/tests/auto/blackbox/testdata/whole-archive/whole-archive.qbs b/tests/auto/blackbox/testdata/whole-archive/whole-archive.qbs
index 4ab93af28..f3bcff2cd 100644
--- a/tests/auto/blackbox/testdata/whole-archive/whole-archive.qbs
+++ b/tests/auto/blackbox/testdata/whole-archive/whole-archive.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.Utilities
Project {
diff --git a/tests/auto/blackbox/testdata/wildcard_renaming/wildcard_renaming.qbs b/tests/auto/blackbox/testdata/wildcard_renaming/wildcard_renaming.qbs
index 4cb2c071c..124161880 100644
--- a/tests/auto/blackbox/testdata/wildcard_renaming/wildcard_renaming.qbs
+++ b/tests/auto/blackbox/testdata/wildcard_renaming/wildcard_renaming.qbs
@@ -1,6 +1,5 @@
-import qbs 1.0
-
Product {
+ qbs.installPrefix: ""
Group {
qbs.install: true
files: "*"
diff --git a/tests/auto/blackbox/testdata/wildcards-and-rules/wildcards-and-rules.qbs b/tests/auto/blackbox/testdata/wildcards-and-rules/wildcards-and-rules.qbs
index 88fadd3a5..f6662529d 100644
--- a/tests/auto/blackbox/testdata/wildcards-and-rules/wildcards-and-rules.qbs
+++ b/tests/auto/blackbox/testdata/wildcards-and-rules/wildcards-and-rules.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.TextFile
Product {
diff --git a/tests/auto/blackbox/testdata/wix/WiXInstallers.qbs b/tests/auto/blackbox/testdata/wix/WiXInstallers.qbs
index eabb6da1e..07f61ba2c 100644
--- a/tests/auto/blackbox/testdata/wix/WiXInstallers.qbs
+++ b/tests/auto/blackbox/testdata/wix/WiXInstallers.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.FileInfo
Project {
diff --git a/tests/auto/blackbox/testdata/wixDependencies/wixDependencies.qbs b/tests/auto/blackbox/testdata/wixDependencies/wixDependencies.qbs
index 2d9763ef1..d42a18054 100644
--- a/tests/auto/blackbox/testdata/wixDependencies/wixDependencies.qbs
+++ b/tests/auto/blackbox/testdata/wixDependencies/wixDependencies.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.TextFile
Project {
@@ -35,7 +34,7 @@ Project {
// This rule tries to provoke the installer into building too early (and the test
// verifies that it does not) by causing the build of the installables to take
// a lot longer.
- inputs: ["qbs"]
+ multiplex: true
outputFileTags: ["c"]
outputArtifacts: {
var artifacts = [];
diff --git a/tests/auto/blackbox/tst_blackbox.cpp b/tests/auto/blackbox/tst_blackbox.cpp
index 598836c81..de0e2c26d 100644
--- a/tests/auto/blackbox/tst_blackbox.cpp
+++ b/tests/auto/blackbox/tst_blackbox.cpp
@@ -259,6 +259,19 @@ void TestBlackbox::tar()
QCOMPARE(listContents.readAllStandardOutput(), listFile.readAll());
}
+void TestBlackbox::textTemplate()
+{
+ QVERIFY(QDir::setCurrent(testDataDir + "/texttemplate"));
+ rmDirR(relativeBuildDir());
+ QCOMPARE(runQbs(), 0);
+ QString outputFilePath = relativeProductBuildDir("one") + "/output.txt";
+ QString expectedOutputFilePath = QFINDTESTDATA("expected/output.txt");
+ TEXT_FILE_COMPARE(outputFilePath, expectedOutputFilePath);
+ outputFilePath = relativeProductBuildDir("one") + "/lalala.txt";
+ expectedOutputFilePath = QFINDTESTDATA("expected/lalala.txt");
+ TEXT_FILE_COMPARE(outputFilePath, expectedOutputFilePath);
+}
+
static QStringList sortedFileList(const QByteArray &ba)
{
auto list = QString::fromUtf8(ba).split(QRegExp("[\r\n]"), QString::SkipEmptyParts);
@@ -329,12 +342,15 @@ TestBlackbox::TestBlackbox() : TestBlackboxBase (SRCDIR "/testdata", "blackbox")
void TestBlackbox::addFileTagToGeneratedArtifact()
{
QDir::setCurrent(testDataDir + "/add-filetag-to-generated-artifact");
- QCOMPARE(runQbs(), 0);
+ QCOMPARE(runQbs(QStringList("project.enableTagging:true")), 0);
QVERIFY2(m_qbsStdout.contains("compressing my_app"), m_qbsStdout.constData());
const QString compressedAppFilePath
= relativeProductBuildDir("my_compressed_app") + '/'
+ qbs::Internal::HostOsInfo::appendExecutableSuffix("compressed-my_app");
QVERIFY(regularFileExists(compressedAppFilePath));
+ QCOMPARE(runQbs(QbsRunParameters("resolve", QStringList("project.enableTagging:false"))), 0);
+ QCOMPARE(runQbs(), 0);
+ QVERIFY(!regularFileExists(compressedAppFilePath));
}
void TestBlackbox::alwaysRun()
@@ -392,7 +408,7 @@ void TestBlackbox::artifactsMapChangeTracking()
const QString projectFile("artifacts-map-change-tracking.qbs");
REPLACE_IN_FILE(projectFile, "TheBinary", "TheNewBinary");
QCOMPARE(runQbs(QStringList{"-p", "TheApp"}), 0);
- QEXPECT_FAIL("", "change tracking could become even more fine-grained", Continue);
+
QVERIFY2(!m_qbsStdout.contains("running rule for test.cpp"), m_qbsStdout.constData());
QVERIFY2(!m_qbsStdout.contains("creating test.cpp"), m_qbsStdout.constData());
QVERIFY2(m_qbsStdout.contains("linking"), m_qbsStdout.constData());
@@ -473,11 +489,7 @@ void TestBlackbox::artifactsMapInvalidation()
const QString projectDir = testDataDir + "/artifacts-map-invalidation";
QDir::setCurrent(projectDir);
QCOMPARE(runQbs(), 0);
- QFile sourceFile("file.in");
- QVERIFY2(sourceFile.open(QIODevice::ReadOnly), qPrintable(sourceFile.errorString()));
- QFile generatedFile(relativeProductBuildDir("p") + "/myfile.out");
- QVERIFY2(generatedFile.open(QIODevice::ReadOnly), qPrintable(generatedFile.errorString()));
- QCOMPARE(sourceFile.readAll(), generatedFile.readAll());
+ TEXT_FILE_COMPARE(relativeProductBuildDir("p") + "/myfile.out", "file.in");
}
void TestBlackbox::artifactsMapRaceCondition()
@@ -720,6 +732,19 @@ void TestBlackbox::changedFiles()
QVERIFY2(m_qbsStdout.contains("file1.cpp"), m_qbsStdout.constData());
}
+void TestBlackbox::changedInputsFromDependencies()
+{
+ QDir::setCurrent(testDataDir + "/changed-inputs-from-dependencies");
+ QCOMPARE(runQbs(), 0);
+ QVERIFY2(m_qbsStdout.contains("final prepare script"), m_qbsStdout.constData());
+ QCOMPARE(runQbs(), 0);
+ QVERIFY2(!m_qbsStdout.contains("final prepare script"), m_qbsStdout.constData());
+ WAIT_FOR_NEW_TIMESTAMP();
+ touch("input.txt");
+ QCOMPARE(runQbs(), 0);
+ QVERIFY2(m_qbsStdout.contains("final prepare script"), m_qbsStdout.constData());
+}
+
void TestBlackbox::changedRuleInputs()
{
QDir::setCurrent(testDataDir + "/changed-rule-inputs");
@@ -2217,7 +2242,7 @@ void TestBlackbox::referenceErrorInExport()
params.expectFailure = true;
QVERIFY(runQbs(params) != 0);
QVERIFY(m_qbsStderr.contains(
- "referenceErrorInExport.qbs:17:12 ReferenceError: Can't find variable: includePaths"));
+ "referenceErrorInExport.qbs:15:12 ReferenceError: Can't find variable: includePaths"));
}
void TestBlackbox::reproducibleBuild()
@@ -2278,6 +2303,29 @@ void TestBlackbox::responseFiles()
QCOMPARE(lines, expected);
}
+void TestBlackbox::retaggedOutputArtifact()
+{
+ QDir::setCurrent(testDataDir + "/retagged-output-artifact");
+ QbsRunParameters resolveParams("resolve");
+ resolveParams.arguments = QStringList("products.p.useTag1:true");
+ QCOMPARE(runQbs(resolveParams), 0);
+ QCOMPARE(runQbs(), 0);
+ const QString a2 = relativeProductBuildDir("p") + "/a2.txt";
+ const QString a3 = relativeProductBuildDir("p") + "/a3.txt";
+ QVERIFY2(QFile::exists(a2), qPrintable(a2));
+ QVERIFY2(!QFile::exists(a3), qPrintable(a3));
+ resolveParams.arguments = QStringList("products.p.useTag1:false");
+ QCOMPARE(runQbs(resolveParams), 0);
+ QCOMPARE(runQbs(), 0);
+ QVERIFY2(!QFile::exists(a2), qPrintable(a2));
+ QVERIFY2(QFile::exists(a3), qPrintable(a3));
+ resolveParams.arguments = QStringList("products.p.useTag1:true");
+ QCOMPARE(runQbs(resolveParams), 0);
+ QCOMPARE(runQbs(), 0);
+ QVERIFY2(QFile::exists(a2), qPrintable(a2));
+ QVERIFY2(!QFile::exists(a3), qPrintable(a3));
+}
+
void TestBlackbox::ruleConditions()
{
QDir::setCurrent(testDataDir + "/ruleConditions");
@@ -2288,6 +2336,14 @@ void TestBlackbox::ruleConditions()
QVERIFY(!QFileInfo(relativeProductBuildDir("unzorted") + "/unzorted.foo.narf.zort").exists());
}
+void TestBlackbox::ruleConnectionWithExcludedInputs()
+{
+ QDir::setCurrent(testDataDir + "/rule-connection-with-excluded-inputs");
+ QCOMPARE(runQbs(), 0);
+ QVERIFY2(m_qbsStdout.contains("inputs.x: 2") && m_qbsStdout.contains("inputs.y: 0"),
+ m_qbsStdout.constData());
+}
+
void TestBlackbox::ruleCycle()
{
QDir::setCurrent(testDataDir + "/ruleCycle");
@@ -2525,6 +2581,82 @@ void TestBlackbox::soVersion_data()
QTest::newRow("no version, empty soVersion") << QString("") << false << QString("libmylib.so");
}
+void TestBlackbox::sourceArtifactChanges()
+{
+ QDir::setCurrent(testDataDir + "/source-artifact-changes");
+ bool useCustomFileTags = false;
+ bool overrideFileTags = true;
+ bool filesAreTargets = false;
+ bool useCxx11 = false;
+ const QString appFilePath = QDir::currentPath() + '/' + relativeExecutableFilePath("app");
+ static const auto b2s = [](bool b) { return QString(b ? "true" : "false"); };
+ const auto resolveParams = [&useCustomFileTags, &overrideFileTags, &filesAreTargets, &useCxx11] {
+ return QbsRunParameters("resolve", QStringList{
+ "modules.module_with_files.overrideTags:" + b2s(overrideFileTags),
+ "modules.module_with_files.filesAreTargets:" + b2s(filesAreTargets),
+ "modules.module_with_files.fileTags:" + QString(useCustomFileTags ? "custom" : "cpp"),
+ "modules.cpp.cxxLanguageVersion:" + QString(useCxx11 ? "c++11" : "c++98")
+ });
+ };
+#define VERIFY_COMPILATION(expected) \
+ do { \
+ QVERIFY2(m_qbsStdout.contains("compiling main.cpp") == expected, m_qbsStdout.constData()); \
+ QVERIFY2(QFile::exists(appFilePath) == expected, qPrintable(appFilePath)); \
+ if (expected) \
+ QVERIFY2(m_qbsStdout.contains("cpp artifacts: 1"), m_qbsStdout.constData()); \
+ else \
+ QVERIFY2(m_qbsStdout.contains("cpp artifacts: 0"), m_qbsStdout.constData()); \
+ } while (false)
+
+ // Initial build.
+ QCOMPARE(runQbs(resolveParams()), 0);
+ QVERIFY2(m_qbsStdout.contains("is gcc: "), m_qbsStdout.constData());
+ const bool isGcc = m_qbsStdout.contains("is gcc: true");
+ QCOMPARE(runQbs(), 0);
+ VERIFY_COMPILATION(true);
+
+ // Overwrite the file tags. Now the source file is no longer tagged "cpp" and nothing
+ // should get built.
+ WAIT_FOR_NEW_TIMESTAMP();
+ touch("modules/module_with_files/main.cpp");
+ useCustomFileTags = true;
+ QCOMPARE(runQbs(resolveParams()), 0);
+ QCOMPARE(runQbs(), 0);
+ VERIFY_COMPILATION(false);
+
+ // Now the custom file tag exists in addition to "cpp", and the app should get built again.
+ overrideFileTags = false;
+ QCOMPARE(runQbs(resolveParams()), 0);
+ QCOMPARE(runQbs(), 0);
+ VERIFY_COMPILATION(true);
+
+ // Mark the cpp file as a module target. Now it will no longer be considered an input
+ // by the compiler rule, and nothing should get built.
+ WAIT_FOR_NEW_TIMESTAMP();
+ touch("modules/module_with_files/main.cpp");
+ filesAreTargets = true;
+ QCOMPARE(runQbs(resolveParams()), 0);
+ QCOMPARE(runQbs(), 0);
+ VERIFY_COMPILATION(false);
+
+ // Now just revert the last change.
+ filesAreTargets = false;
+ QCOMPARE(runQbs(resolveParams()), 0);
+ QCOMPARE(runQbs(), 0);
+ VERIFY_COMPILATION(true);
+
+ // Change a relevant cpp property. A rebuild is expected.
+ useCxx11 = true;
+ QCOMPARE(runQbs(resolveParams()), 0);
+ QCOMPARE(runQbs(QStringList({"--command-echo-mode", "command-line"})), 0);
+ if (isGcc) {
+ QVERIFY2(m_qbsStdout.contains("-std=c++11") || m_qbsStdout.contains("-std=c++0x"),
+ m_qbsStdout.constData());
+ }
+
+#undef VERIFY_COMPILATION
+}
+
void TestBlackbox::overrideProjectProperties()
{
QDir::setCurrent(testDataDir + "/overrideProjectProperties");
@@ -2672,10 +2804,8 @@ void TestBlackbox::pluginDependency()
QVERIFY2(!m_qbsStdout.contains("linking"), m_qbsStdout.constData());
QCOMPARE(runQbs(QStringList{"--command-echo-mode", "command-line"}), 0);
output = m_qbsStdout + '\n' + m_qbsStderr;
- if (!HostOsInfo::isMacosHost()) { // TODO: Remove in master
- QVERIFY2(!output.contains("plugin1"), output.constData());
- QVERIFY2(!output.contains("helper2"), output.constData());
- }
+ QVERIFY2(!output.contains("plugin1"), output.constData());
+ QVERIFY2(!output.contains("helper2"), output.constData());
QVERIFY2(output.contains("plugin2"), output.constData());
// Test change tracking for parameter in Depends item.
@@ -3189,6 +3319,11 @@ void TestBlackbox::erroneousFiles_data()
<< "Error in Rule\\.outputArtifacts\\[0\\]\n\r?"
"Property fileTags for artifact 'outputArtifacts-missing-fileTags\\.txt' "
"must be a non-empty string list\\.";
+ QTest::newRow("texttemplate-unknown-placeholder")
+ << "Placeholder 'what' is not defined in textemplate.dict for 'boom.txt.in'";
+ QTest::newRow("tag-mismatch")
+ << "tag-mismatch.qbs:8:18.*Artifact '.*dummy1' has undeclared file tags "
+ "\\[\"y\",\"z\"\\].";
}
void TestBlackbox::erroneousFiles()
@@ -3200,8 +3335,8 @@ void TestBlackbox::erroneousFiles()
QVERIFY(runQbs(params) != 0);
QString err = QString::fromLocal8Bit(m_qbsStderr);
if (!err.contains(QRegExp(errorMessage))) {
- qDebug() << "Output: " << err;
- qDebug() << "Expected: " << errorMessage;
+ qDebug().noquote() << "Output: " << err;
+ qDebug().noquote() << "Expected: " << errorMessage;
QFAIL("Unexpected error message.");
}
}
@@ -3220,25 +3355,25 @@ void TestBlackbox::errorInfo()
QCOMPARE(runQbs(resolveParams), 0);
buildParams.arguments = resolveParams.arguments;
QVERIFY(runQbs(buildParams) != 0);
- QVERIFY2(m_qbsStderr.contains("error-info.qbs:25"), m_qbsStderr);
+ QVERIFY2(m_qbsStderr.contains("error-info.qbs:24"), m_qbsStderr);
resolveParams.arguments = QStringList() << "project.fail2:true";
QCOMPARE(runQbs(resolveParams), 0);
buildParams.arguments = resolveParams.arguments;
QVERIFY(runQbs(buildParams) != 0);
- QVERIFY2(m_qbsStderr.contains("error-info.qbs:37"), m_qbsStderr);
+ QVERIFY2(m_qbsStderr.contains("error-info.qbs:36"), m_qbsStderr);
resolveParams.arguments = QStringList() << "project.fail3:true";
QCOMPARE(runQbs(resolveParams), 0);
buildParams.arguments = resolveParams.arguments;
QVERIFY(runQbs(buildParams) != 0);
- QVERIFY2(m_qbsStderr.contains("error-info.qbs:52"), m_qbsStderr);
+ QVERIFY2(m_qbsStderr.contains("error-info.qbs:51"), m_qbsStderr);
resolveParams.arguments = QStringList() << "project.fail4:true";
QCOMPARE(runQbs(resolveParams), 0);
buildParams.arguments = resolveParams.arguments;
QVERIFY(runQbs(buildParams) != 0);
- QVERIFY2(m_qbsStderr.contains("error-info.qbs:67"), m_qbsStderr);
+ QVERIFY2(m_qbsStderr.contains("error-info.qbs:66"), m_qbsStderr);
resolveParams.arguments = QStringList() << "project.fail5:true";
QCOMPARE(runQbs(resolveParams), 0);
@@ -3257,7 +3392,7 @@ void TestBlackbox::errorInfo()
buildParams.arguments = resolveParams.arguments;
QVERIFY(runQbs(buildParams) != 0);
QVERIFY2(m_qbsStderr.contains("JavaScriptCommand.sourceCode"), m_qbsStderr);
- QVERIFY2(m_qbsStderr.contains("error-info.qbs:58"), m_qbsStderr);
+ QVERIFY2(m_qbsStderr.contains("error-info.qbs:57"), m_qbsStderr);
}
void TestBlackbox::escapedLinkerFlags()
@@ -3409,12 +3544,8 @@ void TestBlackbox::exportsPkgconfig()
QCOMPARE(generatedPcFile.readAll().replace("\r", ""), sourcePcFile.readAll().replace("\r", ""));
sourcePcFile.close();
generatedPcFile.close();
- sourcePcFile.setFileName("TheSecondLib.pc");
- generatedPcFilePath = relativeProductBuildDir("TheSecondLib") + "/TheSecondLib.pc";
- generatedPcFile.setFileName(generatedPcFilePath);
- QVERIFY2(sourcePcFile.open(QIODevice::ReadOnly), qPrintable(sourcePcFile.errorString()));
- QVERIFY2(generatedPcFile.open(QIODevice::ReadOnly), qPrintable(generatedPcFile.errorString()));
- QCOMPARE(generatedPcFile.readAll(), sourcePcFile.readAll());
+ TEXT_FILE_COMPARE(relativeProductBuildDir("TheSecondLib") + "/TheSecondLib.pc",
+ "TheSecondLib.pc");
WAIT_FOR_NEW_TIMESTAMP();
touch("firstlib.cpp");
QCOMPARE(runQbs(), 0);
@@ -3546,6 +3677,17 @@ void TestBlackbox::fileDependencies()
QVERIFY(!m_qbsStdout.contains("compiling zort.cpp"));
}
+void TestBlackbox::fileTagsFilterMerging()
+{
+ QDir::setCurrent(testDataDir + "/filetagsfilter-merging");
+ QCOMPARE(runQbs(QStringList{"-f", "filetagsfilter-merging.qbs"}), 0);
+ const QString installedApp = defaultInstallRoot + "/myapp/binDir/"
+ + QFileInfo(relativeExecutableFilePath("myapp")).fileName();
+ QVERIFY2(QFile::exists(installedApp), qPrintable(installedApp));
+ const QString otherOutput = relativeProductBuildDir("myapp") + "/myapp.txt";
+ QVERIFY2(QFile::exists(otherOutput), qPrintable(otherOutput));
+}
+
void TestBlackbox::installedTransformerOutput()
{
QDir::setCurrent(testDataDir + "/installed-transformer-output");
@@ -3554,6 +3696,59 @@ void TestBlackbox::installedTransformerOutput()
QVERIFY2(QFile::exists(installedFilePath), qPrintable(installedFilePath));
}
+void TestBlackbox::installLocations_data()
+{
+ QTest::addColumn<QString>("binDir");
+ QTest::addColumn<QString>("dllDir");
+ QTest::addColumn<QString>("libDir");
+ QTest::newRow("explicit values") << QString("bindir") << QString("dlldir") << QString("libdir");
+ QTest::newRow("default values") << QString() << QString() << QString();
+}
+
+void TestBlackbox::installLocations()
+{
+ QDir::setCurrent(testDataDir + "/install-locations");
+ QFETCH(QString, binDir);
+ QFETCH(QString, dllDir);
+ QFETCH(QString, libDir);
+ QbsRunParameters params("resolve");
+ if (!binDir.isEmpty())
+ params.arguments.push_back("products.theapp.installDir:" + binDir);
+ if (!dllDir.isEmpty())
+ params.arguments.push_back("products.thelib.installDir:" + dllDir);
+ if (!libDir.isEmpty())
+ params.arguments.push_back("products.thelib.importLibInstallDir:" + libDir);
+ QCOMPARE(runQbs(params), 0);
+ const bool isWindows = m_qbsStdout.contains("is windows");
+ const bool isMac = m_qbsStdout.contains("is mac");
+ const bool isUnix = m_qbsStdout.contains("is unix");
+ QVERIFY(isWindows || isMac || isUnix);
+ QCOMPARE(runQbs(QbsRunParameters(QStringList("--clean-install-root"))), 0);
+ const QString dllFileName = isWindows ? "thelib.dll" : isMac ? "thelib" : "libthelib.so";
+ const QString appFileName = isWindows ? "theapp.exe" : "theapp";
+ if (binDir.isEmpty())
+ binDir = isMac ? "/Applications" : "/bin";
+ if (dllDir.isEmpty())
+ dllDir = isMac ? "/Library/Frameworks" : isWindows ? "/bin" : "/lib";
+ if (libDir.isEmpty())
+ libDir = "/lib";
+ if (isMac) {
+ binDir += "/theapp.app/Contents/MacOS";
+ dllDir += "/thelib.framework";
+ }
+ const QString installRoot = QDir::currentPath() + "/default/install-root";
+ const QString installPrefix = isWindows ? QString() : "/usr/local";
+ const QString fullInstallPrefix = installRoot + '/' + installPrefix + '/';
+ const QString appFilePath = fullInstallPrefix + binDir + '/' + appFileName;
+ QVERIFY2(QFile::exists(appFilePath), qPrintable(appFilePath));
+ const QString dllFilePath = fullInstallPrefix + dllDir + '/' + dllFileName;
+ QVERIFY2(QFile::exists(dllFilePath), qPrintable(dllFilePath));
+ if (isWindows) {
+ const QString libFilePath = fullInstallPrefix + libDir + "/thelib.lib";
+ QVERIFY2(QFile::exists(libFilePath), qPrintable(libFilePath));
+ }
+}
+
void TestBlackbox::inputsFromDependencies()
{
QDir::setCurrent(testDataDir + "/inputs-from-dependencies");
@@ -3637,9 +3832,21 @@ void TestBlackbox::installTree()
QVERIFY(QFile::exists(installRoot + "content/subdir2/baz.txt"));
}
+void TestBlackbox::invalidCommandProperty_data()
+{
+ QTest::addColumn<QString>("errorType");
+
+ QTest::newRow("assigning QObject") << QString("qobject");
+ QTest::newRow("assigning input artifact") << QString("input");
+ QTest::newRow("assigning other artifact") << QString("artifact");
+}
+
void TestBlackbox::invalidCommandProperty()
{
QDir::setCurrent(testDataDir + "/invalid-command-property");
+ QFETCH(QString, errorType);
+ QCOMPARE(runQbs(QbsRunParameters("resolve", QStringList("products.p.errorType:" + errorType))),
+ 0);
QbsRunParameters params;
params.expectFailure = true;
QVERIFY(runQbs(params) != 0);
@@ -3684,7 +3891,7 @@ void TestBlackbox::invalidExtensionInstantiation()
params.expectFailure = true;
params.arguments << (QString("products.theProduct.extension:") + QTest::currentDataTag());
QVERIFY(runQbs(params) != 0);
- QVERIFY2(m_qbsStderr.contains("invalid-extension-instantiation.qbs:18")
+ QVERIFY2(m_qbsStderr.contains("invalid-extension-instantiation.qbs:17")
&& m_qbsStderr.contains('\'' + QByteArray(QTest::currentDataTag())
+ "' cannot be instantiated"),
m_qbsStderr.constData());
@@ -3958,7 +4165,7 @@ void TestBlackbox::symbolLinkMode()
QbsRunParameters params;
params.command = "run";
const QStringList commonArgs{"-p", "driver", "--setup-run-env-config",
- "ignore-lib-dependencies"};
+ "ignore-lib-dependencies", "qbs.installPrefix:''"};
rmDirR(relativeBuildDir());
params.arguments = QStringList() << commonArgs << "project.shouldInstallLibrary:true";
@@ -3990,7 +4197,7 @@ void TestBlackbox::linkerMode()
QSKIP("only applies on Unix");
QDir::setCurrent(testDataDir + "/linkerMode");
- QCOMPARE(runQbs(), 0);
+ QCOMPARE(runQbs(QbsRunParameters(QStringList("qbs.installPrefix:''"))), 0);
auto testCondition = [&](const QString &lang,
const std::function<bool(const QByteArray &)> &condition) {
@@ -4294,6 +4501,37 @@ void TestBlackbox::newOutputArtifact()
QVERIFY(regularFileExists(the100thArtifact));
}
+void TestBlackbox::noExportedSymbols_data()
+{
+ QTest::addColumn<bool>("link");
+ QTest::addColumn<bool>("dryRun");
+ QTest::newRow("link") << true << false;
+ QTest::newRow("link (dry run)") << true << true;
+ QTest::newRow("do not link") << false << false;
+}
+
+void TestBlackbox::noExportedSymbols()
+{
+ QDir::setCurrent(testDataDir + "/no-exported-symbols");
+ QFETCH(bool, link);
+ QFETCH(bool, dryRun);
+ QCOMPARE(runQbs(QbsRunParameters("resolve", QStringList{"--force-probe-execution",
+ QString("products.the_app.link:") + (link ? "true" : "false")})), 0);
+ const bool isMsvc = m_qbsStdout.contains("compiler is MSVC");
+ const bool isNotMsvc = m_qbsStdout.contains("compiler is not MSVC");
+ QVERIFY2(isMsvc || isNotMsvc, m_qbsStdout.constData());
+ if (isNotMsvc)
+ QSKIP("Test applies with MSVC only");
+ QbsRunParameters buildParams;
+ if (dryRun)
+ buildParams.arguments << "--dry-run";
+ buildParams.expectFailure = link && !dryRun;
+ QCOMPARE(runQbs(buildParams) == 0, !buildParams.expectFailure);
+ QVERIFY2(m_qbsStderr.contains("This typically happens when a DLL does not export "
+ "any symbols.") == buildParams.expectFailure,
+ m_qbsStderr.constData());
+}
+
void TestBlackbox::noProfile()
{
QDir::setCurrent(testDataDir + "/no-profile");
@@ -4733,6 +4971,40 @@ void TestBlackbox::propertiesInExportItems()
QVERIFY2(m_qbsStderr.isEmpty(), m_qbsStderr.constData());
}
+void TestBlackbox::protobuf_data()
+{
+ QTest::addColumn<QString>("projectFile");
+ QTest::addColumn<QStringList>("properties");
+ QTest::addColumn<bool>("successExpected");
+ QTest::newRow("cpp") << QString("addressbook_cpp.qbs") << QStringList() << true;
+ QTest::newRow("objc") << QString("addressbook_objc.qbs") << QStringList() << true;
+ QTest::newRow("import") << QString("import.qbs") << QStringList() << true;
+ QTest::newRow("missing import dir") << QString("needs-import-dir.qbs")
+ << QStringList() << false;
+ QTest::newRow("provided import dir")
+ << QString("needs-import-dir.qbs")
+ << QStringList("products.app.theImportDir:subdir") << true;
+}
+
+void TestBlackbox::protobuf()
+{
+ QDir::setCurrent(testDataDir + "/protobuf");
+ QFETCH(QString, projectFile);
+ QFETCH(QStringList, properties);
+ QFETCH(bool, successExpected);
+ rmDirR(relativeBuildDir());
+ QbsRunParameters resolveParams("resolve", QStringList{"-f", projectFile} << properties);
+ QCOMPARE(runQbs(resolveParams), 0);
+ const bool withProtobuf = m_qbsStdout.contains("has protobuf: true");
+ const bool withoutProtobuf = m_qbsStdout.contains("has protobuf: false");
+ QVERIFY2(withProtobuf || withoutProtobuf, m_qbsStdout.constData());
+ if (withoutProtobuf)
+ QSKIP("protobuf module not present");
+ QbsRunParameters runParams("run");
+ runParams.expectFailure = !successExpected;
+ QCOMPARE(runQbs(runParams) == 0, successExpected);
+}
+
void TestBlackbox::pseudoMultiplexing()
{
// This is "pseudo-multiplexing" on all platforms that initialize qbs.architectures
@@ -5175,6 +5447,44 @@ void TestBlackbox::autotestWithDependencies()
&& m_qbsStdout.contains("i am the helper"), m_qbsStdout.constData());
}
+void TestBlackbox::autotests_data()
+{
+ QTest::addColumn<QString>("evilPropertySpec");
+ QTest::addColumn<QByteArray>("expectedErrorMessage");
+ QTest::newRow("missing arguments") << QString("products.test1.autotest.arguments:[]")
+ << QByteArray("This test needs exactly one argument");
+ QTest::newRow("missing working dir") << QString("products.test2.autotest.workingDir:''")
+ << QByteArray("Test resource not found");
+ QTest::newRow("missing flaky specifier")
+ << QString("products.test3.autotest.allowFailure:false")
+ << QByteArray("I am an awful test");
+ QTest::newRow("everything's fine") << QString() << QByteArray();
+}
+
+void TestBlackbox::autotests()
+{
+ QDir::setCurrent(testDataDir + "/autotests");
+ QFETCH(QString, evilPropertySpec);
+ QFETCH(QByteArray, expectedErrorMessage);
+ QbsRunParameters resolveParams("resolve");
+ if (!evilPropertySpec.isEmpty())
+ resolveParams.arguments << evilPropertySpec;
+ QCOMPARE(runQbs(resolveParams), 0);
+ QbsRunParameters testParams(QStringList{"-p", "autotest-runner"});
+ if (!evilPropertySpec.isEmpty())
+ testParams.expectFailure = true;
+ QCOMPARE(runQbs(testParams) == 0, !testParams.expectFailure);
+ if (testParams.expectFailure) {
+ QVERIFY2(m_qbsStderr.contains(expectedErrorMessage), m_qbsStderr.constData());
+ return;
+ }
+ QVERIFY2(m_qbsStdout.contains("Running test test1")
+ && m_qbsStdout.contains("Running test test2")
+ && m_qbsStdout.contains("Running test test3"), m_qbsStdout.constData());
+ QCOMPARE(m_qbsStdout.count("PASS"), 2);
+ QCOMPARE(m_qbsStderr.count("FAIL"), 1);
+}
+
void TestBlackbox::auxiliaryInputsFromDependencies()
{
QDir::setCurrent(testDataDir + "/aux-inputs-from-deps");
@@ -5727,6 +6037,47 @@ void TestBlackbox::innoSetupDependencies()
QVERIFY(regularFileExists(relativeBuildDir() + "/qbs.setup.test.exe"));
}
+void TestBlackbox::inputTagsChangeTracking_data()
+{
+ QTest::addColumn<QString>("generateInput");
+ QTest::newRow("source artifact") << QString("no");
+ QTest::newRow("generated artifact (static)") << QString("static");
+ QTest::newRow("generated artifact (dynamic)") << QString("dynamic");
+}
+
+void TestBlackbox::inputTagsChangeTracking()
+{
+ QDir::setCurrent(testDataDir + "/input-tags-change-tracking");
+ const QString xOut = QDir::currentPath() + '/' + relativeProductBuildDir("p") + "/x.out";
+ const QString yOut = QDir::currentPath() + '/' + relativeProductBuildDir("p") + "/y.out";
+ QFETCH(QString, generateInput);
+ const QbsRunParameters resolveParams("resolve",
+ QStringList("products.p.generateInput:" + generateInput));
+ QCOMPARE(runQbs(resolveParams), 0);
+ QCOMPARE(runQbs(), 0);
+ QVERIFY(m_qbsStdout.contains("generating input.txt") == (generateInput == "static"));
+ QVERIFY2(!QFile::exists(xOut), qPrintable(xOut));
+ QVERIFY2(!QFile::exists(yOut), qPrintable(yOut));
+ WAIT_FOR_NEW_TIMESTAMP();
+ REPLACE_IN_FILE("input-tags-change-tracking.qbs", "Tags: [\"txt\", \"empty\"]",
+ "Tags: \"txt\"");
+ QCOMPARE(runQbs(), 0);
+ QVERIFY2(QFile::exists(xOut), qPrintable(xOut));
+ QVERIFY2(!QFile::exists(yOut), qPrintable(yOut));
+ WAIT_FOR_NEW_TIMESTAMP();
+ REPLACE_IN_FILE("input-tags-change-tracking.qbs", "Tags: \"txt\"",
+ "Tags: [\"txt\", \"y\"]");
+ QCOMPARE(runQbs(), 0);
+ QVERIFY2(!QFile::exists(xOut), qPrintable(xOut));
+ QVERIFY2(QFile::exists(yOut), qPrintable(yOut));
+ WAIT_FOR_NEW_TIMESTAMP();
+ REPLACE_IN_FILE("input-tags-change-tracking.qbs", "Tags: [\"txt\", \"y\"]",
+ "Tags: [\"txt\", \"empty\"]");
+ QCOMPARE(runQbs(), 0);
+ QVERIFY2(!QFile::exists(xOut), qPrintable(xOut));
+ QVERIFY2(!QFile::exists(yOut), qPrintable(yOut));
+}
+
void TestBlackbox::outputArtifactAutoTagging()
{
QDir::setCurrent(testDataDir + QLatin1String("/output-artifact-auto-tagging"));
diff --git a/tests/auto/blackbox/tst_blackbox.h b/tests/auto/blackbox/tst_blackbox.h
index 58cc8f6fb..874690ad2 100644
--- a/tests/auto/blackbox/tst_blackbox.h
+++ b/tests/auto/blackbox/tst_blackbox.h
@@ -48,6 +48,8 @@ private slots:
void artifactScanning();
void assembly();
void autotestWithDependencies();
+ void autotests_data();
+ void autotests();
void auxiliaryInputsFromDependencies();
void badInterpreter();
void bomSources();
@@ -57,6 +59,7 @@ private slots:
void buildGraphVersions();
void changedFiles_data();
void changedFiles();
+ void changedInputsFromDependencies();
void changedRuleInputs();
void changeInDisabledProduct();
void changeInImportedFile();
@@ -111,6 +114,7 @@ private slots:
void exportsQbs();
void externalLibs();
void fileDependencies();
+ void fileTagsFilterMerging();
void generatedArtifactAsInputToDynamicRule();
void generator();
void generator_data();
@@ -125,6 +129,8 @@ private slots:
void includeLookup();
void innoSetup();
void innoSetupDependencies();
+ void inputTagsChangeTracking_data();
+ void inputTagsChangeTracking();
void inputsFromDependencies();
void installable();
void installableAsAuxiliaryInput();
@@ -133,9 +139,12 @@ private slots:
void installDuplicatesNoError();
void installedSourceFiles();
void installedTransformerOutput();
+ void installLocations_data();
+ void installLocations();
void installPackage();
void installRootFromProjectFile();
void installTree();
+ void invalidCommandProperty_data();
void invalidCommandProperty();
void invalidExtensionInstantiation();
void invalidExtensionInstantiation_data();
@@ -178,6 +187,8 @@ private slots:
void nestedGroups();
void nestedProperties();
void newOutputArtifact();
+ void noExportedSymbols_data();
+ void noExportedSymbols();
void noProfile();
void noSuchProfile();
void nodejs();
@@ -211,6 +222,8 @@ private slots:
void propertyPrecedence();
void properQuoting();
void propertiesInExportItems();
+ void protobuf_data();
+ void protobuf();
void pseudoMultiplexing();
void qbsConfig();
void qbsVersion();
@@ -226,7 +239,9 @@ private slots:
void requireDeprecated();
void rescueTransformerData();
void responseFiles();
+ void retaggedOutputArtifact();
void ruleConditions();
+ void ruleConnectionWithExcludedInputs();
void ruleCycle();
void ruleWithNoInputs();
void ruleWithNonRequiredInputs();
@@ -236,6 +251,7 @@ private slots:
void smartRelinking_data();
void soVersion();
void soVersion_data();
+ void sourceArtifactChanges();
void subProfileChangeTracking();
void successiveChanges();
void symbolLinkMode();
@@ -251,6 +267,7 @@ private slots:
void systemRunPaths();
void systemRunPaths_data();
void tar();
+ void textTemplate();
void toolLookup();
void topLevelSearchPath();
void trackAddFile();
diff --git a/tests/auto/blackbox/tst_blackboxandroid.cpp b/tests/auto/blackbox/tst_blackboxandroid.cpp
index a551a77c4..bf47c241c 100644
--- a/tests/auto/blackbox/tst_blackboxandroid.cpp
+++ b/tests/auto/blackbox/tst_blackboxandroid.cpp
@@ -69,14 +69,22 @@ TestBlackboxAndroid::TestBlackboxAndroid()
{
}
+static QString theProfileName(bool forQt)
+{
+ return forQt ? "qbs_autotests-android-qt" : profileName();
+}
+
void TestBlackboxAndroid::android()
{
QFETCH(QString, projectDir);
QFETCH(QStringList, productNames);
QFETCH(QList<QByteArrayList>, expectedFilesLists);
+ QFETCH(QStringList, customProperties);
const SettingsPtr s = settings();
- Profile p(profileName(), s.get());
+ Profile p(theProfileName(projectDir == "qml-app"), s.get());
+ if (!p.exists())
+ p = Profile("none", s.get());
int status;
const auto androidPaths = findAndroid(&status, p.name());
QCOMPARE(status, 0);
@@ -100,12 +108,21 @@ void TestBlackboxAndroid::android()
static const QStringList configNames { "debug", "release" };
for (const QString &configName : configNames) {
auto currentExpectedFilesLists = expectedFilesLists;
- QbsRunParameters params(QStringList { "--command-echo-mode", "command-line",
- "modules.Android.ndk.platform:android-21",
- "config:" + configName });
- params.profile = p.name();
- QCOMPARE(runQbs(params), 0);
+ const QString configArgument = "config:" + configName;
+ QbsRunParameters resolveParams("resolve");
+ resolveParams.arguments << "modules.Android.ndk.platform:android-21" << configArgument
+ << customProperties;
+ resolveParams.profile = p.name();
+ QCOMPARE(runQbs(resolveParams), 0);
+ QbsRunParameters buildParams(QStringList{"--command-echo-mode", "command-line",
+ configArgument});
+ buildParams.profile = p.name();
+ QCOMPARE(runQbs(buildParams), 0);
for (const QString &productName : qAsConst(productNames)) {
+ const QByteArray tag(QTest::currentDataTag());
+ const bool isIncrementalBuild = tag.startsWith("qml app") && tag != "qml app";
+ QCOMPARE(m_qbsStdout.count("Generating BuildConfig.java"),
+ isIncrementalBuild ? 0 : productNames.size());
QVERIFY(m_qbsStdout.contains(productName.toLocal8Bit() + ".apk"));
const QString apkFilePath = relativeProductBuildDir(productName, configName)
+ '/' + productName + ".apk";
@@ -123,7 +140,7 @@ void TestBlackboxAndroid::android()
QByteArrayList missingExpectedFiles;
QByteArrayList expectedFiles = currentExpectedFilesLists.takeFirst();
for (const QByteArray &expectedFile : expectedFiles) {
- if (expectedFile.endsWith("/gdbserver") && configName == "release")
+ if (expectedFile.endsWith("/libgdbserver.so") && configName == "release")
continue;
auto it = std::find(actualFiles.begin(), actualFiles.end(), expectedFile);
if (it != actualFiles.end()) {
@@ -139,10 +156,15 @@ void TestBlackboxAndroid::android()
auto isFileSharedObject = [](const QByteArray &f) {
return f.endsWith(".so");
};
- if (none_of(actualFiles, isFileSharedObject))
+ const auto isQmlToolingLib = [](const QByteArray &f) {
+ return f.contains("qmltooling");
+ };
+ if (none_of(actualFiles, isFileSharedObject)
+ || std::all_of(actualFiles.cbegin(), actualFiles.cend(), isQmlToolingLib)) {
QWARN(msg);
- else
+ } else {
QFAIL(msg);
+ }
}
}
@@ -169,6 +191,7 @@ void TestBlackboxAndroid::android_data()
{
const SettingsPtr s = settings();
const Profile p(profileName(), s.get());
+ const Profile pQt(theProfileName(true), s.get());
QStringList archsStringList = p.value(QLatin1String("qbs.architectures")).toStringList();
if (archsStringList.empty())
archsStringList << QStringLiteral("armv7a"); // must match default in common.qbs
@@ -179,10 +202,19 @@ void TestBlackboxAndroid::android_data()
.replace("armv5te", "armeabi")
.replace("arm64", "arm64-v8a");
});
- const bool usesClang = p.value(QLatin1String("qbs.toolchainType")).toString() == "clang";
- const auto cxxLibPath = [usesClang](const QByteArray &oldcxxLib) {
+ const auto cxxLibPath = [&p, &pQt](const QByteArray &oldcxxLib, bool forQt) {
+ const bool usesClang = (forQt ? pQt : p).value(QLatin1String("qbs.toolchainType"))
+ .toString() == "clang";
return QByteArray("lib/${ARCH}/") + (usesClang ? "libc++_shared.so" : oldcxxLib);
};
+ const QByteArrayList archsForQt = { pQt.value("qbs.architecture").toString().toUtf8() };
+ QByteArrayList ndkArchsForQt = archsForQt;
+ if (ndkArchsForQt.first() == "armv7a")
+ ndkArchsForQt.first() = "armeabi-v7a";
+ else if (ndkArchsForQt.first() == "armv5te")
+ ndkArchsForQt.first() = "armeabi";
+ else if (ndkArchsForQt.first() == "arm64")
+ ndkArchsForQt.first() = "arm64-v8a";
auto expandArchs = [] (const QByteArrayList &archs, const QByteArrayList &lst) {
const QByteArray &archPlaceHolder = "${ARCH}";
@@ -200,25 +232,136 @@ void TestBlackboxAndroid::android_data()
const QByteArrayList commonFiles = expandArchs(archs, {
"AndroidManifest.xml", "META-INF/ANDROIDD.RSA", "META-INF/ANDROIDD.SF",
- "META-INF/MANIFEST.MF", "classes.dex", "resources.arsc"
+ "META-INF/MANIFEST.MF", "classes.dex"
});
QTest::addColumn<QString>("projectDir");
QTest::addColumn<QStringList>("productNames");
QTest::addColumn<QList<QByteArrayList>>("expectedFilesLists");
+ QTest::addColumn<QStringList>("customProperties");
QTest::newRow("teapot")
- << "teapot" << QStringList("com.sample.teapot")
+ << "teapot" << QStringList("TeapotNativeActivity")
<< (QList<QByteArrayList>() << commonFiles + expandArchs(archs, {
+ "resources.arsc",
"assets/Shaders/ShaderPlain.fsh",
"assets/Shaders/VS_ShaderPlain.vsh",
- "lib/${ARCH}/gdbserver",
- cxxLibPath("libgnustl_shared.so"),
+ "lib/${ARCH}/libgdbserver.so",
+ cxxLibPath("libgnustl_shared.so", false),
"lib/${ARCH}/libTeapotNativeActivity.so",
- "res/layout/widgets.xml"}));
+ "res/layout/widgets.xml"}))
+ << QStringList();
+ QTest::newRow("minimal-native")
+ << "minimal-native" << QStringList("minimalnative")
+ << (QList<QByteArrayList>() << commonFiles + expandArchs({archs.first()}, {
+ "lib/${ARCH}/libminimalnative.so",
+ cxxLibPath("libstlport_shared.so", false),
+ "lib/${ARCH}/libdependency.so"}))
+ << QStringList{"products.minimalnative.multiplexByQbsProperties:[]",
+ "modules.qbs.architecture:" + archsStringList.first()};
+ QTest::newRow("qml app")
+ << "qml-app" << QStringList("qmlapp")
+ << (QList<QByteArrayList>() << commonFiles + expandArchs(ndkArchsForQt, {
+ "resources.arsc",
+ "assets/--Added-by-androiddeployqt--/qml/QtQuick.2/plugins.qmltypes",
+ "assets/--Added-by-androiddeployqt--/qml/QtQuick.2/qmldir",
+ "assets/--Added-by-androiddeployqt--/qml/QtQuick/Window.2/plugins.qmltypes",
+ "assets/--Added-by-androiddeployqt--/qml/QtQuick/Window.2/qmldir",
+ "assets/--Added-by-androiddeployqt--/qt_cache_pregenerated_file_list",
+ "lib/${ARCH}/libgdbserver.so",
+ cxxLibPath("libgnustl_shared.so", true),
+ "lib/${ARCH}/libplugins_bearer_libqandroidbearer.so",
+ "lib/${ARCH}/libplugins_imageformats_libqgif.so",
+ "lib/${ARCH}/libplugins_imageformats_libqicns.so",
+ "lib/${ARCH}/libplugins_imageformats_libqico.so",
+ "lib/${ARCH}/libplugins_imageformats_libqjpeg.so",
+ "lib/${ARCH}/libplugins_imageformats_libqtga.so",
+ "lib/${ARCH}/libplugins_imageformats_libqtiff.so",
+ "lib/${ARCH}/libplugins_imageformats_libqwbmp.so",
+ "lib/${ARCH}/libplugins_imageformats_libqwebp.so",
+ "lib/${ARCH}/libplugins_platforms_android_libqtforandroid.so",
+ "lib/${ARCH}/libplugins_qmltooling_libqmldbg_debugger.so",
+ "lib/${ARCH}/libplugins_qmltooling_libqmldbg_inspector.so",
+ "lib/${ARCH}/libplugins_qmltooling_libqmldbg_local.so",
+ "lib/${ARCH}/libplugins_qmltooling_libqmldbg_messages.so",
+ "lib/${ARCH}/libplugins_qmltooling_libqmldbg_native.so",
+ "lib/${ARCH}/libplugins_qmltooling_libqmldbg_nativedebugger.so",
+ "lib/${ARCH}/libplugins_qmltooling_libqmldbg_profiler.so",
+ "lib/${ARCH}/libplugins_qmltooling_libqmldbg_preview.so",
+ "lib/${ARCH}/libplugins_qmltooling_libqmldbg_quickprofiler.so",
+ "lib/${ARCH}/libplugins_qmltooling_libqmldbg_server.so",
+ "lib/${ARCH}/libplugins_qmltooling_libqmldbg_tcp.so",
+ "lib/${ARCH}/libqml_QtQuick.2_libqtquick2plugin.so",
+ "lib/${ARCH}/libqml_QtQuick_Window.2_libwindowplugin.so",
+ "lib/${ARCH}/libQt5Core.so",
+ "lib/${ARCH}/libQt5Gui.so",
+ "lib/${ARCH}/libQt5Network.so",
+ "lib/${ARCH}/libQt5Qml.so",
+ "lib/${ARCH}/libQt5QuickParticles.so",
+ "lib/${ARCH}/libQt5Quick.so",
+ "lib/${ARCH}/libqmlapp.so",
+ "res/layout/splash.xml"}))
+ << QStringList{"modules.Android.sdk.automaticSources:false",
+ "modules.qbs.architecture:" + archsForQt.first()};
+ QTest::newRow("qml app using Ministro")
+ << "qml-app" << QStringList("qmlapp")
+ << (QList<QByteArrayList>() << commonFiles + expandArchs(ndkArchsForQt, {
+ "resources.arsc",
+ "assets/--Added-by-androiddeployqt--/qt_cache_pregenerated_file_list",
+ "lib/${ARCH}/libgdbserver.so",
+ cxxLibPath("libgnustl_shared.so", true),
+ "lib/${ARCH}/libqmlapp.so",
+ "res/layout/splash.xml"}))
+ << QStringList{"modules.Qt.android_support.useMinistro:true",
+ "modules.Android.sdk.automaticSources:false"};
+ QTest::newRow("qml app with custom metadata")
+ << "qml-app" << QStringList("qmlapp")
+ << (QList<QByteArrayList>() << commonFiles + expandArchs(ndkArchsForQt, {
+ "resources.arsc",
+ "assets/--Added-by-androiddeployqt--/qml/QtQuick.2/plugins.qmltypes",
+ "assets/--Added-by-androiddeployqt--/qml/QtQuick.2/qmldir",
+ "assets/--Added-by-androiddeployqt--/qml/QtQuick/Window.2/plugins.qmltypes",
+ "assets/--Added-by-androiddeployqt--/qml/QtQuick/Window.2/qmldir",
+ "assets/--Added-by-androiddeployqt--/qt_cache_pregenerated_file_list",
+ "assets/dummyasset.txt",
+ "lib/${ARCH}/libgdbserver.so",
+ cxxLibPath("libgnustl_shared.so", true),
+ "lib/${ARCH}/libplugins_bearer_libqandroidbearer.so",
+ "lib/${ARCH}/libplugins_imageformats_libqgif.so",
+ "lib/${ARCH}/libplugins_imageformats_libqicns.so",
+ "lib/${ARCH}/libplugins_imageformats_libqico.so",
+ "lib/${ARCH}/libplugins_imageformats_libqjpeg.so",
+ "lib/${ARCH}/libplugins_imageformats_libqtga.so",
+ "lib/${ARCH}/libplugins_imageformats_libqtiff.so",
+ "lib/${ARCH}/libplugins_imageformats_libqwbmp.so",
+ "lib/${ARCH}/libplugins_imageformats_libqwebp.so",
+ "lib/${ARCH}/libplugins_platforms_android_libqtforandroid.so",
+ "lib/${ARCH}/libplugins_qmltooling_libqmldbg_debugger.so",
+ "lib/${ARCH}/libplugins_qmltooling_libqmldbg_inspector.so",
+ "lib/${ARCH}/libplugins_qmltooling_libqmldbg_local.so",
+ "lib/${ARCH}/libplugins_qmltooling_libqmldbg_messages.so",
+ "lib/${ARCH}/libplugins_qmltooling_libqmldbg_native.so",
+ "lib/${ARCH}/libplugins_qmltooling_libqmldbg_nativedebugger.so",
+ "lib/${ARCH}/libplugins_qmltooling_libqmldbg_profiler.so",
+ "lib/${ARCH}/libplugins_qmltooling_libqmldbg_preview.so",
+ "lib/${ARCH}/libplugins_qmltooling_libqmldbg_quickprofiler.so",
+ "lib/${ARCH}/libplugins_qmltooling_libqmldbg_server.so",
+ "lib/${ARCH}/libplugins_qmltooling_libqmldbg_tcp.so",
+ "lib/${ARCH}/libqml_QtQuick.2_libqtquick2plugin.so",
+ "lib/${ARCH}/libqml_QtQuick_Window.2_libwindowplugin.so",
+ "lib/${ARCH}/libQt5Core.so",
+ "lib/${ARCH}/libQt5Gui.so",
+ "lib/${ARCH}/libQt5Network.so",
+ "lib/${ARCH}/libQt5Qml.so",
+ "lib/${ARCH}/libQt5QuickParticles.so",
+ "lib/${ARCH}/libQt5Quick.so",
+ "lib/${ARCH}/libqmlapp.so",
+ "res/layout/splash.xml"}))
+ << QStringList("modules.Android.sdk.automaticSources:true");
QTest::newRow("no native")
<< "no-native"
<< QStringList("com.example.android.basicmediadecoder")
<< (QList<QByteArrayList>() << commonFiles + expandArchs(archs, {
+ "resources.arsc",
"res/drawable-hdpi-v4/ic_action_play_disabled.png",
"res/drawable-hdpi-v4/ic_action_play.png",
"res/drawable-hdpi-v4/ic_launcher.png",
@@ -234,34 +377,41 @@ void TestBlackboxAndroid::android_data()
"res/layout/sample_main.xml",
"res/menu/action_menu.xml",
"res/menu-v11/action_menu.xml",
- "res/raw/vid_bigbuckbunny.mp4"}));
+ "res/raw/vid_bigbuckbunny.mp4"}))
+ << QStringList();
+ QTest::newRow("aidl") << "aidl" << QStringList("io.qbs.aidltest")
+ << QList<QByteArrayList>{commonFiles} << QStringList();
QTest::newRow("multiple libs")
<< "multiple-libs-per-apk"
<< QStringList("twolibs")
<< (QList<QByteArrayList>() << commonFiles + expandArchs(archs, {
- "lib/${ARCH}/gdbserver",
+ "resources.arsc",
+ "lib/${ARCH}/libgdbserver.so",
"lib/${ARCH}/liblib1.so",
"lib/${ARCH}/liblib2.so",
- cxxLibPath("libstlport_shared.so")}));
+ cxxLibPath("libstlport_shared.so", false)}))
+ << QStringList();
QByteArrayList expectedFiles1 = (commonFiles
+ expandArchs(QByteArrayList{"armeabi-v7a", "x86"}, {
- "lib/${ARCH}/gdbserver",
+ "resources.arsc",
+ "lib/${ARCH}/libgdbserver.so",
"lib/${ARCH}/libp1lib1.so",
- cxxLibPath("libstlport_shared.so")})
+ cxxLibPath("libstlport_shared.so", false)})
+ expandArchs(QByteArrayList{archs}, {
- "lib/${ARCH}/gdbserver",
+ "resources.arsc",
+ "lib/${ARCH}/libgdbserver.so",
"lib/${ARCH}/libp1lib2.so",
- cxxLibPath("libstlport_shared.so")})).toSet().toList();
+ cxxLibPath("libstlport_shared.so", false)})).toSet().toList();
QByteArrayList expectedFiles2 = commonFiles + expandArchs(archs, {
- "lib/${ARCH}/gdbserver",
+ "lib/${ARCH}/libgdbserver.so",
"lib/${ARCH}/libp2lib1.so",
"lib/${ARCH}/libp2lib2.so",
- cxxLibPath("libstlport_shared.so")});
- expectedFiles2.removeOne("resources.arsc");
+ cxxLibPath("libstlport_shared.so", false)});
QTest::newRow("multiple apks")
<< "multiple-apks-per-project"
<< (QStringList() << "twolibs1" << "twolibs2")
- << QList<QByteArrayList>{expectedFiles1, expectedFiles2};
+ << QList<QByteArrayList>{expectedFiles1, expectedFiles2}
+ << QStringList();
}
QTEST_MAIN(TestBlackboxAndroid)
diff --git a/tests/auto/blackbox/tst_blackboxapple.cpp b/tests/auto/blackbox/tst_blackboxapple.cpp
index b3ba13f04..0cb4d5abb 100644
--- a/tests/auto/blackbox/tst_blackboxapple.cpp
+++ b/tests/auto/blackbox/tst_blackboxapple.cpp
@@ -80,9 +80,9 @@ void TestBlackboxApple::appleMultiConfig()
const bool supportsX86 = xcodeVersion < qbs::Version(10);
QDir::setCurrent(testDataDir + "/apple-multiconfig");
-
- QCOMPARE(runQbs(QbsRunParameters(QStringList(QString("project.enableX86:")
- + (supportsX86 ? "true" : "false")))), 0);
+ QCOMPARE(runQbs(QbsRunParameters(QStringList{
+ "qbs.installPrefix:''",
+ QString("project.enableX86:") + (supportsX86 ? "true" : "false")})), 0);
QVERIFY(QFileInfo2(defaultInstallRoot + "/singleapp.app/Contents/MacOS/singleapp").isExecutable());
QVERIFY(QFileInfo2(defaultInstallRoot + "/singleapp.app/Contents/Info.plist").isRegularFile());
@@ -303,7 +303,7 @@ void TestBlackboxApple::bundleStructure()
QFETCH(bool, isShallow);
QDir::setCurrent(testDataDir + "/bundle-structure");
- QbsRunParameters params;
+ QbsRunParameters params(QStringList{"qbs.installPrefix:''"});
params.arguments << "project.buildableProducts:" + productName;
if (isShallow) {
// Coerce shallow bundles - don't set bundle.isShallow directly because we want to test the
@@ -644,7 +644,7 @@ void TestBlackboxApple::embedInfoPlist()
{
QDir::setCurrent(testDataDir + QLatin1String("/embedInfoPlist"));
- QbsRunParameters params;
+ QbsRunParameters params(QStringList{"qbs.installPrefix:''"});
QCOMPARE(runQbs(params), 0);
QVERIFY(!getEmbeddedBinaryPlist(defaultInstallRoot + "/app").isEmpty());
diff --git a/tests/auto/blackbox/tst_blackboxbase.cpp b/tests/auto/blackbox/tst_blackboxbase.cpp
index b07f14553..e1844b69c 100644
--- a/tests/auto/blackbox/tst_blackboxbase.cpp
+++ b/tests/auto/blackbox/tst_blackboxbase.cpp
@@ -46,9 +46,9 @@ using qbs::Profile;
static QString initQbsExecutableFilePath()
{
- const QString qbsInstallRoot = QString::fromLocal8Bit(qgetenv("QBS_INSTALL_ROOT"));
- return HostOsInfo::appendExecutableSuffix(QDir::cleanPath(!qbsInstallRoot.isEmpty()
- ? qbsInstallRoot + QLatin1String("/bin/qbs")
+ const QString qbsInstallDir = QString::fromLocal8Bit(qgetenv("QBS_INSTALL_DIR"));
+ return HostOsInfo::appendExecutableSuffix(QDir::cleanPath(!qbsInstallDir.isEmpty()
+ ? qbsInstallDir + QLatin1String("/bin/qbs")
: QCoreApplication::applicationDirPath() + QLatin1String("/qbs")));
}
diff --git a/tests/auto/blackbox/tst_blackboxjava.cpp b/tests/auto/blackbox/tst_blackboxjava.cpp
index 59553f8dc..0ea3c41ce 100644
--- a/tests/auto/blackbox/tst_blackboxjava.cpp
+++ b/tests/auto/blackbox/tst_blackboxjava.cpp
@@ -79,8 +79,7 @@ void TestBlackboxJava::java()
QStringList() << "Jet" << "Ship" << "Vehicles";
QStringList classFiles1 = QStringList(classFiles) << "io/qt/qbs/HelloWorld" << "NoPackage";
for (QString &classFile : classFiles1) {
- classFile = relativeProductBuildDir("class_collection") + "/classes/"
- + classFile + ".class";
+ classFile = relativeProductBuildDir("cc") + "/classes/" + classFile + ".class";
QVERIFY2(regularFileExists(classFile), qPrintable(classFile));
}
diff --git a/tests/auto/blackbox/tst_blackboxjoblimits.cpp b/tests/auto/blackbox/tst_blackboxjoblimits.cpp
new file mode 100644
index 000000000..0c366759d
--- /dev/null
+++ b/tests/auto/blackbox/tst_blackboxjoblimits.cpp
@@ -0,0 +1,173 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qbs.
+**
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "tst_blackboxbase.h"
+
+#include "../shared.h"
+#include <tools/profile.h>
+
+class TestBlackboxJobLimits : public TestBlackboxBase
+{
+ Q_OBJECT
+
+public:
+ TestBlackboxJobLimits();
+
+private slots:
+ void jobLimits_data();
+ void jobLimits();
+};
+
+TestBlackboxJobLimits::TestBlackboxJobLimits()
+ : TestBlackboxBase (SRCDIR "/testdata-joblimits", "blackbox-joblimits")
+{
+}
+
+void TestBlackboxJobLimits::jobLimits_data()
+{
+ QTest::addColumn<int>("projectJobCount");
+ QTest::addColumn<int>("productJobCount");
+ QTest::addColumn<int>("moduleJobCount");
+ QTest::addColumn<int>("prefsJobCount");
+ QTest::addColumn<int>("cliJobCount");
+ QTest::addColumn<bool>("projectPrecedence");
+ QTest::addColumn<bool>("expectSuccess");
+ for (int projectJobCount = -1; projectJobCount <= 1; ++projectJobCount) {
+ for (int productJobCount = -1; productJobCount <= 1; ++productJobCount) {
+ for (int moduleJobCount = -1; moduleJobCount <= 1; ++moduleJobCount) {
+ for (int prefsJobCount = -1; prefsJobCount <= 1; ++prefsJobCount) {
+ for (int cliJobCount = -1; cliJobCount <= 1; ++cliJobCount) {
+ QString description = QString("project:%1/"
+ "product:%2/module:%3/prefs:%4/cli:%5/project precedence")
+ .arg(projectJobCount).arg(productJobCount).arg(moduleJobCount)
+ .arg(prefsJobCount).arg(cliJobCount).toLocal8Bit();
+ bool expectSuccess;
+ switch (productJobCount) {
+ case 1: expectSuccess = true; break;
+ case 0: expectSuccess = false; break;
+ case -1:
+ switch (projectJobCount) {
+ case 1: expectSuccess = true; break;
+ case 0: expectSuccess = false; break;
+ case -1:
+ switch (moduleJobCount) {
+ case 1: expectSuccess = true; break;
+ case 0: expectSuccess = false; break;
+ case -1:
+ switch (cliJobCount) {
+ case 1: expectSuccess = true; break;
+ case 0: expectSuccess = false; break;
+ case -1: expectSuccess = prefsJobCount == 1; break;
+ }
+ break;
+ }
+ break;
+ }
+ break;
+ }
+ QTest::newRow(qPrintable(description))
+ << projectJobCount << productJobCount << moduleJobCount
+ << prefsJobCount << cliJobCount << true << expectSuccess;
+ description = QString("project:%1/"
+ "product:%2/module:%3/prefs:%4/cli:%5/default precedence")
+ .arg(projectJobCount).arg(productJobCount).arg(moduleJobCount)
+ .arg(prefsJobCount).arg(cliJobCount).toLocal8Bit();
+ switch (cliJobCount) {
+ case 1: expectSuccess = true; break;
+ case 0: expectSuccess = false; break;
+ case -1:
+ switch (prefsJobCount) {
+ case 1: expectSuccess = true; break;
+ case 0: expectSuccess = false; break;
+ case -1:
+ switch (productJobCount) {
+ case 1: expectSuccess = true; break;
+ case 0: expectSuccess = false; break;
+ case -1:
+ switch (projectJobCount) {
+ case 1: expectSuccess = true; break;
+ case 0: expectSuccess = false; break;
+ case -1: expectSuccess = moduleJobCount == 1; break;
+ }
+ break;
+ }
+ break;
+ }
+ break;
+ }
+ QTest::newRow(qPrintable(description))
+ << projectJobCount << productJobCount << moduleJobCount
+ << prefsJobCount << cliJobCount << false << expectSuccess;
+ }
+ }
+ }
+ }
+ }
+}
+
+void TestBlackboxJobLimits::jobLimits()
+{
+ QDir::setCurrent(testDataDir + "/job-limits");
+ QFETCH(int, projectJobCount);
+ QFETCH(int, productJobCount);
+ QFETCH(int, moduleJobCount);
+ QFETCH(int, prefsJobCount);
+ QFETCH(int, cliJobCount);
+ QFETCH(bool, projectPrecedence);
+ QFETCH(bool, expectSuccess);
+ SettingsPtr theSettings = settings();
+ qbs::Internal::TemporaryProfile profile("jobLimitsProfile", theSettings.get());
+ profile.p.setValue("preferences.jobLimit.singleton", prefsJobCount);
+ theSettings->sync();
+ QbsRunParameters resolveParams("resolve");
+ resolveParams.profile = profile.p.name();
+ resolveParams.arguments << ("project.projectJobCount:" + QString::number(projectJobCount))
+ << ("project.productJobCount:" + QString::number(productJobCount))
+ << ("project.moduleJobCount:" + QString::number(moduleJobCount));
+ QCOMPARE(runQbs(resolveParams), 0);
+ QbsRunParameters buildParams;
+ buildParams.expectFailure = !expectSuccess;
+ if (cliJobCount != -1)
+ buildParams.arguments << "--job-limits" << ("singleton:" + QString::number(cliJobCount));
+ if (projectPrecedence)
+ buildParams.arguments << "--enforce-project-job-limits";
+ buildParams.profile = profile.p.name();
+ const int exitCode = runQbs(buildParams);
+ if (expectSuccess)
+ QCOMPARE(exitCode, 0);
+ else if (exitCode == 0)
+ QSKIP("no failure with no limit in place, result inconclusive");
+ else
+ QVERIFY2(m_qbsStderr.contains("exclusive"), m_qbsStderr.constData());
+ if (exitCode == 0)
+ QCOMPARE(m_qbsStdout.count("Running tool"), 7);
+}
+
+QTEST_MAIN(TestBlackboxJobLimits)
+
+#include <tst_blackboxjoblimits.moc>
diff --git a/tests/auto/blackbox/tst_blackboxqt.cpp b/tests/auto/blackbox/tst_blackboxqt.cpp
index 3ab2c601c..3441255e2 100644
--- a/tests/auto/blackbox/tst_blackboxqt.cpp
+++ b/tests/auto/blackbox/tst_blackboxqt.cpp
@@ -64,6 +64,17 @@ void TestBlackboxQt::validateTestProfile()
"in the global search paths."));
}
+void TestBlackboxQt::addQObjectMacroToGeneratedCppFile()
+{
+ QDir::setCurrent(testDataDir + "/add-qobject-macro-to-generated-cpp-file");
+ QCOMPARE(runQbs(), 0);
+ QVERIFY2(!m_qbsStdout.contains("moc"), m_qbsStdout.constData());
+ WAIT_FOR_NEW_TIMESTAMP();
+ REPLACE_IN_FILE("object.cpp.in", "// ", "");
+ QCOMPARE(runQbs(), 0);
+ QVERIFY2(m_qbsStdout.contains("moc"), m_qbsStdout.constData());
+}
+
void TestBlackboxQt::autoQrc()
{
QDir::setCurrent(testDataDir + "/auto-qrc");
@@ -134,6 +145,21 @@ void TestBlackboxQt::dbusInterfaces()
QCOMPARE(runQbs(), 0);
}
+void TestBlackboxQt::includedMocCpp()
+{
+ QDir::setCurrent(testDataDir + "/included-moc-cpp");
+ QCOMPARE(runQbs(), 0);
+ QVERIFY2(!m_qbsStdout.contains("compiling moc_myobject.cpp"), m_qbsStdout.constData());
+ WAIT_FOR_NEW_TIMESTAMP();
+ REPLACE_IN_FILE("myobject.cpp", "#include <moc_myobject.cpp", "// #include <moc_myobject.cpp");
+ QCOMPARE(runQbs(), 0);
+ QVERIFY2(m_qbsStdout.contains("compiling moc_myobject.cpp"), m_qbsStdout.constData());
+ WAIT_FOR_NEW_TIMESTAMP();
+ REPLACE_IN_FILE("myobject.cpp", "// #include <moc_myobject.cpp", "#include <moc_myobject.cpp");
+ QCOMPARE(runQbs(), 0);
+ QVERIFY2(!m_qbsStdout.contains("compiling moc_myobject.cpp"), m_qbsStdout.constData());
+}
+
void TestBlackboxQt::lrelease()
{
QDir::setCurrent(testDataDir + QLatin1String("/lrelease"));
@@ -230,6 +256,56 @@ void TestBlackboxQt::pluginMetaData()
QVERIFY2(m_qbsStdout.contains("moc"), m_qbsStdout.constData());
}
+void TestBlackboxQt::pluginSupport_data()
+{
+ QTest::addColumn<bool>("invalidPlugin");
+ QTest::newRow("request valid plugins") << false;
+ QTest::newRow("request invalid plugin") << true;
+}
+
+void TestBlackboxQt::pluginSupport()
+{
+ QDir::setCurrent(testDataDir + "/plugin-support");
+ QFETCH(bool, invalidPlugin);
+ QbsRunParameters resolveParams("resolve");
+ if (invalidPlugin) {
+ resolveParams.arguments << "modules.m1.useDummy:true";
+ resolveParams.expectFailure = true;
+ }
+ QCOMPARE(runQbs(resolveParams) == 0, !invalidPlugin);
+ if (invalidPlugin) {
+ QVERIFY2(m_qbsStderr.contains("Plugin 'dummy' of type 'imageformats' was requested, "
+ "but is not available"), m_qbsStderr.constData());
+ return;
+ }
+ const bool isStaticQt = m_qbsStdout.contains("static Qt: true");
+ const bool isDynamicQt = m_qbsStdout.contains("static Qt: false");
+ QVERIFY(isStaticQt != isDynamicQt);
+ if (isStaticQt)
+ QVERIFY2(m_qbsStdout.contains("platform plugin count: 1"), m_qbsStdout.constData());
+ else
+ QVERIFY2(m_qbsStdout.contains("platform plugin count: 0"), m_qbsStdout.constData());
+ const auto extractList = [this](const char sep) {
+ const int listStartIndex = m_qbsStdout.indexOf(sep);
+ const int listEndIndex = m_qbsStdout.indexOf(sep, listStartIndex + 1);
+ const QByteArray listString = m_qbsStdout.mid(listStartIndex + 1,
+ listEndIndex - listStartIndex - 1);
+ return listString.isEmpty() ? QByteArrayList() : listString.split(',');
+ };
+ const QByteArrayList enabledPlugins = extractList('%');
+ if (isStaticQt)
+ QCOMPARE(enabledPlugins.size(), 2);
+ else
+ QVERIFY(enabledPlugins.empty());
+ const QByteArrayList allPlugins = extractList('#');
+ QVERIFY(allPlugins.size() >= enabledPlugins.size());
+ QCOMPARE(runQbs(), 0);
+ for (const QByteArray &plugin : allPlugins) {
+ QCOMPARE(m_qbsStdout.contains("qt_plugin_import_" + plugin + ".cpp"),
+ enabledPlugins.contains(plugin));
+ }
+}
+
void TestBlackboxQt::qmlDebugging()
{
QDir::setCurrent(testDataDir + "/qml-debugging");
@@ -371,6 +447,7 @@ void TestBlackboxQt::track_qrc()
QVERIFY2(!m_qbsStdout.contains("compiling test.cpp"), m_qbsStdout.constData());
const QString fileName = relativeExecutableFilePath("i");
QVERIFY2(regularFileExists(fileName), qPrintable(fileName));
+
QDateTime dt = QFileInfo(fileName).lastModified();
WAIT_FOR_NEW_TIMESTAMP();
{
@@ -383,16 +460,42 @@ void TestBlackboxQt::track_qrc()
REPLACE_IN_FILE("i.qbs", "//\"test.cpp\"", "\"test.cpp\"");
waitForFileUnlock();
QCOMPARE(runQbs(QbsRunParameters("run")), 0);
- QVERIFY2(m_qbsStdout.contains("rcc"), m_qbsStdout.constData());
+ QVERIFY2(m_qbsStdout.contains("rcc bla.qrc"), m_qbsStdout.constData());
QVERIFY2(m_qbsStdout.contains("compiling test.cpp"), m_qbsStdout.constData());
QVERIFY(regularFileExists(fileName));
QVERIFY(dt < QFileInfo(fileName).lastModified());
+
WAIT_FOR_NEW_TIMESTAMP();
touch("i.qbs");
QCOMPARE(runQbs(), 0);
QVERIFY2(m_qbsStdout.contains("Resolving"), m_qbsStdout.constData());
QVERIFY2(!m_qbsStdout.contains("rcc"), m_qbsStdout.constData());
QVERIFY2(!m_qbsStdout.contains("compiling test.cpp"), m_qbsStdout.constData());
+
+ // Turn on big resources.
+ WAIT_FOR_NEW_TIMESTAMP();
+ QCOMPARE(runQbs(QbsRunParameters("resolve", {"modules.Qt.core.enableBigResources:true"})), 0);
+ QCOMPARE(runQbs(QbsRunParameters("run")), 0);
+ QVERIFY2(m_qbsStdout.contains("rcc (pass 1) bla.qrc"), m_qbsStdout.constData());
+ QVERIFY2(m_qbsStdout.contains("rcc (pass 2) bla.qrc"), m_qbsStdout.constData());
+
+ // Check null build.
+ WAIT_FOR_NEW_TIMESTAMP();
+ QCOMPARE(runQbs(), 0);
+ QVERIFY2(m_qbsStdout.contains("Building"), m_qbsStdout.constData());
+ QVERIFY2(!m_qbsStdout.contains("rcc"), m_qbsStdout.constData());
+
+ // Turn off big resources.
+ WAIT_FOR_NEW_TIMESTAMP();
+ QCOMPARE(runQbs(QbsRunParameters("resolve", {"modules.Qt.core.enableBigResources:false"})), 0);
+ QCOMPARE(runQbs(QbsRunParameters("run")), 0);
+ QVERIFY2(m_qbsStdout.contains("rcc bla.qrc"), m_qbsStdout.constData());
+
+ // Check null build.
+ WAIT_FOR_NEW_TIMESTAMP();
+ QCOMPARE(runQbs(), 0);
+ QVERIFY2(m_qbsStdout.contains("Building"), m_qbsStdout.constData());
+ QVERIFY2(!m_qbsStdout.contains("rcc"), m_qbsStdout.constData());
}
void TestBlackboxQt::unmocable()
diff --git a/tests/auto/blackbox/tst_blackboxqt.h b/tests/auto/blackbox/tst_blackboxqt.h
index 0f7535224..f42c225d8 100644
--- a/tests/auto/blackbox/tst_blackboxqt.h
+++ b/tests/auto/blackbox/tst_blackboxqt.h
@@ -42,12 +42,14 @@ protected:
void validateTestProfile() override;
private slots:
+ void addQObjectMacroToGeneratedCppFile();
void autoQrc();
void cachedQml();
void combinedMoc();
void createProject();
void dbusAdaptors();
void dbusInterfaces();
+ void includedMocCpp();
void lrelease();
void mixedBuildVariants();
void mocAndCppCombining();
@@ -55,6 +57,8 @@ private slots:
void mocSameFileName();
void pkgconfig();
void pluginMetaData();
+ void pluginSupport_data();
+ void pluginSupport();
void qmlDebugging();
void qobjectInObjectiveCpp();
void qtKeywords();
diff --git a/tests/auto/cmdlineparser/tst_cmdlineparser.cpp b/tests/auto/cmdlineparser/tst_cmdlineparser.cpp
index 88a458d53..15b9ec382 100644
--- a/tests/auto/cmdlineparser/tst_cmdlineparser.cpp
+++ b/tests/auto/cmdlineparser/tst_cmdlineparser.cpp
@@ -84,14 +84,11 @@ private slots:
QVERIFY(parser.parseCommandLine(QStringList() << "-t" << m_fileArgs));
QVERIFY(parser.logTime());
- if (!Internal::HostOsInfo::isWindowsHost()) { // Windows has no progress bar atm.
- // Note: We cannot just check for !parser.logTime() here, because if the test is not
- // run in a terminal, "--show-progress" is ignored, in which case "--log-time"
- // takes effect.
- QVERIFY(parser.parseCommandLine(QStringList() << "-t" << "--show-progress"
- << m_fileArgs));
- QVERIFY(parser.showProgress() != parser.logTime());
- }
+ // Note: We cannot just check for !parser.logTime() here, because if the test is not
+ // run in a terminal, "--show-progress" is ignored, in which case "--log-time"
+ // takes effect.
+ QVERIFY(parser.parseCommandLine(QStringList() << "-t" << "--show-progress" << m_fileArgs));
+ QVERIFY(parser.showProgress() != parser.logTime());
QVERIFY(parser.parseCommandLine(QStringList() << "-vvqqq" << m_fileArgs));
QCOMPARE(ConsoleLogger::instance().logSink()->logLevel(), LoggerWarning);
diff --git a/tests/auto/language/testdata/MyProperties.qbs b/tests/auto/language/testdata/MyProperties.qbs
index b29bfc18f..cca5a9c9a 100644
--- a/tests/auto/language/testdata/MyProperties.qbs
+++ b/tests/auto/language/testdata/MyProperties.qbs
@@ -1,4 +1,2 @@
-import qbs
-
Properties {
}
diff --git a/tests/auto/language/testdata/additional-product-types.qbs b/tests/auto/language/testdata/additional-product-types.qbs
index af510bed7..686650f42 100644
--- a/tests/auto/language/testdata/additional-product-types.qbs
+++ b/tests/auto/language/testdata/additional-product-types.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
name: "p"
type: ["tag1"]
diff --git a/tests/auto/language/testdata/base-validate/base-validate.qbs b/tests/auto/language/testdata/base-validate/base-validate.qbs
index b1b025f94..657917739 100644
--- a/tests/auto/language/testdata/base-validate/base-validate.qbs
+++ b/tests/auto/language/testdata/base-validate/base-validate.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
Depends { name: "m" }
}
diff --git a/tests/auto/language/testdata/base-validate/modules/m/MParent.qbs b/tests/auto/language/testdata/base-validate/modules/m/MParent.qbs
index 9874fbd5d..8b147cfa5 100644
--- a/tests/auto/language/testdata/base-validate/modules/m/MParent.qbs
+++ b/tests/auto/language/testdata/base-validate/modules/m/MParent.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
condition: false
validate: true
diff --git a/tests/auto/language/testdata/base-validate/modules/m/m.qbs b/tests/auto/language/testdata/base-validate/modules/m/m.qbs
index 6fcdc9ebc..6fca37adc 100644
--- a/tests/auto/language/testdata/base-validate/modules/m/m.qbs
+++ b/tests/auto/language/testdata/base-validate/modules/m/m.qbs
@@ -1,5 +1,3 @@
-import qbs
-
MParent {
condition: true
validate: {
diff --git a/tests/auto/language/testdata/broken-dependency-cycle1.qbs b/tests/auto/language/testdata/broken-dependency-cycle1.qbs
index d23e5b459..aef4eb588 100644
--- a/tests/auto/language/testdata/broken-dependency-cycle1.qbs
+++ b/tests/auto/language/testdata/broken-dependency-cycle1.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Product {
name: "p1"
diff --git a/tests/auto/language/testdata/broken-dependency-cycle2.qbs b/tests/auto/language/testdata/broken-dependency-cycle2.qbs
index f0c6e4f57..69a6e4f85 100644
--- a/tests/auto/language/testdata/broken-dependency-cycle2.qbs
+++ b/tests/auto/language/testdata/broken-dependency-cycle2.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Product {
name: "p1"
diff --git a/tests/auto/language/testdata/builtinFunctionInSearchPathsProperty.qbs b/tests/auto/language/testdata/builtinFunctionInSearchPathsProperty.qbs
index 0df9f4d5c..50ff29142 100644
--- a/tests/auto/language/testdata/builtinFunctionInSearchPathsProperty.qbs
+++ b/tests/auto/language/testdata/builtinFunctionInSearchPathsProperty.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.Environment
Project {
diff --git a/tests/auto/language/testdata/canonicalArchitecture.qbs b/tests/auto/language/testdata/canonicalArchitecture.qbs
index 16c040ba0..4f548251b 100644
--- a/tests/auto/language/testdata/canonicalArchitecture.qbs
+++ b/tests/auto/language/testdata/canonicalArchitecture.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.Utilities
Product {
diff --git a/tests/auto/language/testdata/chained-probes/chained-probes.qbs b/tests/auto/language/testdata/chained-probes/chained-probes.qbs
index b1b025f94..657917739 100644
--- a/tests/auto/language/testdata/chained-probes/chained-probes.qbs
+++ b/tests/auto/language/testdata/chained-probes/chained-probes.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
Depends { name: "m" }
}
diff --git a/tests/auto/language/testdata/chained-probes/modules/m/m.qbs b/tests/auto/language/testdata/chained-probes/modules/m/m.qbs
index cf7ab16c7..3c6bcd1c9 100644
--- a/tests/auto/language/testdata/chained-probes/modules/m/m.qbs
+++ b/tests/auto/language/testdata/chained-probes/modules/m/m.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
Probe {
id: probe1
diff --git a/tests/auto/language/testdata/conditionaldepends.qbs b/tests/auto/language/testdata/conditionaldepends.qbs
index e61888c9d..9a499da92 100644
--- a/tests/auto/language/testdata/conditionaldepends.qbs
+++ b/tests/auto/language/testdata/conditionaldepends.qbs
@@ -1,4 +1,3 @@
-import qbs 1.0
import "conditionaldepends_base.qbs" as CondBase
Project {
diff --git a/tests/auto/language/testdata/conditionaldepends_base.qbs b/tests/auto/language/testdata/conditionaldepends_base.qbs
index 81782ba44..5ab5b973a 100644
--- a/tests/auto/language/testdata/conditionaldepends_base.qbs
+++ b/tests/auto/language/testdata/conditionaldepends_base.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Application {
name: 'conditionaldepends_base'
property bool someProp: false
diff --git a/tests/auto/language/testdata/defaultvalue/egon.qbs b/tests/auto/language/testdata/defaultvalue/egon.qbs
index 7b254b0c8..6313e080a 100644
--- a/tests/auto/language/testdata/defaultvalue/egon.qbs
+++ b/tests/auto/language/testdata/defaultvalue/egon.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Product {
name: "dep"
diff --git a/tests/auto/language/testdata/defaultvalue/modules/higher/higher.qbs b/tests/auto/language/testdata/defaultvalue/modules/higher/higher.qbs
index 9894f80cf..6639b811a 100644
--- a/tests/auto/language/testdata/defaultvalue/modules/higher/higher.qbs
+++ b/tests/auto/language/testdata/defaultvalue/modules/higher/higher.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
Depends { name: "lower" }
lower.prop2: lower.prop1 === "egon" ? "withEgon" : original
diff --git a/tests/auto/language/testdata/defaultvalue/modules/lower/lower.qbs b/tests/auto/language/testdata/defaultvalue/modules/lower/lower.qbs
index 0540185e9..72cb23011 100644
--- a/tests/auto/language/testdata/defaultvalue/modules/lower/lower.qbs
+++ b/tests/auto/language/testdata/defaultvalue/modules/lower/lower.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
property string prop1
property string prop2: prop1 === "blubb" ? "withBlubb" : "withoutBlubb"
diff --git a/tests/auto/language/testdata/delayed-error/modules/m/m.qbs b/tests/auto/language/testdata/delayed-error/modules/m/m.qbs
index 8529f47a4..4b562806b 100644
--- a/tests/auto/language/testdata/delayed-error/modules/m/m.qbs
+++ b/tests/auto/language/testdata/delayed-error/modules/m/m.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
validate: { throw "Validation error!"; }
}
diff --git a/tests/auto/language/testdata/delayed-error/nonexisting.qbs b/tests/auto/language/testdata/delayed-error/nonexisting.qbs
index 3825146c6..4034b7b94 100644
--- a/tests/auto/language/testdata/delayed-error/nonexisting.qbs
+++ b/tests/auto/language/testdata/delayed-error/nonexisting.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
property bool enableProduct: true
Product {
diff --git a/tests/auto/language/testdata/delayed-error/validation.qbs b/tests/auto/language/testdata/delayed-error/validation.qbs
index e78c1d9e8..ee9fe05a5 100644
--- a/tests/auto/language/testdata/delayed-error/validation.qbs
+++ b/tests/auto/language/testdata/delayed-error/validation.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
property bool enableProduct: true
Product {
diff --git a/tests/auto/language/testdata/dependencyOnAllProfiles.qbs b/tests/auto/language/testdata/dependencyOnAllProfiles.qbs
index f0ca56a8a..314a31166 100644
--- a/tests/auto/language/testdata/dependencyOnAllProfiles.qbs
+++ b/tests/auto/language/testdata/dependencyOnAllProfiles.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
property string profile1
property string profile2
diff --git a/tests/auto/language/testdata/derived-sub-project/DerivedSubProject.qbs b/tests/auto/language/testdata/derived-sub-project/DerivedSubProject.qbs
index 313e04f24..391f56140 100644
--- a/tests/auto/language/testdata/derived-sub-project/DerivedSubProject.qbs
+++ b/tests/auto/language/testdata/derived-sub-project/DerivedSubProject.qbs
@@ -1,4 +1,2 @@
-import qbs
-
SubProject {
}
diff --git a/tests/auto/language/testdata/derived-sub-project/project.qbs b/tests/auto/language/testdata/derived-sub-project/project.qbs
index 1aadd92ae..f001b422b 100644
--- a/tests/auto/language/testdata/derived-sub-project/project.qbs
+++ b/tests/auto/language/testdata/derived-sub-project/project.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
DerivedSubProject {
filePath: "subproject.qbs"
diff --git a/tests/auto/language/testdata/derived-sub-project/subproject.qbs b/tests/auto/language/testdata/derived-sub-project/subproject.qbs
index 18dc695f3..bdef20fd8 100644
--- a/tests/auto/language/testdata/derived-sub-project/subproject.qbs
+++ b/tests/auto/language/testdata/derived-sub-project/subproject.qbs
@@ -1,4 +1,2 @@
-import qbs
-
Product {
}
diff --git a/tests/auto/language/testdata/disabled-subproject.qbs b/tests/auto/language/testdata/disabled-subproject.qbs
index 3074e5090..41891ef89 100644
--- a/tests/auto/language/testdata/disabled-subproject.qbs
+++ b/tests/auto/language/testdata/disabled-subproject.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
SubProject {
condition: false
diff --git a/tests/auto/language/testdata/enum-project-props.qbs b/tests/auto/language/testdata/enum-project-props.qbs
index 185ab7c28..8e2927ab7 100644
--- a/tests/auto/language/testdata/enum-project-props.qbs
+++ b/tests/auto/language/testdata/enum-project-props.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
property string anExistingFile: "dummy.txt"
Product {
diff --git a/tests/auto/language/testdata/erroneous/ParentItem.qbs b/tests/auto/language/testdata/erroneous/ParentItem.qbs
index b90756678..38cee2642 100644
--- a/tests/auto/language/testdata/erroneous/ParentItem.qbs
+++ b/tests/auto/language/testdata/erroneous/ParentItem.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
property bool cpp
readonly property string readOnlyString: "I cannot be changed!"
diff --git a/tests/auto/language/testdata/erroneous/ParentWithExport.qbs b/tests/auto/language/testdata/erroneous/ParentWithExport.qbs
index 0037d2c0f..d9ed02478 100644
--- a/tests/auto/language/testdata/erroneous/ParentWithExport.qbs
+++ b/tests/auto/language/testdata/erroneous/ParentWithExport.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
Export {
property bool theProp
diff --git a/tests/auto/language/testdata/erroneous/conflicting-module-instances.qbs b/tests/auto/language/testdata/erroneous/conflicting-module-instances.qbs
index 28033b174..62a08f028 100644
--- a/tests/auto/language/testdata/erroneous/conflicting-module-instances.qbs
+++ b/tests/auto/language/testdata/erroneous/conflicting-module-instances.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
Depends { name: "conflicting-instances" }
}
diff --git a/tests/auto/language/testdata/erroneous/conflicting-properties-in-export-items.qbs b/tests/auto/language/testdata/erroneous/conflicting-properties-in-export-items.qbs
index 021dc786b..309d1b4ff 100644
--- a/tests/auto/language/testdata/erroneous/conflicting-properties-in-export-items.qbs
+++ b/tests/auto/language/testdata/erroneous/conflicting-properties-in-export-items.qbs
@@ -1,5 +1,3 @@
-import qbs
-
ParentWithExport {
Export {
property string theProp
diff --git a/tests/auto/language/testdata/erroneous/conflicting_fileTagsFilter.qbs b/tests/auto/language/testdata/erroneous/conflicting_fileTagsFilter.qbs
index 54b3343e4..97e11bb9b 100644
--- a/tests/auto/language/testdata/erroneous/conflicting_fileTagsFilter.qbs
+++ b/tests/auto/language/testdata/erroneous/conflicting_fileTagsFilter.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Application {
Group {
fileTagsFilter: "application"
diff --git a/tests/auto/language/testdata/erroneous/dependency_cycle.qbs b/tests/auto/language/testdata/erroneous/dependency_cycle.qbs
index dce212d9c..83a6e35f6 100644
--- a/tests/auto/language/testdata/erroneous/dependency_cycle.qbs
+++ b/tests/auto/language/testdata/erroneous/dependency_cycle.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
CppApplication {
name: "A"
diff --git a/tests/auto/language/testdata/erroneous/dependency_cycle2.qbs b/tests/auto/language/testdata/erroneous/dependency_cycle2.qbs
index ab7a0d6f4..335355480 100644
--- a/tests/auto/language/testdata/erroneous/dependency_cycle2.qbs
+++ b/tests/auto/language/testdata/erroneous/dependency_cycle2.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
CppApplication {
name: "A"
diff --git a/tests/auto/language/testdata/erroneous/dependency_cycle3.qbs b/tests/auto/language/testdata/erroneous/dependency_cycle3.qbs
index ab1629777..3297d5f5a 100644
--- a/tests/auto/language/testdata/erroneous/dependency_cycle3.qbs
+++ b/tests/auto/language/testdata/erroneous/dependency_cycle3.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Product {
type: ["a"]
diff --git a/tests/auto/language/testdata/erroneous/dependency_cycle4.qbs b/tests/auto/language/testdata/erroneous/dependency_cycle4.qbs
index 5d33a59c6..bd3a9feb1 100644
--- a/tests/auto/language/testdata/erroneous/dependency_cycle4.qbs
+++ b/tests/auto/language/testdata/erroneous/dependency_cycle4.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
Depends { name: "module-a" }
}
diff --git a/tests/auto/language/testdata/erroneous/duplicate_sources.qbs b/tests/auto/language/testdata/erroneous/duplicate_sources.qbs
index 0546ac2e7..c056dc953 100644
--- a/tests/auto/language/testdata/erroneous/duplicate_sources.qbs
+++ b/tests/auto/language/testdata/erroneous/duplicate_sources.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
files: ["main.cpp"]
Group {
diff --git a/tests/auto/language/testdata/erroneous/duplicate_sources_wildcards.qbs b/tests/auto/language/testdata/erroneous/duplicate_sources_wildcards.qbs
index a51aa26d1..6443590b9 100644
--- a/tests/auto/language/testdata/erroneous/duplicate_sources_wildcards.qbs
+++ b/tests/auto/language/testdata/erroneous/duplicate_sources_wildcards.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
files: ["*.qbs"]
Group {
diff --git a/tests/auto/language/testdata/erroneous/importloop1.qbs b/tests/auto/language/testdata/erroneous/importloop1.qbs
index 91e8f620f..07a2487c4 100644
--- a/tests/auto/language/testdata/erroneous/importloop1.qbs
+++ b/tests/auto/language/testdata/erroneous/importloop1.qbs
@@ -1,4 +1,3 @@
-import qbs 1.0
import "importloop2.qbs" as X
X {}
diff --git a/tests/auto/language/testdata/erroneous/importloop2.qbs b/tests/auto/language/testdata/erroneous/importloop2.qbs
index c41fe7e9f..a49a331c9 100644
--- a/tests/auto/language/testdata/erroneous/importloop2.qbs
+++ b/tests/auto/language/testdata/erroneous/importloop2.qbs
@@ -1,4 +1,3 @@
-import qbs 1.0
import "importloop1.qbs" as X
X {}
diff --git a/tests/auto/language/testdata/erroneous/invalid-parameter-rhs.qbs b/tests/auto/language/testdata/erroneous/invalid-parameter-rhs.qbs
index 75dc83b3e..6389a9995 100644
--- a/tests/auto/language/testdata/erroneous/invalid-parameter-rhs.qbs
+++ b/tests/auto/language/testdata/erroneous/invalid-parameter-rhs.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
Depends { name: "prefix2.suffix" }
Depends { name: "readonly"; prefix2.suffix.nope: access.will.fail }
diff --git a/tests/auto/language/testdata/erroneous/invalid-parameter-type.qbs b/tests/auto/language/testdata/erroneous/invalid-parameter-type.qbs
index 6a18a596c..72d075937 100644
--- a/tests/auto/language/testdata/erroneous/invalid-parameter-type.qbs
+++ b/tests/auto/language/testdata/erroneous/invalid-parameter-type.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
Depends { name: "module_with_parameters" }
Depends {
diff --git a/tests/auto/language/testdata/erroneous/invalid-property-option.qbs b/tests/auto/language/testdata/erroneous/invalid-property-option.qbs
index 6e74faf8a..9c8d592e8 100644
--- a/tests/auto/language/testdata/erroneous/invalid-property-option.qbs
+++ b/tests/auto/language/testdata/erroneous/invalid-property-option.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
Depends { name: "module-with-wrong-property-option" }
}
diff --git a/tests/auto/language/testdata/erroneous/invalid-references.qbs b/tests/auto/language/testdata/erroneous/invalid-references.qbs
index b224a45ac..6ea32aed8 100644
--- a/tests/auto/language/testdata/erroneous/invalid-references.qbs
+++ b/tests/auto/language/testdata/erroneous/invalid-references.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
references: "nosuchproject.qbs"
}
diff --git a/tests/auto/language/testdata/erroneous/invalid_child_item_type.qbs b/tests/auto/language/testdata/erroneous/invalid_child_item_type.qbs
index 2341d4b9c..45c426666 100644
--- a/tests/auto/language/testdata/erroneous/invalid_child_item_type.qbs
+++ b/tests/auto/language/testdata/erroneous/invalid_child_item_type.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
Depends { name: "foo" }
}
diff --git a/tests/auto/language/testdata/erroneous/invalid_file.qbs b/tests/auto/language/testdata/erroneous/invalid_file.qbs
index 18f2b044d..c461b87ef 100644
--- a/tests/auto/language/testdata/erroneous/invalid_file.qbs
+++ b/tests/auto/language/testdata/erroneous/invalid_file.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Application {
files: ["main.cpp", "other.h"]
}
diff --git a/tests/auto/language/testdata/erroneous/invalid_property_type.qbs b/tests/auto/language/testdata/erroneous/invalid_property_type.qbs
index b9b392736..e8907efff 100644
--- a/tests/auto/language/testdata/erroneous/invalid_property_type.qbs
+++ b/tests/auto/language/testdata/erroneous/invalid_property_type.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
property nonsense esnesnon
}
diff --git a/tests/auto/language/testdata/erroneous/mismatching-multiplex-dependency.qbs b/tests/auto/language/testdata/erroneous/mismatching-multiplex-dependency.qbs
index 4d9f7a380..f75db3960 100644
--- a/tests/auto/language/testdata/erroneous/mismatching-multiplex-dependency.qbs
+++ b/tests/auto/language/testdata/erroneous/mismatching-multiplex-dependency.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Product {
name: "a"
diff --git a/tests/auto/language/testdata/erroneous/missing-colon.qbs b/tests/auto/language/testdata/erroneous/missing-colon.qbs
index f05a2e6a2..e62eb7cfd 100644
--- a/tests/auto/language/testdata/erroneous/missing-colon.qbs
+++ b/tests/auto/language/testdata/erroneous/missing-colon.qbs
@@ -1,5 +1,3 @@
-import qbs
-
CppApplication {
cpp.dynamicLibraries { }
}
diff --git a/tests/auto/language/testdata/erroneous/misused-inherited-property.qbs b/tests/auto/language/testdata/erroneous/misused-inherited-property.qbs
index 37ee04158..2a87b66b2 100644
--- a/tests/auto/language/testdata/erroneous/misused-inherited-property.qbs
+++ b/tests/auto/language/testdata/erroneous/misused-inherited-property.qbs
@@ -1,5 +1,3 @@
-import qbs
-
ParentItem {
cpp.compilerName: "blubb"
}
diff --git a/tests/auto/language/testdata/erroneous/module-depends-on-product.qbs b/tests/auto/language/testdata/erroneous/module-depends-on-product.qbs
index 24e480cd8..a7db9e036 100644
--- a/tests/auto/language/testdata/erroneous/module-depends-on-product.qbs
+++ b/tests/auto/language/testdata/erroneous/module-depends-on-product.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Product {
name: "p1"
diff --git a/tests/auto/language/testdata/erroneous/modules/module-a/module-a.qbs b/tests/auto/language/testdata/erroneous/modules/module-a/module-a.qbs
index e0f24191c..e4ebde40c 100644
--- a/tests/auto/language/testdata/erroneous/modules/module-a/module-a.qbs
+++ b/tests/auto/language/testdata/erroneous/modules/module-a/module-a.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
Depends { name: "module-b" }
}
diff --git a/tests/auto/language/testdata/erroneous/modules/module-b/module-b.qbs b/tests/auto/language/testdata/erroneous/modules/module-b/module-b.qbs
index fe3eb2b1e..482cdb131 100644
--- a/tests/auto/language/testdata/erroneous/modules/module-b/module-b.qbs
+++ b/tests/auto/language/testdata/erroneous/modules/module-b/module-b.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
Depends { name: "module-a" }
}
diff --git a/tests/auto/language/testdata/erroneous/modules/module-with-product-dependency/module-with-product-dependency.qbs b/tests/auto/language/testdata/erroneous/modules/module-with-product-dependency/module-with-product-dependency.qbs
index c5fa5c06e..5781bd6de 100644
--- a/tests/auto/language/testdata/erroneous/modules/module-with-product-dependency/module-with-product-dependency.qbs
+++ b/tests/auto/language/testdata/erroneous/modules/module-with-product-dependency/module-with-product-dependency.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
Depends { name: "p2" }
}
diff --git a/tests/auto/language/testdata/erroneous/modules/module-with-wrong-property-option/m.qbs b/tests/auto/language/testdata/erroneous/modules/module-with-wrong-property-option/m.qbs
index 8ea67f2c5..fb5c86553 100644
--- a/tests/auto/language/testdata/erroneous/modules/module-with-wrong-property-option/m.qbs
+++ b/tests/auto/language/testdata/erroneous/modules/module-with-wrong-property-option/m.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
property string someProp
PropertyOptions {
diff --git a/tests/auto/language/testdata/erroneous/modules/no_such_property/no-such-property.qbs b/tests/auto/language/testdata/erroneous/modules/no_such_property/no-such-property.qbs
index c836eafdf..a9d64f176 100644
--- a/tests/auto/language/testdata/erroneous/modules/no_such_property/no-such-property.qbs
+++ b/tests/auto/language/testdata/erroneous/modules/no_such_property/no-such-property.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
Depends { name: "module_with_parameters" }
module_with_parameters.noSuchProperty: true
diff --git a/tests/auto/language/testdata/erroneous/modules/prefix1/prefix1.qbs b/tests/auto/language/testdata/erroneous/modules/prefix1/prefix1.qbs
index 3e67ba10d..84957060c 100644
--- a/tests/auto/language/testdata/erroneous/modules/prefix1/prefix1.qbs
+++ b/tests/auto/language/testdata/erroneous/modules/prefix1/prefix1.qbs
@@ -1,4 +1,2 @@
-import qbs
-
Module {
}
diff --git a/tests/auto/language/testdata/erroneous/modules/prefix1/suffix/suffix.qbs b/tests/auto/language/testdata/erroneous/modules/prefix1/suffix/suffix.qbs
index 394794769..218a4feb7 100644
--- a/tests/auto/language/testdata/erroneous/modules/prefix1/suffix/suffix.qbs
+++ b/tests/auto/language/testdata/erroneous/modules/prefix1/suffix/suffix.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
Depends { name: "prefix1" }
}
diff --git a/tests/auto/language/testdata/erroneous/modules/prefix2/prefix2.qbs b/tests/auto/language/testdata/erroneous/modules/prefix2/prefix2.qbs
index bda21b8d5..a5aaa6f8b 100644
--- a/tests/auto/language/testdata/erroneous/modules/prefix2/prefix2.qbs
+++ b/tests/auto/language/testdata/erroneous/modules/prefix2/prefix2.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
Depends { name: "prefix2.suffix" }
}
diff --git a/tests/auto/language/testdata/erroneous/modules/prefix2/suffix/suffix.qbs b/tests/auto/language/testdata/erroneous/modules/prefix2/suffix/suffix.qbs
index 3e67ba10d..84957060c 100644
--- a/tests/auto/language/testdata/erroneous/modules/prefix2/suffix/suffix.qbs
+++ b/tests/auto/language/testdata/erroneous/modules/prefix2/suffix/suffix.qbs
@@ -1,4 +1,2 @@
-import qbs
-
Module {
}
diff --git a/tests/auto/language/testdata/erroneous/modules/readonly/readonly.qbs b/tests/auto/language/testdata/erroneous/modules/readonly/readonly.qbs
index 07ff9b5c5..da3990dbb 100644
--- a/tests/auto/language/testdata/erroneous/modules/readonly/readonly.qbs
+++ b/tests/auto/language/testdata/erroneous/modules/readonly/readonly.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
readonly property string readOnlyString: "I cannot be changed!"
}
diff --git a/tests/auto/language/testdata/erroneous/multiple_properties_in_subproject.qbs b/tests/auto/language/testdata/erroneous/multiple_properties_in_subproject.qbs
index 0ecb41b34..04c5fe77f 100644
--- a/tests/auto/language/testdata/erroneous/multiple_properties_in_subproject.qbs
+++ b/tests/auto/language/testdata/erroneous/multiple_properties_in_subproject.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
SubProject {
Properties { condition: false }
diff --git a/tests/auto/language/testdata/erroneous/no-configure-in-probe.qbs b/tests/auto/language/testdata/erroneous/no-configure-in-probe.qbs
index a4aa3d957..42a36c21f 100644
--- a/tests/auto/language/testdata/erroneous/no-configure-in-probe.qbs
+++ b/tests/auto/language/testdata/erroneous/no-configure-in-probe.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
Probe {
id: hurz
diff --git a/tests/auto/language/testdata/erroneous/nonexistentouter.qbs b/tests/auto/language/testdata/erroneous/nonexistentouter.qbs
index 6c5899b5d..fb7de461a 100644
--- a/tests/auto/language/testdata/erroneous/nonexistentouter.qbs
+++ b/tests/auto/language/testdata/erroneous/nonexistentouter.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
Product {
name: outer
diff --git a/tests/auto/language/testdata/erroneous/oldQbsVersion.qbs b/tests/auto/language/testdata/erroneous/oldQbsVersion.qbs
index fb0915d83..90658e976 100644
--- a/tests/auto/language/testdata/erroneous/oldQbsVersion.qbs
+++ b/tests/auto/language/testdata/erroneous/oldQbsVersion.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
minimumQbsVersion: "999.5.4"
Product {
diff --git a/tests/auto/language/testdata/erroneous/original-in-product-property.qbs b/tests/auto/language/testdata/erroneous/original-in-product-property.qbs
index 867f3e0e7..cbc1cbe14 100644
--- a/tests/auto/language/testdata/erroneous/original-in-product-property.qbs
+++ b/tests/auto/language/testdata/erroneous/original-in-product-property.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
property int n: original
}
diff --git a/tests/auto/language/testdata/erroneous/overwrite-inherited-readonly-property.qbs b/tests/auto/language/testdata/erroneous/overwrite-inherited-readonly-property.qbs
index 629f39ae4..35b238a41 100644
--- a/tests/auto/language/testdata/erroneous/overwrite-inherited-readonly-property.qbs
+++ b/tests/auto/language/testdata/erroneous/overwrite-inherited-readonly-property.qbs
@@ -1,5 +1,3 @@
-import qbs
-
ParentItem {
readOnlyString: "changing the unchangeable"
}
diff --git a/tests/auto/language/testdata/erroneous/overwrite-readonly-module-property.qbs b/tests/auto/language/testdata/erroneous/overwrite-readonly-module-property.qbs
index 3e2f6927d..6b400a5e0 100644
--- a/tests/auto/language/testdata/erroneous/overwrite-readonly-module-property.qbs
+++ b/tests/auto/language/testdata/erroneous/overwrite-readonly-module-property.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
Depends { name: "readonly" }
readonly.readOnlyString: "changing the unchangeable"
diff --git a/tests/auto/language/testdata/erroneous/properties-item-with-invalid-condition.qbs b/tests/auto/language/testdata/erroneous/properties-item-with-invalid-condition.qbs
index 00e3267c2..5b1a41f1b 100644
--- a/tests/auto/language/testdata/erroneous/properties-item-with-invalid-condition.qbs
+++ b/tests/auto/language/testdata/erroneous/properties-item-with-invalid-condition.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
Depends { name: "cpp" }
Properties {
diff --git a/tests/auto/language/testdata/erroneous/references_cycle.qbs b/tests/auto/language/testdata/erroneous/references_cycle.qbs
index 6d0960f09..2dba23003 100644
--- a/tests/auto/language/testdata/erroneous/references_cycle.qbs
+++ b/tests/auto/language/testdata/erroneous/references_cycle.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
references: ["references_cycle2.qbs"]
}
diff --git a/tests/auto/language/testdata/erroneous/references_cycle2.qbs b/tests/auto/language/testdata/erroneous/references_cycle2.qbs
index 0b0d2734d..20a48a106 100644
--- a/tests/auto/language/testdata/erroneous/references_cycle2.qbs
+++ b/tests/auto/language/testdata/erroneous/references_cycle2.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
references: ["references_cycle3.qbs"]
}
diff --git a/tests/auto/language/testdata/erroneous/references_cycle3.qbs b/tests/auto/language/testdata/erroneous/references_cycle3.qbs
index 2a237d154..9af06d473 100644
--- a/tests/auto/language/testdata/erroneous/references_cycle3.qbs
+++ b/tests/auto/language/testdata/erroneous/references_cycle3.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
references: ["references_cycle.qbs"]
}
diff --git a/tests/auto/language/testdata/erroneous/reserved_name_in_import.qbs b/tests/auto/language/testdata/erroneous/reserved_name_in_import.qbs
index 3940109d0..d688556a5 100644
--- a/tests/auto/language/testdata/erroneous/reserved_name_in_import.qbs
+++ b/tests/auto/language/testdata/erroneous/reserved_name_in_import.qbs
@@ -1,4 +1,3 @@
-import qbs
import "../idusagebase.qbs" as TextFile
Product { }
diff --git a/tests/auto/language/testdata/erroneous/rule-without-output-tags.qbs b/tests/auto/language/testdata/erroneous/rule-without-output-tags.qbs
new file mode 100644
index 000000000..a05800e81
--- /dev/null
+++ b/tests/auto/language/testdata/erroneous/rule-without-output-tags.qbs
@@ -0,0 +1,11 @@
+Product {
+ Rule {
+ inputs: "input-tag"
+ prepare: {
+ var cmd = new JavaScriptCommand;
+ cmd.silent = true;
+ cmd.sourceCode = function() {};
+ return cmd;
+ }
+ }
+}
diff --git a/tests/auto/language/testdata/erroneous/same-module-prefix1.qbs b/tests/auto/language/testdata/erroneous/same-module-prefix1.qbs
index a5275eb15..8aba31c2a 100644
--- a/tests/auto/language/testdata/erroneous/same-module-prefix1.qbs
+++ b/tests/auto/language/testdata/erroneous/same-module-prefix1.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
Depends { name: "prefix1.suffix" }
}
diff --git a/tests/auto/language/testdata/erroneous/same-module-prefix2.qbs b/tests/auto/language/testdata/erroneous/same-module-prefix2.qbs
index 3c4ec02a4..6679091c2 100644
--- a/tests/auto/language/testdata/erroneous/same-module-prefix2.qbs
+++ b/tests/auto/language/testdata/erroneous/same-module-prefix2.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
Depends { name: "prefix2" }
}
diff --git a/tests/auto/language/testdata/erroneous/subproject_cycle.qbs b/tests/auto/language/testdata/erroneous/subproject_cycle.qbs
index 0a9cd289f..ff1904ab5 100644
--- a/tests/auto/language/testdata/erroneous/subproject_cycle.qbs
+++ b/tests/auto/language/testdata/erroneous/subproject_cycle.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
SubProject {
filePath: "subproject_cycle2.qbs"
diff --git a/tests/auto/language/testdata/erroneous/subproject_cycle2.qbs b/tests/auto/language/testdata/erroneous/subproject_cycle2.qbs
index ab92d76dd..2fe735714 100644
--- a/tests/auto/language/testdata/erroneous/subproject_cycle2.qbs
+++ b/tests/auto/language/testdata/erroneous/subproject_cycle2.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
SubProject {
filePath: "subproject_cycle3.qbs"
diff --git a/tests/auto/language/testdata/erroneous/subproject_cycle3.qbs b/tests/auto/language/testdata/erroneous/subproject_cycle3.qbs
index af1e50f5a..288922127 100644
--- a/tests/auto/language/testdata/erroneous/subproject_cycle3.qbs
+++ b/tests/auto/language/testdata/erroneous/subproject_cycle3.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
SubProject {
filePath: "subproject_cycle.qbs"
diff --git a/tests/auto/language/testdata/erroneous/syntax-error-in-probe.qbs b/tests/auto/language/testdata/erroneous/syntax-error-in-probe.qbs
index e81274395..a1f1c74ae 100644
--- a/tests/auto/language/testdata/erroneous/syntax-error-in-probe.qbs
+++ b/tests/auto/language/testdata/erroneous/syntax-error-in-probe.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
Probe {
id: hurz
diff --git a/tests/auto/language/testdata/erroneous/throw_in_property_binding.qbs b/tests/auto/language/testdata/erroneous/throw_in_property_binding.qbs
index fc251b1a4..88deb2299 100644
--- a/tests/auto/language/testdata/erroneous/throw_in_property_binding.qbs
+++ b/tests/auto/language/testdata/erroneous/throw_in_property_binding.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Product {
name: {
throw "something is wrong";
diff --git a/tests/auto/language/testdata/erroneous/undeclared-parameter1.qbs b/tests/auto/language/testdata/erroneous/undeclared-parameter1.qbs
index 14f141678..fb858ef80 100644
--- a/tests/auto/language/testdata/erroneous/undeclared-parameter1.qbs
+++ b/tests/auto/language/testdata/erroneous/undeclared-parameter1.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
Depends { name: "prefix2.suffix" }
Depends { name: "readonly"; prefix2.suffix.nope: "nope" }
diff --git a/tests/auto/language/testdata/erroneous/undeclared-parameter2.qbs b/tests/auto/language/testdata/erroneous/undeclared-parameter2.qbs
index 074acc1a3..6fe2ce51b 100644
--- a/tests/auto/language/testdata/erroneous/undeclared-parameter2.qbs
+++ b/tests/auto/language/testdata/erroneous/undeclared-parameter2.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
name: "myproduct"
Depends { name: "readonly"; foo.bar: "bla" }
diff --git a/tests/auto/language/testdata/erroneous/undeclared_item.qbs b/tests/auto/language/testdata/erroneous/undeclared_item.qbs
index b2edbf013..ab25735b7 100644
--- a/tests/auto/language/testdata/erroneous/undeclared_item.qbs
+++ b/tests/auto/language/testdata/erroneous/undeclared_item.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Product {
cpp.defines: ["SUPERCRAZY"]
}
diff --git a/tests/auto/language/testdata/erroneous/undeclared_module_property_in_module.qbs b/tests/auto/language/testdata/erroneous/undeclared_module_property_in_module.qbs
index 092bf143d..421302f22 100644
--- a/tests/auto/language/testdata/erroneous/undeclared_module_property_in_module.qbs
+++ b/tests/auto/language/testdata/erroneous/undeclared_module_property_in_module.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
name: "p"
Depends { name: "no_such_property" }
diff --git a/tests/auto/language/testdata/erroneous/undeclared_property.qbs b/tests/auto/language/testdata/erroneous/undeclared_property.qbs
index 1dad5f747..a16ab3b93 100644
--- a/tests/auto/language/testdata/erroneous/undeclared_property.qbs
+++ b/tests/auto/language/testdata/erroneous/undeclared_property.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Product {
doesntexist: 123
}
diff --git a/tests/auto/language/testdata/erroneous/undeclared_property_in_Properties_item.qbs b/tests/auto/language/testdata/erroneous/undeclared_property_in_Properties_item.qbs
index d9bd00ce7..814513b10 100644
--- a/tests/auto/language/testdata/erroneous/undeclared_property_in_Properties_item.qbs
+++ b/tests/auto/language/testdata/erroneous/undeclared_property_in_Properties_item.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
Properties {
condition: true
diff --git a/tests/auto/language/testdata/erroneous/undeclared_property_in_export_item.qbs b/tests/auto/language/testdata/erroneous/undeclared_property_in_export_item.qbs
index e5fc74b74..badfc7bf3 100644
--- a/tests/auto/language/testdata/erroneous/undeclared_property_in_export_item.qbs
+++ b/tests/auto/language/testdata/erroneous/undeclared_property_in_export_item.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Product {
name: "p1"
diff --git a/tests/auto/language/testdata/erroneous/undeclared_property_in_export_item2.qbs b/tests/auto/language/testdata/erroneous/undeclared_property_in_export_item2.qbs
index 1cb4c42ee..82258ec0f 100644
--- a/tests/auto/language/testdata/erroneous/undeclared_property_in_export_item2.qbs
+++ b/tests/auto/language/testdata/erroneous/undeclared_property_in_export_item2.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Product {
name: "p1"
diff --git a/tests/auto/language/testdata/erroneous/undeclared_property_in_export_item3.qbs b/tests/auto/language/testdata/erroneous/undeclared_property_in_export_item3.qbs
index cd23aefe4..ddeaf01db 100644
--- a/tests/auto/language/testdata/erroneous/undeclared_property_in_export_item3.qbs
+++ b/tests/auto/language/testdata/erroneous/undeclared_property_in_export_item3.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Product {
name: "p1"
diff --git a/tests/auto/language/testdata/erroneous/undeclared_property_wrapper.qbs b/tests/auto/language/testdata/erroneous/undeclared_property_wrapper.qbs
index a5d9b19b3..9ab750765 100644
--- a/tests/auto/language/testdata/erroneous/undeclared_property_wrapper.qbs
+++ b/tests/auto/language/testdata/erroneous/undeclared_property_wrapper.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
SubProject {
filePath: "undeclared_property.qbs"
diff --git a/tests/auto/language/testdata/erroneous/wrong-toplevel-item.qbs b/tests/auto/language/testdata/erroneous/wrong-toplevel-item.qbs
index 57e60ba4a..b441c2eaf 100644
--- a/tests/auto/language/testdata/erroneous/wrong-toplevel-item.qbs
+++ b/tests/auto/language/testdata/erroneous/wrong-toplevel-item.qbs
@@ -1,4 +1,2 @@
-import qbs
-
Artifact {
}
diff --git a/tests/auto/language/testdata/erroneous/wrongQbsVersionFormat.qbs b/tests/auto/language/testdata/erroneous/wrongQbsVersionFormat.qbs
index 36c9fea7c..41b195e75 100644
--- a/tests/auto/language/testdata/erroneous/wrongQbsVersionFormat.qbs
+++ b/tests/auto/language/testdata/erroneous/wrongQbsVersionFormat.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
minimumQbsVersion: "hfyh1234wat?"
}
diff --git a/tests/auto/language/testdata/error-in-disabled-product.qbs b/tests/auto/language/testdata/error-in-disabled-product.qbs
index 9f9b458a5..1d13412e1 100644
--- a/tests/auto/language/testdata/error-in-disabled-product.qbs
+++ b/tests/auto/language/testdata/error-in-disabled-product.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Product {
name: "a"
diff --git a/tests/auto/language/testdata/exports.qbs b/tests/auto/language/testdata/exports.qbs
index 3f4e3cf49..cc86b1e4a 100644
--- a/tests/auto/language/testdata/exports.qbs
+++ b/tests/auto/language/testdata/exports.qbs
@@ -1,4 +1,3 @@
-import qbs 1.0
import "exports_product.qbs" as ProductWithInheritedExportItem
Project {
diff --git a/tests/auto/language/testdata/filetags.qbs b/tests/auto/language/testdata/filetags.qbs
index b2a85f953..d055b7b1a 100644
--- a/tests/auto/language/testdata/filetags.qbs
+++ b/tests/auto/language/testdata/filetags.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
FileTagger {
patterns: "*.cpp"
diff --git a/tests/auto/language/testdata/groupconditions.qbs b/tests/auto/language/testdata/groupconditions.qbs
index 244c80c2c..b7f383d45 100644
--- a/tests/auto/language/testdata/groupconditions.qbs
+++ b/tests/auto/language/testdata/groupconditions.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
property bool someTrueProperty: true
Product {
diff --git a/tests/auto/language/testdata/homeDirectory.qbs b/tests/auto/language/testdata/homeDirectory.qbs
index 1ceeb5bbd..f04c173b9 100644
--- a/tests/auto/language/testdata/homeDirectory.qbs
+++ b/tests/auto/language/testdata/homeDirectory.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
Product {
name: "home"
diff --git a/tests/auto/language/testdata/id-uniqueness.qbs b/tests/auto/language/testdata/id-uniqueness.qbs
index cfbaf8548..9f1bb7016 100644
--- a/tests/auto/language/testdata/id-uniqueness.qbs
+++ b/tests/auto/language/testdata/id-uniqueness.qbs
@@ -1,4 +1,3 @@
-import qbs 1.0
import "idusagebase.qbs" as DerivedProduct
Project {
diff --git a/tests/auto/language/testdata/idusage.qbs b/tests/auto/language/testdata/idusage.qbs
index c55b47234..9a070cea6 100644
--- a/tests/auto/language/testdata/idusage.qbs
+++ b/tests/auto/language/testdata/idusage.qbs
@@ -1,4 +1,3 @@
-import qbs 1.0
import "idusagebase.qbs" as DerivedProduct
Project {
diff --git a/tests/auto/language/testdata/import-collection/project.qbs b/tests/auto/language/testdata/import-collection/project.qbs
index ee34869b4..056cb3b4d 100644
--- a/tests/auto/language/testdata/import-collection/project.qbs
+++ b/tests/auto/language/testdata/import-collection/project.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
references: ["product.qbs"]
}
diff --git a/tests/auto/language/testdata/invalid-overrides.qbs b/tests/auto/language/testdata/invalid-overrides.qbs
index 93e6c34c8..af113ec13 100644
--- a/tests/auto/language/testdata/invalid-overrides.qbs
+++ b/tests/auto/language/testdata/invalid-overrides.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
name: "My.Project"
property bool x
diff --git a/tests/auto/language/testdata/invalidBindingInDisabledItem.qbs b/tests/auto/language/testdata/invalidBindingInDisabledItem.qbs
index e3e03a319..80895a515 100644
--- a/tests/auto/language/testdata/invalidBindingInDisabledItem.qbs
+++ b/tests/auto/language/testdata/invalidBindingInDisabledItem.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
Product {
name: "product1"
diff --git a/tests/auto/language/testdata/module-merging-variant-values/module-merging-variant-values.qbs b/tests/auto/language/testdata/module-merging-variant-values/module-merging-variant-values.qbs
index e4bf0ad4f..c633dcc45 100644
--- a/tests/auto/language/testdata/module-merging-variant-values/module-merging-variant-values.qbs
+++ b/tests/auto/language/testdata/module-merging-variant-values/module-merging-variant-values.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
multiplexByQbsProperties: ["architectures"]
qbs.architectures: ["a1", "a2"]
diff --git a/tests/auto/language/testdata/module-prioritization-by-search-path/product.qbs b/tests/auto/language/testdata/module-prioritization-by-search-path/product.qbs
index 28033b174..62a08f028 100644
--- a/tests/auto/language/testdata/module-prioritization-by-search-path/product.qbs
+++ b/tests/auto/language/testdata/module-prioritization-by-search-path/product.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
Depends { name: "conflicting-instances" }
}
diff --git a/tests/auto/language/testdata/module-prioritization-by-search-path/project.qbs b/tests/auto/language/testdata/module-prioritization-by-search-path/project.qbs
index 113a5773c..af1fe0e53 100644
--- a/tests/auto/language/testdata/module-prioritization-by-search-path/project.qbs
+++ b/tests/auto/language/testdata/module-prioritization-by-search-path/project.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
references: ["product.qbs"]
}
diff --git a/tests/auto/language/testdata/module-property-overrides-per-product.qbs b/tests/auto/language/testdata/module-property-overrides-per-product.qbs
index 3ff811080..88fee111a 100644
--- a/tests/auto/language/testdata/module-property-overrides-per-product.qbs
+++ b/tests/auto/language/testdata/module-property-overrides-per-product.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Product {
Depends { name: "dummy" }
diff --git a/tests/auto/language/testdata/moduleproperties.qbs b/tests/auto/language/testdata/moduleproperties.qbs
index d1c7e4e7f..8c9d57f16 100644
--- a/tests/auto/language/testdata/moduleproperties.qbs
+++ b/tests/auto/language/testdata/moduleproperties.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
name: "MyProject"
property string projectName: name
diff --git a/tests/auto/language/testdata/modulepropertiesingroups.qbs b/tests/auto/language/testdata/modulepropertiesingroups.qbs
index 5a1e75ab8..e3857bdf4 100644
--- a/tests/auto/language/testdata/modulepropertiesingroups.qbs
+++ b/tests/auto/language/testdata/modulepropertiesingroups.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
Product {
name: "grouptest"
diff --git a/tests/auto/language/testdata/modules/dummy2/dummy2.qbs b/tests/auto/language/testdata/modules/dummy2/dummy2.qbs
index b4a223c19..9e47ee7d2 100644
--- a/tests/auto/language/testdata/modules/dummy2/dummy2.qbs
+++ b/tests/auto/language/testdata/modules/dummy2/dummy2.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Module {
additionalProductTypes: ["tag3"]
diff --git a/tests/auto/language/testdata/modules/dummy3_loader/dummy3_loader.qbs b/tests/auto/language/testdata/modules/dummy3_loader/dummy3_loader.qbs
index 988f86f11..fc4a3d6b8 100644
--- a/tests/auto/language/testdata/modules/dummy3_loader/dummy3_loader.qbs
+++ b/tests/auto/language/testdata/modules/dummy3_loader/dummy3_loader.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Module {
Depends { name: "dummy3" }
dummy3.loadDummy: true
diff --git a/tests/auto/language/testdata/modules/dummyqt/core/dummycore.qbs b/tests/auto/language/testdata/modules/dummyqt/core/dummycore.qbs
index c6ec74003..746c7e37b 100644
--- a/tests/auto/language/testdata/modules/dummyqt/core/dummycore.qbs
+++ b/tests/auto/language/testdata/modules/dummyqt/core/dummycore.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Module {
id: qtcore
property int versionMajor: 5
diff --git a/tests/auto/language/testdata/modules/dummyqt/gui/dummygui.qbs b/tests/auto/language/testdata/modules/dummyqt/gui/dummygui.qbs
index 52dc82d23..b65d5ca14 100644
--- a/tests/auto/language/testdata/modules/dummyqt/gui/dummygui.qbs
+++ b/tests/auto/language/testdata/modules/dummyqt/gui/dummygui.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Module {
Depends { name: "dummyqt.core" }
property string guiProperty: "guiProperty"
diff --git a/tests/auto/language/testdata/modules/dummyqt/network/dummynetwork.qbs b/tests/auto/language/testdata/modules/dummyqt/network/dummynetwork.qbs
index 2da3af050..8a685b9a7 100644
--- a/tests/auto/language/testdata/modules/dummyqt/network/dummynetwork.qbs
+++ b/tests/auto/language/testdata/modules/dummyqt/network/dummynetwork.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Module {
Depends { name: "dummyqt"; submodules: ["core"] }
property string networkProperty: "networkProperty"
diff --git a/tests/auto/language/testdata/modules/gmod/gmod1/gmod1.qbs b/tests/auto/language/testdata/modules/gmod/gmod1/gmod1.qbs
index d3bb92fff..9a9c60871 100644
--- a/tests/auto/language/testdata/modules/gmod/gmod1/gmod1.qbs
+++ b/tests/auto/language/testdata/modules/gmod/gmod1/gmod1.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
Depends { name: "gmod2" }
Depends { name: "gmod4" }
diff --git a/tests/auto/language/testdata/modules/gmod2/gmod2.qbs b/tests/auto/language/testdata/modules/gmod2/gmod2.qbs
index e221f50b2..dbaad572e 100644
--- a/tests/auto/language/testdata/modules/gmod2/gmod2.qbs
+++ b/tests/auto/language/testdata/modules/gmod2/gmod2.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
property int prop: 0
property string gmod2_string: "gmod2_string_proto"
diff --git a/tests/auto/language/testdata/modules/gmod3/qmod3.qbs b/tests/auto/language/testdata/modules/gmod3/qmod3.qbs
index 1c8704b5d..dfd9c8c7b 100644
--- a/tests/auto/language/testdata/modules/gmod3/qmod3.qbs
+++ b/tests/auto/language/testdata/modules/gmod3/qmod3.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
Depends { name: "gmod2" }
property string gmod3_string: "gmod3_string_proto"
diff --git a/tests/auto/language/testdata/modules/gmod4/gmod4.qbs b/tests/auto/language/testdata/modules/gmod4/gmod4.qbs
index c06f4e965..47c0b7517 100644
--- a/tests/auto/language/testdata/modules/gmod4/gmod4.qbs
+++ b/tests/auto/language/testdata/modules/gmod4/gmod4.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
Depends { name: "gmod2" }
Depends { name: "gmod3" }
diff --git a/tests/auto/language/testdata/modules/multiple_backends/backend1.qbs b/tests/auto/language/testdata/modules/multiple_backends/backend1.qbs
index 011f96af8..794c67827 100644
--- a/tests/auto/language/testdata/modules/multiple_backends/backend1.qbs
+++ b/tests/auto/language/testdata/modules/multiple_backends/backend1.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
condition: qbs.targetOS.contains("os1")
property string prop: "backend 1"
diff --git a/tests/auto/language/testdata/modules/multiple_backends/backend2.qbs b/tests/auto/language/testdata/modules/multiple_backends/backend2.qbs
index 93532005e..2073c4d0b 100644
--- a/tests/auto/language/testdata/modules/multiple_backends/backend2.qbs
+++ b/tests/auto/language/testdata/modules/multiple_backends/backend2.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
condition: qbs.targetOS.contains("os2")
property string prop: "backend 2"
diff --git a/tests/auto/language/testdata/modules/multiple_backends/backend3.qbs b/tests/auto/language/testdata/modules/multiple_backends/backend3.qbs
index fda80b4ad..16228108b 100644
--- a/tests/auto/language/testdata/modules/multiple_backends/backend3.qbs
+++ b/tests/auto/language/testdata/modules/multiple_backends/backend3.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
condition: qbs.targetOS.contains("os2") && qbs.toolchain.contains("tc")
priority: 1
diff --git a/tests/auto/language/testdata/modules/scopemod/scopemod.qbs b/tests/auto/language/testdata/modules/scopemod/scopemod.qbs
index ba7dbcbf0..a2c611dde 100644
--- a/tests/auto/language/testdata/modules/scopemod/scopemod.qbs
+++ b/tests/auto/language/testdata/modules/scopemod/scopemod.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Module {
property int a: 1
property int b: 1
diff --git a/tests/auto/language/testdata/modulescope.qbs b/tests/auto/language/testdata/modulescope.qbs
index c127f0c61..c3c9db5d9 100644
--- a/tests/auto/language/testdata/modulescope.qbs
+++ b/tests/auto/language/testdata/modulescope.qbs
@@ -1,4 +1,3 @@
-import qbs 1.0
import "modulescope_base.qbs" as MyProduct
Project {
diff --git a/tests/auto/language/testdata/modulescope_base.qbs b/tests/auto/language/testdata/modulescope_base.qbs
index 16a9875fa..85db4ec16 100644
--- a/tests/auto/language/testdata/modulescope_base.qbs
+++ b/tests/auto/language/testdata/modulescope_base.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Product {
Depends { name: "scopemod" }
scopemod.h: e * f
diff --git a/tests/auto/language/testdata/multiplexed-exports.qbs b/tests/auto/language/testdata/multiplexed-exports.qbs
index 923ddc2ab..f98ceff95 100644
--- a/tests/auto/language/testdata/multiplexed-exports.qbs
+++ b/tests/auto/language/testdata/multiplexed-exports.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Product {
name: "dep"
diff --git a/tests/auto/language/testdata/multiplexing-by-profile/p1.qbs b/tests/auto/language/testdata/multiplexing-by-profile/p1.qbs
index 207b5df61..b7abd942a 100644
--- a/tests/auto/language/testdata/multiplexing-by-profile/p1.qbs
+++ b/tests/auto/language/testdata/multiplexing-by-profile/p1.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Profile {
name: "theProfile"
diff --git a/tests/auto/language/testdata/multiplexing-by-profile/p2.qbs b/tests/auto/language/testdata/multiplexing-by-profile/p2.qbs
index 13db0afd7..94a0e4769 100644
--- a/tests/auto/language/testdata/multiplexing-by-profile/p2.qbs
+++ b/tests/auto/language/testdata/multiplexing-by-profile/p2.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Profile {
name: "profile1"
diff --git a/tests/auto/language/testdata/multiplexing-by-profile/p3.qbs b/tests/auto/language/testdata/multiplexing-by-profile/p3.qbs
index 4c01e7c46..49f998826 100644
--- a/tests/auto/language/testdata/multiplexing-by-profile/p3.qbs
+++ b/tests/auto/language/testdata/multiplexing-by-profile/p3.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Profile {
name: "profile1"
diff --git a/tests/auto/language/testdata/multiplexing-by-profile/p4.qbs b/tests/auto/language/testdata/multiplexing-by-profile/p4.qbs
index 84695e85d..c71b78b98 100644
--- a/tests/auto/language/testdata/multiplexing-by-profile/p4.qbs
+++ b/tests/auto/language/testdata/multiplexing-by-profile/p4.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Profile {
name: "profile1"
diff --git a/tests/auto/language/testdata/non-required-products.qbs b/tests/auto/language/testdata/non-required-products.qbs
index fb21e609e..6fc2cfe16 100644
--- a/tests/auto/language/testdata/non-required-products.qbs
+++ b/tests/auto/language/testdata/non-required-products.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Product {
name: "depender"
diff --git a/tests/auto/language/testdata/outerInGroup.qbs b/tests/auto/language/testdata/outerInGroup.qbs
index 751392a4d..21136225a 100644
--- a/tests/auto/language/testdata/outerInGroup.qbs
+++ b/tests/auto/language/testdata/outerInGroup.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
Product {
name: "OuterInGroup"
diff --git a/tests/auto/language/testdata/overridden-properties-and-prototypes.qbs b/tests/auto/language/testdata/overridden-properties-and-prototypes.qbs
index b0b37d804..0f6a1f812 100644
--- a/tests/auto/language/testdata/overridden-properties-and-prototypes.qbs
+++ b/tests/auto/language/testdata/overridden-properties-and-prototypes.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
name: "p"
Depends { name: "multiple_backends" }
diff --git a/tests/auto/language/testdata/parameter-types.qbs b/tests/auto/language/testdata/parameter-types.qbs
index 6406d56c9..16415179f 100644
--- a/tests/auto/language/testdata/parameter-types.qbs
+++ b/tests/auto/language/testdata/parameter-types.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Product {
name: "foo"
diff --git a/tests/auto/language/testdata/productconditions.qbs b/tests/auto/language/testdata/productconditions.qbs
index e815cc88e..bc3671134 100644
--- a/tests/auto/language/testdata/productconditions.qbs
+++ b/tests/auto/language/testdata/productconditions.qbs
@@ -1,4 +1,3 @@
-import qbs 1.0
import qbs.Probes
Project {
diff --git a/tests/auto/language/testdata/productdirectories.qbs b/tests/auto/language/testdata/productdirectories.qbs
index dc4315207..ec24352a2 100644
--- a/tests/auto/language/testdata/productdirectories.qbs
+++ b/tests/auto/language/testdata/productdirectories.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Product {
name: "MyApp"
}
diff --git a/tests/auto/language/testdata/profilevaluesandoverriddenvalues.qbs b/tests/auto/language/testdata/profilevaluesandoverriddenvalues.qbs
index 1cb88e18f..3aaa0cfa9 100644
--- a/tests/auto/language/testdata/profilevaluesandoverriddenvalues.qbs
+++ b/tests/auto/language/testdata/profilevaluesandoverriddenvalues.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Project {
Application {
name: "product1"
diff --git a/tests/auto/language/testdata/properties-block-in-group.qbs b/tests/auto/language/testdata/properties-block-in-group.qbs
index c2bfea0a8..b77de7c6b 100644
--- a/tests/auto/language/testdata/properties-block-in-group.qbs
+++ b/tests/auto/language/testdata/properties-block-in-group.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
name: "in-group"
property bool featureEnabled: true
diff --git a/tests/auto/language/testdata/properties-item-in-module.qbs b/tests/auto/language/testdata/properties-item-in-module.qbs
index 53c765d49..60f3afea0 100644
--- a/tests/auto/language/testdata/properties-item-in-module.qbs
+++ b/tests/auto/language/testdata/properties-item-in-module.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Product { name: "a"; Depends { name: "dummyqt.core" } }
Product { name: "b"; Depends { name: "dummyqt.core" } }
diff --git a/tests/auto/language/testdata/propertiesblocks.qbs b/tests/auto/language/testdata/propertiesblocks.qbs
index d6a8dee23..34776cfac 100644
--- a/tests/auto/language/testdata/propertiesblocks.qbs
+++ b/tests/auto/language/testdata/propertiesblocks.qbs
@@ -1,4 +1,3 @@
-import qbs 1.0
import "propertiesblocks_base.qbs" as ProductBase
Project {
diff --git a/tests/auto/language/testdata/propertiesblocks_base.qbs b/tests/auto/language/testdata/propertiesblocks_base.qbs
index d68c5127f..be6e57d65 100644
--- a/tests/auto/language/testdata/propertiesblocks_base.qbs
+++ b/tests/auto/language/testdata/propertiesblocks_base.qbs
@@ -1,5 +1,3 @@
-import qbs 1.0
-
Product {
property bool defineBase: true
Depends { name: "dummy" }
diff --git a/tests/auto/language/testdata/property-assignment-in-exported-group.qbs b/tests/auto/language/testdata/property-assignment-in-exported-group.qbs
index d82f50ee6..7d48cf06d 100644
--- a/tests/auto/language/testdata/property-assignment-in-exported-group.qbs
+++ b/tests/auto/language/testdata/property-assignment-in-exported-group.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Product {
name: "dep"
diff --git a/tests/auto/language/testdata/qbs-properties-in-project-condition.qbs b/tests/auto/language/testdata/qbs-properties-in-project-condition.qbs
index d3aa2d2ad..31f648233 100644
--- a/tests/auto/language/testdata/qbs-properties-in-project-condition.qbs
+++ b/tests/auto/language/testdata/qbs-properties-in-project-condition.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
condition: qbs.targetOS.contains("whatever")
diff --git a/tests/auto/language/testdata/qbs-property-convenience-override.qbs b/tests/auto/language/testdata/qbs-property-convenience-override.qbs
index d4a8e7279..85f2d2327 100644
--- a/tests/auto/language/testdata/qbs-property-convenience-override.qbs
+++ b/tests/auto/language/testdata/qbs-property-convenience-override.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
name: "p"
qbs.installPrefix: "/usr/local"
diff --git a/tests/auto/language/testdata/qbs1275.qbs b/tests/auto/language/testdata/qbs1275.qbs
index 898e1f165..f88d62a71 100644
--- a/tests/auto/language/testdata/qbs1275.qbs
+++ b/tests/auto/language/testdata/qbs1275.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Product {
name: "v-bug"
diff --git a/tests/auto/language/testdata/recursive-dependencies/recursive-dependencies.qbs b/tests/auto/language/testdata/recursive-dependencies/recursive-dependencies.qbs
index 34d7089d3..e63ae5f5b 100644
--- a/tests/auto/language/testdata/recursive-dependencies/recursive-dependencies.qbs
+++ b/tests/auto/language/testdata/recursive-dependencies/recursive-dependencies.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Product {
name: "p1"
diff --git a/tests/auto/language/testdata/relaxed-error-mode/relaxed-error-mode.qbs b/tests/auto/language/testdata/relaxed-error-mode/relaxed-error-mode.qbs
index fa6190ca4..561cda098 100644
--- a/tests/auto/language/testdata/relaxed-error-mode/relaxed-error-mode.qbs
+++ b/tests/auto/language/testdata/relaxed-error-mode/relaxed-error-mode.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Product {
name: "recursive depender"
diff --git a/tests/auto/language/testdata/required-and-nonrequired-dependencies/complicated.qbs b/tests/auto/language/testdata/required-and-nonrequired-dependencies/complicated.qbs
index 2173948f9..2286c4c66 100644
--- a/tests/auto/language/testdata/required-and-nonrequired-dependencies/complicated.qbs
+++ b/tests/auto/language/testdata/required-and-nonrequired-dependencies/complicated.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
Depends { name: "failing-validation"; required: false }
Depends { name: "failing-validation-indirect" }
diff --git a/tests/auto/language/testdata/required-and-nonrequired-dependencies/dependency-via-export.qbs b/tests/auto/language/testdata/required-and-nonrequired-dependencies/dependency-via-export.qbs
index a4de65cbe..2998308d1 100644
--- a/tests/auto/language/testdata/required-and-nonrequired-dependencies/dependency-via-export.qbs
+++ b/tests/auto/language/testdata/required-and-nonrequired-dependencies/dependency-via-export.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Product {
name: "dep"
diff --git a/tests/auto/language/testdata/required-and-nonrequired-dependencies/dependency-via-module.qbs b/tests/auto/language/testdata/required-and-nonrequired-dependencies/dependency-via-module.qbs
index 74ab675e3..f279cbd87 100644
--- a/tests/auto/language/testdata/required-and-nonrequired-dependencies/dependency-via-module.qbs
+++ b/tests/auto/language/testdata/required-and-nonrequired-dependencies/dependency-via-module.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
Depends { name: "failing-validation"; required: false }
Depends { name: "failing-validation-indirect" }
diff --git a/tests/auto/language/testdata/required-and-nonrequired-dependencies/direct-dependencies.qbs b/tests/auto/language/testdata/required-and-nonrequired-dependencies/direct-dependencies.qbs
index cf2f0f245..671a19666 100644
--- a/tests/auto/language/testdata/required-and-nonrequired-dependencies/direct-dependencies.qbs
+++ b/tests/auto/language/testdata/required-and-nonrequired-dependencies/direct-dependencies.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
Depends { name: "failing-validation"; required: false }
Depends { name: "failing-validation" }
diff --git a/tests/auto/language/testdata/required-and-nonrequired-dependencies/modules/failing-validation-indirect/failing-validation-indirect.qbs b/tests/auto/language/testdata/required-and-nonrequired-dependencies/modules/failing-validation-indirect/failing-validation-indirect.qbs
index 45613b584..b715ae68c 100644
--- a/tests/auto/language/testdata/required-and-nonrequired-dependencies/modules/failing-validation-indirect/failing-validation-indirect.qbs
+++ b/tests/auto/language/testdata/required-and-nonrequired-dependencies/modules/failing-validation-indirect/failing-validation-indirect.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
Depends { name: "failing-validation" }
}
diff --git a/tests/auto/language/testdata/required-and-nonrequired-dependencies/modules/failing-validation/failing-validation.qbs b/tests/auto/language/testdata/required-and-nonrequired-dependencies/modules/failing-validation/failing-validation.qbs
index dcc650b93..f7fdc415f 100644
--- a/tests/auto/language/testdata/required-and-nonrequired-dependencies/modules/failing-validation/failing-validation.qbs
+++ b/tests/auto/language/testdata/required-and-nonrequired-dependencies/modules/failing-validation/failing-validation.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Module {
validate: { throw "validation error!"; }
}
diff --git a/tests/auto/language/testdata/required-and-nonrequired-dependencies/required-chain-export-indirect.qbs b/tests/auto/language/testdata/required-and-nonrequired-dependencies/required-chain-export-indirect.qbs
index 293f737c0..3b3d86e9d 100644
--- a/tests/auto/language/testdata/required-and-nonrequired-dependencies/required-chain-export-indirect.qbs
+++ b/tests/auto/language/testdata/required-and-nonrequired-dependencies/required-chain-export-indirect.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Product {
name: "dep2"
diff --git a/tests/auto/language/testdata/required-and-nonrequired-dependencies/required-chain-export.qbs b/tests/auto/language/testdata/required-and-nonrequired-dependencies/required-chain-export.qbs
index 6f2ec5566..19921c823 100644
--- a/tests/auto/language/testdata/required-and-nonrequired-dependencies/required-chain-export.qbs
+++ b/tests/auto/language/testdata/required-and-nonrequired-dependencies/required-chain-export.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
Product {
name: "dep"
diff --git a/tests/auto/language/testdata/required-and-nonrequired-dependencies/required-chain-module.qbs b/tests/auto/language/testdata/required-and-nonrequired-dependencies/required-chain-module.qbs
index ecc800e7b..262d5b6b6 100644
--- a/tests/auto/language/testdata/required-and-nonrequired-dependencies/required-chain-module.qbs
+++ b/tests/auto/language/testdata/required-and-nonrequired-dependencies/required-chain-module.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
Depends { name: "failing-validation"; required: false }
Depends { name: "failing-validation-indirect"; required: false }
diff --git a/tests/auto/language/testdata/rfc1034identifier.qbs b/tests/auto/language/testdata/rfc1034identifier.qbs
index eb73dc4d6..4d320f899 100644
--- a/tests/auto/language/testdata/rfc1034identifier.qbs
+++ b/tests/auto/language/testdata/rfc1034identifier.qbs
@@ -1,7 +1,9 @@
-import qbs
import qbs.Utilities
CppApplication {
name: Utilities.rfc1034Identifier("this!has@special#characters$uh-oh,Undersc0r3s_Are.Bad")
- bundle.infoPlist: { return {"CFBundleIdentifier": "$(PRODUCT_NAME:rfc1034identifier)"}; }
+ Properties {
+ condition: qbs.targetOS.contains("darwin")
+ bundle.infoPlist: { return {"CFBundleIdentifier": "$(PRODUCT_NAME:rfc1034identifier)"}; }
+ }
}
diff --git a/tests/auto/language/testdata/subdir/exports-mylib.qbs b/tests/auto/language/testdata/subdir/exports-mylib.qbs
index 51e5b6831..92f39483a 100644
--- a/tests/auto/language/testdata/subdir/exports-mylib.qbs
+++ b/tests/auto/language/testdata/subdir/exports-mylib.qbs
@@ -1,5 +1,3 @@
-import qbs
-
StaticLibrary {
name: "mylib"
Depends { name: "dummy" }
diff --git a/tests/auto/language/testdata/subdir2/exports-mylib2.qbs b/tests/auto/language/testdata/subdir2/exports-mylib2.qbs
index a0cec6eb0..ac8b9ebe4 100644
--- a/tests/auto/language/testdata/subdir2/exports-mylib2.qbs
+++ b/tests/auto/language/testdata/subdir2/exports-mylib2.qbs
@@ -1,5 +1,3 @@
-import qbs
-
StaticLibrary {
name: "mylib2"
Depends { name: "dummy" }
diff --git a/tests/auto/language/testdata/suppressed-and-non-suppressed-errors.qbs b/tests/auto/language/testdata/suppressed-and-non-suppressed-errors.qbs
index dd1794a6d..4d5219157 100644
--- a/tests/auto/language/testdata/suppressed-and-non-suppressed-errors.qbs
+++ b/tests/auto/language/testdata/suppressed-and-non-suppressed-errors.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Project {
CppApplication {
name: "mysterious creature"
diff --git a/tests/auto/language/testdata/throwing-probe.qbs b/tests/auto/language/testdata/throwing-probe.qbs
index 1fe059828..15a953251 100644
--- a/tests/auto/language/testdata/throwing-probe.qbs
+++ b/tests/auto/language/testdata/throwing-probe.qbs
@@ -1,5 +1,3 @@
-import qbs
-
Product {
name: "theProduct"
property bool enableProbe
diff --git a/tests/auto/language/testdata/versionCompare.qbs b/tests/auto/language/testdata/versionCompare.qbs
index 0a7271d14..8a363bf6e 100644
--- a/tests/auto/language/testdata/versionCompare.qbs
+++ b/tests/auto/language/testdata/versionCompare.qbs
@@ -1,4 +1,3 @@
-import qbs
import qbs.Utilities
Product {
diff --git a/tests/auto/language/tst_language.cpp b/tests/auto/language/tst_language.cpp
index fc16ca582..2bd5b5de8 100644
--- a/tests/auto/language/tst_language.cpp
+++ b/tests/auto/language/tst_language.cpp
@@ -820,7 +820,7 @@ void TestLanguage::erroneousFiles_data()
QTest::newRow("throw_in_property_binding")
<< "something is wrong";
QTest::newRow("no-configure-in-probe")
- << "no-configure-in-probe.qbs:4:5.*Probe.configure must be set";
+ << "no-configure-in-probe.qbs:2:5.*Probe.configure must be set";
QTest::newRow("dependency_cycle")
<< "Cyclic dependencies detected.";
QTest::newRow("dependency_cycle2")
@@ -864,18 +864,18 @@ void TestLanguage::erroneousFiles_data()
<< "Conflicting fileTagsFilter in Group items";
QTest::newRow("duplicate_sources")
<< "Duplicate source file '.*main.cpp'"
- ".*duplicate_sources.qbs:4:12.*duplicate_sources.qbs:6:16.";
+ ".*duplicate_sources.qbs:2:12.*duplicate_sources.qbs:4:16.";
QTest::newRow("duplicate_sources_wildcards")
<< "Duplicate source file '.*duplicate_sources_wildcards.qbs'"
- ".*duplicate_sources_wildcards.qbs:4:12"
- ".*duplicate_sources_wildcards.qbs:6:16.";
+ ".*duplicate_sources_wildcards.qbs:2:12"
+ ".*duplicate_sources_wildcards.qbs:4:16.";
QTest::newRow("oldQbsVersion")
<< "The project requires at least qbs version \\d+\\.\\d+.\\d+, "
"but this is qbs version " QBS_VERSION ".";
QTest::newRow("wrongQbsVersionFormat")
<< "The value '.*' of Project.minimumQbsVersion is not a valid version string.";
QTest::newRow("properties-item-with-invalid-condition")
- << "properties-item-with-invalid-condition.qbs:6:19.*TypeError: Result of expression "
+ << "properties-item-with-invalid-condition.qbs:4:19.*TypeError: Result of expression "
"'cpp.nonexistingproperty'";
QTest::newRow("misused-inherited-property") << "Binding to non-item property";
QTest::newRow("undeclared_property_in_Properties_item") << "Item 'blubb' is not declared";
@@ -890,24 +890,27 @@ void TestLanguage::erroneousFiles_data()
QTest::newRow("missing-colon")
<< "Invalid item 'cpp.dynamicLibraries'. Did you mean to set a module property?";
QTest::newRow("syntax-error-in-probe")
- << "syntax-error-in-probe.qbs:6:20.*ReferenceError";
+ << "syntax-error-in-probe.qbs:4:20.*ReferenceError";
QTest::newRow("wrong-toplevel-item")
- << "wrong-toplevel-item.qbs:3:1.*The top-level item must be of type 'Project' or "
+ << "wrong-toplevel-item.qbs:1:1.*The top-level item must be of type 'Project' or "
"'Product', but it is of type 'Artifact'.";
QTest::newRow("conflicting-module-instances")
<< "There is more than one equally prioritized candidate for module "
"'conflicting-instances'.";
QTest::newRow("module-depends-on-product")
- << "module-with-product-dependency.qbs:4:5.*Modules cannot depend on products.";
+ << "module-with-product-dependency.qbs:2:5.*Modules cannot depend on products.";
QTest::newRow("overwrite-inherited-readonly-property")
<< "overwrite-inherited-readonly-property.qbs"
- ":4:21.*Cannot set read-only property 'readOnlyString'.";
+ ":2:21.*Cannot set read-only property 'readOnlyString'.";
QTest::newRow("overwrite-readonly-module-property")
<< "overwrite-readonly-module-property.qbs"
- ":5:30.*Cannot set read-only property 'readOnlyString'.";
+ ":3:30.*Cannot set read-only property 'readOnlyString'.";
QTest::newRow("original-in-product-property")
<< "original-in-product-property.qbs"
- ":4:21.*The special value 'original' can only be used with module properties.";
+ ":2:21.*The special value 'original' can only be used with module properties.";
+ QTest::newRow("rule-without-output-tags")
+ << "rule-without-output-tags.qbs:2:5.*A rule needs to have Artifact items or "
+ "a non-empty outputFileTags property.";
QTest::newRow("original-in-module-prototype")
<< "module-with-invalid-original.qbs:2:24.*The special value 'original' cannot be used "
"on the right-hand side of a property declaration.";
@@ -921,7 +924,7 @@ void TestLanguage::erroneousFiles_data()
<< "original-in-export-item3.qbs:6:9.*Item 'x.y' is not declared. Did you forget "
"to add a Depends item";
QTest::newRow("mismatching-multiplex-dependency")
- << "mismatching-multiplex-dependency.qbs:9:5.*Dependency from product "
+ << "mismatching-multiplex-dependency.qbs:7:5.*Dependency from product "
"'b \\{\"architecture\":\"mips\"\\}' to product 'a \\{\"architecture\":\"mips\"\\}'"
" not fulfilled.";
QTest::newRow("duplicate-multiplex-value")
@@ -930,7 +933,7 @@ void TestLanguage::erroneousFiles_data()
<< "duplicate-multiplex-value2.qbs:3:1.*Duplicate entry 'architecture' in "
"Product.multiplexByQbsProperties.";
QTest::newRow("invalid-references")
- << "invalid-references.qbs:4:17.*Cannot open '.*nosuchproject.qbs'";
+ << "invalid-references.qbs:2:17.*Cannot open '.*nosuchproject.qbs'";
}
void TestLanguage::erroneousFiles()
@@ -1414,8 +1417,8 @@ void TestLanguage::idUniqueness()
const QList<ErrorItem> items = e.items();
QCOMPARE(items.size(), 3);
QCOMPARE(items.at(0).toString(), QString::fromUtf8("The id 'baseProduct' is not unique."));
- QVERIFY(items.at(1).toString().contains("id-uniqueness.qbs:6:5 First occurrence is here."));
- QVERIFY(items.at(2).toString().contains("id-uniqueness.qbs:9:5 Next occurrence is here."));
+ QVERIFY(items.at(1).toString().contains("id-uniqueness.qbs:5:5 First occurrence is here."));
+ QVERIFY(items.at(2).toString().contains("id-uniqueness.qbs:8:5 Next occurrence is here."));
}
QVERIFY(exceptionCaught);
}
diff --git a/tests/auto/shared.h b/tests/auto/shared.h
index 6f2552774..f40a7dbfb 100644
--- a/tests/auto/shared.h
+++ b/tests/auto/shared.h
@@ -32,8 +32,10 @@
#include <tools/profile.h>
#include <tools/settings.h>
+#include <QtCore/qbytearray.h>
#include <QtCore/qcryptographichash.h>
#include <QtCore/qdatetime.h>
+#include <QtCore/qdebug.h>
#include <QtCore/qdir.h>
#include <QtCore/qfile.h>
#include <QtCore/qfileinfo.h>
@@ -115,6 +117,79 @@ inline bool directoryExists(const QString &dirPath)
return fi.exists() && fi.isDir();
}
+struct ReadFileContentResult
+{
+ QByteArray content;
+ QString errorString;
+};
+
+inline ReadFileContentResult readFileContent(const QString &filePath)
+{
+ ReadFileContentResult result;
+ QFile file(filePath);
+ if (!file.open(QIODevice::ReadOnly)) {
+ result.errorString = file.errorString();
+ return result;
+ }
+ result.content = file.readAll();
+ return result;
+}
+
+inline QByteArray diffText(const QByteArray &actual, const QByteArray &expected)
+{
+ QByteArray result;
+ QList<QByteArray> actualLines = actual.split('\n');
+ QList<QByteArray> expectedLines = expected.split('\n');
+ int n = 1;
+ while (!actualLines.isEmpty() && !expectedLines.isEmpty()) {
+ QByteArray actualLine = actualLines.takeFirst();
+ QByteArray expectedLine = expectedLines.takeFirst();
+ if (actualLine != expectedLine) {
+ result += QStringLiteral("%1: actual: %2\n%1:expected: %3\n")
+ .arg(n, 2)
+ .arg(QString::fromUtf8(actualLine))
+ .arg(QString::fromUtf8(expectedLine))
+ .toUtf8();
+ }
+ n++;
+ }
+ auto addLines = [&result, &n] (const QList<QByteArray> &lines) {
+ for (const QByteArray &line : qAsConst(lines)) {
+ result += QStringLiteral("%1: %2\n").arg(n).arg(QString::fromUtf8(line));
+ n++;
+ }
+ };
+ if (!actualLines.isEmpty()) {
+ result += "Extra unexpected lines:\n";
+ addLines(actualLines);
+ }
+ if (!expectedLines.isEmpty()) {
+ result += "Missing expected lines:\n";
+ addLines(expectedLines);
+ }
+ return result;
+}
+
+#define READ_TEXT_FILE(filePath, contentVariable) \
+ QByteArray contentVariable; \
+ { \
+ auto c = readFileContent(filePath); \
+ QVERIFY2(c.errorString.isEmpty(), \
+ qUtf8Printable(QStringLiteral("Cannot open file %1. %2") \
+ .arg(filePath, c.errorString))); \
+ contentVariable = std::move(c.content); \
+ }
+
+#define TEXT_FILE_COMPARE(actualFilePath, expectedFilePath) \
+ { \
+ READ_TEXT_FILE(actualFilePath, ba1); \
+ READ_TEXT_FILE(expectedFilePath, ba2); \
+ if (ba1 != ba2) { \
+ QByteArray msg = "File contents differ:\n" + diffText(ba1, ba2); \
+ QFAIL(msg.constData()); \
+ } \
+ }
+
template <typename T>
inline QString prefixedIfNonEmpty(const T &prefix, const QString &str)
{
diff --git a/tests/benchmarker/benchmarker.qbs b/tests/benchmarker/benchmarker.qbs
index 200ab3189..72b535b42 100644
--- a/tests/benchmarker/benchmarker.qbs
+++ b/tests/benchmarker/benchmarker.qbs
@@ -2,11 +2,11 @@ import qbs
QtApplication {
name: "qbs_benchmarker"
- destinationDirectory: "bin"
type: "application"
consoleApplication: true
cpp.cxxLanguageVersion: "c++14"
condition: Qt.concurrent.present
+ Depends { name: "qbsbuildconfig" }
Depends {
name: "Qt.concurrent"
required: false
@@ -24,4 +24,9 @@ QtApplication {
"valgrindrunner.cpp",
"valgrindrunner.h",
]
+ Group {
+ fileTagsFilter: product.type
+ qbs.install: true
+ qbs.installDir: qbsbuildconfig.appInstallDir
+ }
}
diff --git a/tests/fuzzy-test/fuzzy-test.qbs b/tests/fuzzy-test/fuzzy-test.qbs
index 8dc468c4e..539374deb 100644
--- a/tests/fuzzy-test/fuzzy-test.qbs
+++ b/tests/fuzzy-test/fuzzy-test.qbs
@@ -2,9 +2,9 @@ import qbs
QtApplication {
name: "qbs_fuzzy-test"
- destinationDirectory: "bin"
type: "application"
consoleApplication: true
+ Depends { name: "qbsbuildconfig" }
cpp.cxxLanguageVersion: "c++14"
files: [
"commandlineparser.cpp",
@@ -13,4 +13,9 @@ QtApplication {
"fuzzytester.h",
"main.cpp",
]
+ Group {
+ fileTagsFilter: product.type
+ qbs.install: true
+ qbs.installDir: qbsbuildconfig.appInstallDir
+ }
}
diff --git a/tests/tests.qbs b/tests/tests.qbs
index 3a2cd3aa0..52eafb3f0 100644
--- a/tests/tests.qbs
+++ b/tests/tests.qbs
@@ -1,4 +1,5 @@
import qbs
+import qbs.FileInfo
Project {
references: [
@@ -16,7 +17,7 @@ Project {
wrapper: project.autotestWrapper
environment: {
var env = base;
- env.push("QBS_INSTALL_ROOT=" + qbs.installRoot);
+ env.push("QBS_INSTALL_DIR=" + FileInfo.joinPaths(qbs.installRoot, qbs.installPrefix));
if (qbs.hostOS.contains("windows") && qbs.targetOS.contains("windows")) {
var path = "";
for (var i = 0; i < env.length; ++i) {