diff options
author | Jake Petroules <jake.petroules@qt.io> | 2017-05-25 16:35:48 -0700 |
---|---|---|
committer | Jake Petroules <jake.petroules@qt.io> | 2017-05-30 14:14:23 +0000 |
commit | 73da5637c1ee9a2ee2efecbcc050d885b9385f51 (patch) | |
tree | 6b3505125a86f9582f32e05ac7b633fe7be765e5 | |
parent | 8e9bab9072941196bf6709ac762c1f99e67a21a8 (diff) |
Migrate blackbox tests depending on Qt into a new tst_blackboxqt target
This new test suite collects all the tests which actually rely on
Qt and test qbs' support for Qt in some way.
Change-Id: Id13d0bee6639314c26bfd87d2abee8fd31dcf770
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
-rw-r--r-- | tests/auto/auto.pro | 1 | ||||
-rw-r--r-- | tests/auto/auto.qbs | 1 | ||||
-rw-r--r-- | tests/auto/blackbox/blackbox-qt.pro | 17 | ||||
-rw-r--r-- | tests/auto/blackbox/blackbox-qt.qbs | 22 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/auto-qrc/auto-qrc.qbs (renamed from tests/auto/blackbox/testdata/auto-qrc/auto-qrc.qbs) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/auto-qrc/main.cpp (renamed from tests/auto/blackbox/testdata/auto-qrc/main.cpp) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/auto-qrc/qrc-base/resource1.txt (renamed from tests/auto/blackbox/testdata/auto-qrc/qrc-base/resource1.txt) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/auto-qrc/qrc-base/subdir/resource2.txt (renamed from tests/auto/blackbox/testdata/auto-qrc/qrc-base/subdir/resource2.txt) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/auto-qrc/qrc-base/subdir/resource3.txt (renamed from tests/auto/blackbox/testdata/auto-qrc/qrc-base/subdir/resource3.txt) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/combined-moc/combined-moc.qbs (renamed from tests/auto/blackbox/testdata/combined-moc/combined-moc.qbs) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/combined-moc/main.cpp (renamed from tests/auto/blackbox/testdata/combined-moc/main.cpp) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/combined-moc/theobject.h (renamed from tests/auto/blackbox/testdata/combined-moc/theobject.h) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/create-project/dummy.txt (renamed from tests/auto/blackbox/testdata/create-project/dummy.txt) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/dbus-adaptors/THIS.IS.A.STRANGE.FILENAME.CAR.XML (renamed from tests/auto/blackbox/testdata/dbus-adaptors/THIS.IS.A.STRANGE.FILENAME.CAR.XML) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/dbus-adaptors/car.cpp (renamed from tests/auto/blackbox/testdata/dbus-adaptors/car.cpp) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/dbus-adaptors/car.h (renamed from tests/auto/blackbox/testdata/dbus-adaptors/car.h) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/dbus-adaptors/car.qbs (renamed from tests/auto/blackbox/testdata/dbus-adaptors/car.qbs) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/dbus-adaptors/main.cpp (renamed from tests/auto/blackbox/testdata/dbus-adaptors/main.cpp) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/dbus-interfaces/car.xml (renamed from tests/auto/blackbox/testdata/dbus-interfaces/car.xml) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/dbus-interfaces/controller.cpp (renamed from tests/auto/blackbox/testdata/dbus-interfaces/controller.cpp) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/dbus-interfaces/controller.h (renamed from tests/auto/blackbox/testdata/dbus-interfaces/controller.h) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/dbus-interfaces/controller.qbs (renamed from tests/auto/blackbox/testdata/dbus-interfaces/controller.qbs) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/dbus-interfaces/controller.ui (renamed from tests/auto/blackbox/testdata/dbus-interfaces/controller.ui) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/dbus-interfaces/main.cpp (renamed from tests/auto/blackbox/testdata/dbus-interfaces/main.cpp) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/lrelease/de.ts (renamed from tests/auto/blackbox/testdata/lrelease/de.ts) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/lrelease/hu.ts (renamed from tests/auto/blackbox/testdata/lrelease/hu.ts) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/lrelease/lrelease.qbs (renamed from tests/auto/blackbox/testdata/lrelease/lrelease.qbs) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/mixed-build-variants/main.cpp (renamed from tests/auto/blackbox/testdata/mixed-build-variants/main.cpp) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/mixed-build-variants/mixed-build-variants.qbs (renamed from tests/auto/blackbox/testdata/mixed-build-variants/mixed-build-variants.qbs) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/moc-flags/blubb.h (renamed from tests/auto/blackbox/testdata/moc-flags/blubb.h) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/moc-flags/main.cpp (renamed from tests/auto/blackbox/testdata/moc-flags/main.cpp) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/moc-flags/moc-flags.qbs (renamed from tests/auto/blackbox/testdata/moc-flags/moc-flags.qbs) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/plugin-meta-data/app.cpp (renamed from tests/auto/blackbox/testdata/plugin-meta-data/app.cpp) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/plugin-meta-data/metadata.json (renamed from tests/auto/blackbox/testdata/plugin-meta-data/metadata.json) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/plugin-meta-data/plugin-meta-data.qbs (renamed from tests/auto/blackbox/testdata/plugin-meta-data/plugin-meta-data.qbs) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/plugin-meta-data/theplugin.cpp (renamed from tests/auto/blackbox/testdata/plugin-meta-data/theplugin.cpp) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/qml-debugging/main.cpp (renamed from tests/auto/blackbox/testdata/qml-debugging/main.cpp) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/qml-debugging/qml-debugging.qbs (renamed from tests/auto/blackbox/testdata/qml-debugging/qml-debugging.qbs) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/qobject-in-mm/main.mm (renamed from tests/auto/blackbox/testdata/qobject-in-mm/main.mm) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/qobject-in-mm/qobject-in-mm.qbs (renamed from tests/auto/blackbox/testdata/qobject-in-mm/qobject-in-mm.qbs) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/qrc/bla.cpp (renamed from tests/auto/blackbox/testdata/qrc/bla.cpp) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/qrc/bla.qrc (renamed from tests/auto/blackbox/testdata/qrc/bla.qrc) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/qrc/i.qbs (renamed from tests/auto/blackbox/testdata/qrc/i.qbs) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/qrc/stuff.txt (renamed from tests/auto/blackbox/testdata/qrc/stuff.txt) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/qt-keywords/main.cpp (renamed from tests/auto/blackbox/testdata/qt-keywords/main.cpp) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/qt-keywords/qt-keywords.qbs (renamed from tests/auto/blackbox/testdata/qt-keywords/qt-keywords.qbs) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/qtscxml/dummystatemachine.scxml (renamed from tests/auto/blackbox/testdata/qtscxml/dummystatemachine.scxml) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/qtscxml/main.cpp (renamed from tests/auto/blackbox/testdata/qtscxml/main.cpp) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/qtscxml/qtscxml.qbs (renamed from tests/auto/blackbox/testdata/qtscxml/qtscxml.qbs) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/static-qt-plugin-linking/static-qt-plugin-linking.qbs (renamed from tests/auto/blackbox/testdata/static-qt-plugin-linking/static-qt-plugin-linking.qbs) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/trackAddMocInclude/after/main.cpp (renamed from tests/auto/blackbox/testdata/trackAddMocInclude/after/main.cpp) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/trackAddMocInclude/before/main.cpp (renamed from tests/auto/blackbox/testdata/trackAddMocInclude/before/main.cpp) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/trackAddMocInclude/before/test.qbs (renamed from tests/auto/blackbox/testdata/trackAddMocInclude/before/test.qbs) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/trackQObjChange/bla.cpp (renamed from tests/auto/blackbox/testdata/trackQObjChange/bla.cpp) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/trackQObjChange/bla_noqobject.h (renamed from tests/auto/blackbox/testdata/trackQObjChange/bla_noqobject.h) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/trackQObjChange/bla_qobject.h (renamed from tests/auto/blackbox/testdata/trackQObjChange/bla_qobject.h) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/testdata-qt/trackQObjChange/i.qbs (renamed from tests/auto/blackbox/testdata/trackQObjChange/i.qbs) | 0 | ||||
-rw-r--r-- | tests/auto/blackbox/tst_blackbox.cpp | 246 | ||||
-rw-r--r-- | tests/auto/blackbox/tst_blackbox.h | 17 | ||||
-rw-r--r-- | tests/auto/blackbox/tst_blackboxbase.cpp | 10 | ||||
-rw-r--r-- | tests/auto/blackbox/tst_blackboxbase.h | 1 | ||||
-rw-r--r-- | tests/auto/blackbox/tst_blackboxqt.cpp | 311 | ||||
-rw-r--r-- | tests/auto/blackbox/tst_blackboxqt.h | 64 |
63 files changed, 418 insertions, 272 deletions
diff --git a/tests/auto/auto.pro b/tests/auto/auto.pro index c835768ed..e660c058a 100644 --- a/tests/auto/auto.pro +++ b/tests/auto/auto.pro @@ -12,4 +12,5 @@ SUBDIRS += \ blackbox/blackbox.pro \ blackbox/blackbox-clangdb.pro \ blackbox/blackbox-java.pro \ + blackbox/blackbox-qt.pro \ api diff --git a/tests/auto/auto.qbs b/tests/auto/auto.qbs index aa5b3ff49..bddfa2c6b 100644 --- a/tests/auto/auto.qbs +++ b/tests/auto/auto.qbs @@ -5,6 +5,7 @@ Project { references: [ "api/api.qbs", "blackbox/blackbox.qbs", + "blackbox/blackbox-qt.qbs", "buildgraph/buildgraph.qbs", "cmdlineparser/cmdlineparser.qbs", "language/language.qbs", diff --git a/tests/auto/blackbox/blackbox-qt.pro b/tests/auto/blackbox/blackbox-qt.pro new file mode 100644 index 000000000..1efa93340 --- /dev/null +++ b/tests/auto/blackbox/blackbox-qt.pro @@ -0,0 +1,17 @@ +TARGET = tst_blackbox-qt + +HEADERS = tst_blackboxqt.h tst_blackboxbase.h +SOURCES = tst_blackboxqt.cpp tst_blackboxbase.cpp +OBJECTS_DIR = qt + +include(../auto.pri) + +DATA_DIRS = testdata-qt ../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-qt.qbs b/tests/auto/blackbox/blackbox-qt.qbs new file mode 100644 index 000000000..f8a2f0ec4 --- /dev/null +++ b/tests/auto/blackbox/blackbox-qt.qbs @@ -0,0 +1,22 @@ +import qbs + +QbsAutotest { + testName: "blackbox-qt" + Depends { name: "qbs_app" } + Depends { name: "qbs-setup-toolchains" } + Group { + name: "testdata" + prefix: "testdata-qt/" + files: ["**/*"] + fileTags: [] + } + files: [ + "../shared.h", + "tst_blackboxbase.cpp", + "tst_blackboxbase.h", + "tst_blackboxqt.cpp", + "tst_blackboxqt.h", + ] + // TODO: Use Utilities.cStringQuote + cpp.defines: base.concat(['SRCDIR="' + path + '"']) +} diff --git a/tests/auto/blackbox/testdata/auto-qrc/auto-qrc.qbs b/tests/auto/blackbox/testdata-qt/auto-qrc/auto-qrc.qbs index 3055e51b8..3055e51b8 100644 --- a/tests/auto/blackbox/testdata/auto-qrc/auto-qrc.qbs +++ b/tests/auto/blackbox/testdata-qt/auto-qrc/auto-qrc.qbs diff --git a/tests/auto/blackbox/testdata/auto-qrc/main.cpp b/tests/auto/blackbox/testdata-qt/auto-qrc/main.cpp index 53a33854d..53a33854d 100644 --- a/tests/auto/blackbox/testdata/auto-qrc/main.cpp +++ b/tests/auto/blackbox/testdata-qt/auto-qrc/main.cpp diff --git a/tests/auto/blackbox/testdata/auto-qrc/qrc-base/resource1.txt b/tests/auto/blackbox/testdata-qt/auto-qrc/qrc-base/resource1.txt index edf22a3d6..edf22a3d6 100644 --- a/tests/auto/blackbox/testdata/auto-qrc/qrc-base/resource1.txt +++ b/tests/auto/blackbox/testdata-qt/auto-qrc/qrc-base/resource1.txt diff --git a/tests/auto/blackbox/testdata/auto-qrc/qrc-base/subdir/resource2.txt b/tests/auto/blackbox/testdata-qt/auto-qrc/qrc-base/subdir/resource2.txt index b7c270096..b7c270096 100644 --- a/tests/auto/blackbox/testdata/auto-qrc/qrc-base/subdir/resource2.txt +++ b/tests/auto/blackbox/testdata-qt/auto-qrc/qrc-base/subdir/resource2.txt diff --git a/tests/auto/blackbox/testdata/auto-qrc/qrc-base/subdir/resource3.txt b/tests/auto/blackbox/testdata-qt/auto-qrc/qrc-base/subdir/resource3.txt index 6df9761da..6df9761da 100644 --- a/tests/auto/blackbox/testdata/auto-qrc/qrc-base/subdir/resource3.txt +++ b/tests/auto/blackbox/testdata-qt/auto-qrc/qrc-base/subdir/resource3.txt diff --git a/tests/auto/blackbox/testdata/combined-moc/combined-moc.qbs b/tests/auto/blackbox/testdata-qt/combined-moc/combined-moc.qbs index 34529fce6..34529fce6 100644 --- a/tests/auto/blackbox/testdata/combined-moc/combined-moc.qbs +++ b/tests/auto/blackbox/testdata-qt/combined-moc/combined-moc.qbs diff --git a/tests/auto/blackbox/testdata/combined-moc/main.cpp b/tests/auto/blackbox/testdata-qt/combined-moc/main.cpp index 8fc13028b..8fc13028b 100644 --- a/tests/auto/blackbox/testdata/combined-moc/main.cpp +++ b/tests/auto/blackbox/testdata-qt/combined-moc/main.cpp diff --git a/tests/auto/blackbox/testdata/combined-moc/theobject.h b/tests/auto/blackbox/testdata-qt/combined-moc/theobject.h index 759eae8fb..759eae8fb 100644 --- a/tests/auto/blackbox/testdata/combined-moc/theobject.h +++ b/tests/auto/blackbox/testdata-qt/combined-moc/theobject.h diff --git a/tests/auto/blackbox/testdata/create-project/dummy.txt b/tests/auto/blackbox/testdata-qt/create-project/dummy.txt index e69de29bb..e69de29bb 100644 --- a/tests/auto/blackbox/testdata/create-project/dummy.txt +++ b/tests/auto/blackbox/testdata-qt/create-project/dummy.txt diff --git a/tests/auto/blackbox/testdata/dbus-adaptors/THIS.IS.A.STRANGE.FILENAME.CAR.XML b/tests/auto/blackbox/testdata-qt/dbus-adaptors/THIS.IS.A.STRANGE.FILENAME.CAR.XML index 6d8c9d19f..6d8c9d19f 100644 --- a/tests/auto/blackbox/testdata/dbus-adaptors/THIS.IS.A.STRANGE.FILENAME.CAR.XML +++ b/tests/auto/blackbox/testdata-qt/dbus-adaptors/THIS.IS.A.STRANGE.FILENAME.CAR.XML diff --git a/tests/auto/blackbox/testdata/dbus-adaptors/car.cpp b/tests/auto/blackbox/testdata-qt/dbus-adaptors/car.cpp index 466ed4b8e..466ed4b8e 100644 --- a/tests/auto/blackbox/testdata/dbus-adaptors/car.cpp +++ b/tests/auto/blackbox/testdata-qt/dbus-adaptors/car.cpp diff --git a/tests/auto/blackbox/testdata/dbus-adaptors/car.h b/tests/auto/blackbox/testdata-qt/dbus-adaptors/car.h index f14b1062d..f14b1062d 100644 --- a/tests/auto/blackbox/testdata/dbus-adaptors/car.h +++ b/tests/auto/blackbox/testdata-qt/dbus-adaptors/car.h diff --git a/tests/auto/blackbox/testdata/dbus-adaptors/car.qbs b/tests/auto/blackbox/testdata-qt/dbus-adaptors/car.qbs index 67ba5e7ea..67ba5e7ea 100644 --- a/tests/auto/blackbox/testdata/dbus-adaptors/car.qbs +++ b/tests/auto/blackbox/testdata-qt/dbus-adaptors/car.qbs diff --git a/tests/auto/blackbox/testdata/dbus-adaptors/main.cpp b/tests/auto/blackbox/testdata-qt/dbus-adaptors/main.cpp index 2c6db4403..2c6db4403 100644 --- a/tests/auto/blackbox/testdata/dbus-adaptors/main.cpp +++ b/tests/auto/blackbox/testdata-qt/dbus-adaptors/main.cpp diff --git a/tests/auto/blackbox/testdata/dbus-interfaces/car.xml b/tests/auto/blackbox/testdata-qt/dbus-interfaces/car.xml index 6d8c9d19f..6d8c9d19f 100644 --- a/tests/auto/blackbox/testdata/dbus-interfaces/car.xml +++ b/tests/auto/blackbox/testdata-qt/dbus-interfaces/car.xml diff --git a/tests/auto/blackbox/testdata/dbus-interfaces/controller.cpp b/tests/auto/blackbox/testdata-qt/dbus-interfaces/controller.cpp index eaff5c775..eaff5c775 100644 --- a/tests/auto/blackbox/testdata/dbus-interfaces/controller.cpp +++ b/tests/auto/blackbox/testdata-qt/dbus-interfaces/controller.cpp diff --git a/tests/auto/blackbox/testdata/dbus-interfaces/controller.h b/tests/auto/blackbox/testdata-qt/dbus-interfaces/controller.h index 3a63c6a06..3a63c6a06 100644 --- a/tests/auto/blackbox/testdata/dbus-interfaces/controller.h +++ b/tests/auto/blackbox/testdata-qt/dbus-interfaces/controller.h diff --git a/tests/auto/blackbox/testdata/dbus-interfaces/controller.qbs b/tests/auto/blackbox/testdata-qt/dbus-interfaces/controller.qbs index b5fb3d698..b5fb3d698 100644 --- a/tests/auto/blackbox/testdata/dbus-interfaces/controller.qbs +++ b/tests/auto/blackbox/testdata-qt/dbus-interfaces/controller.qbs diff --git a/tests/auto/blackbox/testdata/dbus-interfaces/controller.ui b/tests/auto/blackbox/testdata-qt/dbus-interfaces/controller.ui index 379015bf3..379015bf3 100644 --- a/tests/auto/blackbox/testdata/dbus-interfaces/controller.ui +++ b/tests/auto/blackbox/testdata-qt/dbus-interfaces/controller.ui diff --git a/tests/auto/blackbox/testdata/dbus-interfaces/main.cpp b/tests/auto/blackbox/testdata-qt/dbus-interfaces/main.cpp index fdd9fc590..fdd9fc590 100644 --- a/tests/auto/blackbox/testdata/dbus-interfaces/main.cpp +++ b/tests/auto/blackbox/testdata-qt/dbus-interfaces/main.cpp diff --git a/tests/auto/blackbox/testdata/lrelease/de.ts b/tests/auto/blackbox/testdata-qt/lrelease/de.ts index 5beb013bd..5beb013bd 100644 --- a/tests/auto/blackbox/testdata/lrelease/de.ts +++ b/tests/auto/blackbox/testdata-qt/lrelease/de.ts diff --git a/tests/auto/blackbox/testdata/lrelease/hu.ts b/tests/auto/blackbox/testdata-qt/lrelease/hu.ts index dc45eac46..dc45eac46 100644 --- a/tests/auto/blackbox/testdata/lrelease/hu.ts +++ b/tests/auto/blackbox/testdata-qt/lrelease/hu.ts diff --git a/tests/auto/blackbox/testdata/lrelease/lrelease.qbs b/tests/auto/blackbox/testdata-qt/lrelease/lrelease.qbs index b4119402f..b4119402f 100644 --- a/tests/auto/blackbox/testdata/lrelease/lrelease.qbs +++ b/tests/auto/blackbox/testdata-qt/lrelease/lrelease.qbs diff --git a/tests/auto/blackbox/testdata/mixed-build-variants/main.cpp b/tests/auto/blackbox/testdata-qt/mixed-build-variants/main.cpp index 141d7ebec..141d7ebec 100644 --- a/tests/auto/blackbox/testdata/mixed-build-variants/main.cpp +++ b/tests/auto/blackbox/testdata-qt/mixed-build-variants/main.cpp diff --git a/tests/auto/blackbox/testdata/mixed-build-variants/mixed-build-variants.qbs b/tests/auto/blackbox/testdata-qt/mixed-build-variants/mixed-build-variants.qbs index 8f2c1c7fd..8f2c1c7fd 100644 --- a/tests/auto/blackbox/testdata/mixed-build-variants/mixed-build-variants.qbs +++ b/tests/auto/blackbox/testdata-qt/mixed-build-variants/mixed-build-variants.qbs diff --git a/tests/auto/blackbox/testdata/moc-flags/blubb.h b/tests/auto/blackbox/testdata-qt/moc-flags/blubb.h index 54e2fdd7a..54e2fdd7a 100644 --- a/tests/auto/blackbox/testdata/moc-flags/blubb.h +++ b/tests/auto/blackbox/testdata-qt/moc-flags/blubb.h diff --git a/tests/auto/blackbox/testdata/moc-flags/main.cpp b/tests/auto/blackbox/testdata-qt/moc-flags/main.cpp index 8e7c9e287..8e7c9e287 100644 --- a/tests/auto/blackbox/testdata/moc-flags/main.cpp +++ b/tests/auto/blackbox/testdata-qt/moc-flags/main.cpp diff --git a/tests/auto/blackbox/testdata/moc-flags/moc-flags.qbs b/tests/auto/blackbox/testdata-qt/moc-flags/moc-flags.qbs index d42c7ad87..d42c7ad87 100644 --- a/tests/auto/blackbox/testdata/moc-flags/moc-flags.qbs +++ b/tests/auto/blackbox/testdata-qt/moc-flags/moc-flags.qbs diff --git a/tests/auto/blackbox/testdata/plugin-meta-data/app.cpp b/tests/auto/blackbox/testdata-qt/plugin-meta-data/app.cpp index 2cd748b00..2cd748b00 100644 --- a/tests/auto/blackbox/testdata/plugin-meta-data/app.cpp +++ b/tests/auto/blackbox/testdata-qt/plugin-meta-data/app.cpp diff --git a/tests/auto/blackbox/testdata/plugin-meta-data/metadata.json b/tests/auto/blackbox/testdata-qt/plugin-meta-data/metadata.json index 1377879e2..1377879e2 100644 --- a/tests/auto/blackbox/testdata/plugin-meta-data/metadata.json +++ b/tests/auto/blackbox/testdata-qt/plugin-meta-data/metadata.json diff --git a/tests/auto/blackbox/testdata/plugin-meta-data/plugin-meta-data.qbs b/tests/auto/blackbox/testdata-qt/plugin-meta-data/plugin-meta-data.qbs index 0d623a739..0d623a739 100644 --- a/tests/auto/blackbox/testdata/plugin-meta-data/plugin-meta-data.qbs +++ b/tests/auto/blackbox/testdata-qt/plugin-meta-data/plugin-meta-data.qbs diff --git a/tests/auto/blackbox/testdata/plugin-meta-data/theplugin.cpp b/tests/auto/blackbox/testdata-qt/plugin-meta-data/theplugin.cpp index 90ce230e2..90ce230e2 100644 --- a/tests/auto/blackbox/testdata/plugin-meta-data/theplugin.cpp +++ b/tests/auto/blackbox/testdata-qt/plugin-meta-data/theplugin.cpp diff --git a/tests/auto/blackbox/testdata/qml-debugging/main.cpp b/tests/auto/blackbox/testdata-qt/qml-debugging/main.cpp index 535d6d63f..535d6d63f 100644 --- a/tests/auto/blackbox/testdata/qml-debugging/main.cpp +++ b/tests/auto/blackbox/testdata-qt/qml-debugging/main.cpp diff --git a/tests/auto/blackbox/testdata/qml-debugging/qml-debugging.qbs b/tests/auto/blackbox/testdata-qt/qml-debugging/qml-debugging.qbs index 3606b4aa3..3606b4aa3 100644 --- a/tests/auto/blackbox/testdata/qml-debugging/qml-debugging.qbs +++ b/tests/auto/blackbox/testdata-qt/qml-debugging/qml-debugging.qbs diff --git a/tests/auto/blackbox/testdata/qobject-in-mm/main.mm b/tests/auto/blackbox/testdata-qt/qobject-in-mm/main.mm index 40c464b88..40c464b88 100644 --- a/tests/auto/blackbox/testdata/qobject-in-mm/main.mm +++ b/tests/auto/blackbox/testdata-qt/qobject-in-mm/main.mm diff --git a/tests/auto/blackbox/testdata/qobject-in-mm/qobject-in-mm.qbs b/tests/auto/blackbox/testdata-qt/qobject-in-mm/qobject-in-mm.qbs index 2f819d012..2f819d012 100644 --- a/tests/auto/blackbox/testdata/qobject-in-mm/qobject-in-mm.qbs +++ b/tests/auto/blackbox/testdata-qt/qobject-in-mm/qobject-in-mm.qbs diff --git a/tests/auto/blackbox/testdata/qrc/bla.cpp b/tests/auto/blackbox/testdata-qt/qrc/bla.cpp index e04f873a6..e04f873a6 100644 --- a/tests/auto/blackbox/testdata/qrc/bla.cpp +++ b/tests/auto/blackbox/testdata-qt/qrc/bla.cpp diff --git a/tests/auto/blackbox/testdata/qrc/bla.qrc b/tests/auto/blackbox/testdata-qt/qrc/bla.qrc index 46c93847e..46c93847e 100644 --- a/tests/auto/blackbox/testdata/qrc/bla.qrc +++ b/tests/auto/blackbox/testdata-qt/qrc/bla.qrc diff --git a/tests/auto/blackbox/testdata/qrc/i.qbs b/tests/auto/blackbox/testdata-qt/qrc/i.qbs index 67b836dd4..67b836dd4 100644 --- a/tests/auto/blackbox/testdata/qrc/i.qbs +++ b/tests/auto/blackbox/testdata-qt/qrc/i.qbs diff --git a/tests/auto/blackbox/testdata/qrc/stuff.txt b/tests/auto/blackbox/testdata-qt/qrc/stuff.txt index 78f0d32c6..78f0d32c6 100644 --- a/tests/auto/blackbox/testdata/qrc/stuff.txt +++ b/tests/auto/blackbox/testdata-qt/qrc/stuff.txt diff --git a/tests/auto/blackbox/testdata/qt-keywords/main.cpp b/tests/auto/blackbox/testdata-qt/qt-keywords/main.cpp index 4ef493cce..4ef493cce 100644 --- a/tests/auto/blackbox/testdata/qt-keywords/main.cpp +++ b/tests/auto/blackbox/testdata-qt/qt-keywords/main.cpp diff --git a/tests/auto/blackbox/testdata/qt-keywords/qt-keywords.qbs b/tests/auto/blackbox/testdata-qt/qt-keywords/qt-keywords.qbs index 59e964258..59e964258 100644 --- a/tests/auto/blackbox/testdata/qt-keywords/qt-keywords.qbs +++ b/tests/auto/blackbox/testdata-qt/qt-keywords/qt-keywords.qbs diff --git a/tests/auto/blackbox/testdata/qtscxml/dummystatemachine.scxml b/tests/auto/blackbox/testdata-qt/qtscxml/dummystatemachine.scxml index 6c751866f..6c751866f 100644 --- a/tests/auto/blackbox/testdata/qtscxml/dummystatemachine.scxml +++ b/tests/auto/blackbox/testdata-qt/qtscxml/dummystatemachine.scxml diff --git a/tests/auto/blackbox/testdata/qtscxml/main.cpp b/tests/auto/blackbox/testdata-qt/qtscxml/main.cpp index c9a7d7741..c9a7d7741 100644 --- a/tests/auto/blackbox/testdata/qtscxml/main.cpp +++ b/tests/auto/blackbox/testdata-qt/qtscxml/main.cpp diff --git a/tests/auto/blackbox/testdata/qtscxml/qtscxml.qbs b/tests/auto/blackbox/testdata-qt/qtscxml/qtscxml.qbs index 23bb982a9..23bb982a9 100644 --- a/tests/auto/blackbox/testdata/qtscxml/qtscxml.qbs +++ b/tests/auto/blackbox/testdata-qt/qtscxml/qtscxml.qbs diff --git a/tests/auto/blackbox/testdata/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 b0e36dee0..b0e36dee0 100644 --- a/tests/auto/blackbox/testdata/static-qt-plugin-linking/static-qt-plugin-linking.qbs +++ b/tests/auto/blackbox/testdata-qt/static-qt-plugin-linking/static-qt-plugin-linking.qbs diff --git a/tests/auto/blackbox/testdata/trackAddMocInclude/after/main.cpp b/tests/auto/blackbox/testdata-qt/trackAddMocInclude/after/main.cpp index 566024acd..566024acd 100644 --- a/tests/auto/blackbox/testdata/trackAddMocInclude/after/main.cpp +++ b/tests/auto/blackbox/testdata-qt/trackAddMocInclude/after/main.cpp diff --git a/tests/auto/blackbox/testdata/trackAddMocInclude/before/main.cpp b/tests/auto/blackbox/testdata-qt/trackAddMocInclude/before/main.cpp index 2a44ceec4..2a44ceec4 100644 --- a/tests/auto/blackbox/testdata/trackAddMocInclude/before/main.cpp +++ b/tests/auto/blackbox/testdata-qt/trackAddMocInclude/before/main.cpp diff --git a/tests/auto/blackbox/testdata/trackAddMocInclude/before/test.qbs b/tests/auto/blackbox/testdata-qt/trackAddMocInclude/before/test.qbs index 1e1d79682..1e1d79682 100644 --- a/tests/auto/blackbox/testdata/trackAddMocInclude/before/test.qbs +++ b/tests/auto/blackbox/testdata-qt/trackAddMocInclude/before/test.qbs diff --git a/tests/auto/blackbox/testdata/trackQObjChange/bla.cpp b/tests/auto/blackbox/testdata-qt/trackQObjChange/bla.cpp index 74c8bdac0..74c8bdac0 100644 --- a/tests/auto/blackbox/testdata/trackQObjChange/bla.cpp +++ b/tests/auto/blackbox/testdata-qt/trackQObjChange/bla.cpp diff --git a/tests/auto/blackbox/testdata/trackQObjChange/bla_noqobject.h b/tests/auto/blackbox/testdata-qt/trackQObjChange/bla_noqobject.h index ca45b65be..ca45b65be 100644 --- a/tests/auto/blackbox/testdata/trackQObjChange/bla_noqobject.h +++ b/tests/auto/blackbox/testdata-qt/trackQObjChange/bla_noqobject.h diff --git a/tests/auto/blackbox/testdata/trackQObjChange/bla_qobject.h b/tests/auto/blackbox/testdata-qt/trackQObjChange/bla_qobject.h index 840465e86..840465e86 100644 --- a/tests/auto/blackbox/testdata/trackQObjChange/bla_qobject.h +++ b/tests/auto/blackbox/testdata-qt/trackQObjChange/bla_qobject.h diff --git a/tests/auto/blackbox/testdata/trackQObjChange/i.qbs b/tests/auto/blackbox/testdata-qt/trackQObjChange/i.qbs index c18fab086..c18fab086 100644 --- a/tests/auto/blackbox/testdata/trackQObjChange/i.qbs +++ b/tests/auto/blackbox/testdata-qt/trackQObjChange/i.qbs diff --git a/tests/auto/blackbox/tst_blackbox.cpp b/tests/auto/blackbox/tst_blackbox.cpp index aa5019213..32e6a8c1d 100644 --- a/tests/auto/blackbox/tst_blackbox.cpp +++ b/tests/auto/blackbox/tst_blackbox.cpp @@ -177,14 +177,6 @@ void TestBlackbox::sevenZip() QVERIFY2(output.contains("archivable.qbs"), output.constData()); } -void TestBlackbox::staticQtPluginLinking() -{ - QDir::setCurrent(testDataDir + "/static-qt-plugin-linking"); - QCOMPARE(runQbs(), 0); - const bool isStaticQt = m_qbsStdout.contains("Qt is static"); - QVERIFY2(m_qbsStdout.contains("Creating static import") == isStaticQt, m_qbsStdout.constData()); -} - void TestBlackbox::suspiciousCalls() { const QString projectDir = testDataDir + "/suspicious-calls"; @@ -1338,33 +1330,6 @@ void TestBlackbox::conflictingArtifacts() QVERIFY2(m_qbsStderr.contains("Conflicting artifacts"), m_qbsStderr.constData()); } -void TestBlackbox::createProject() -{ - QDir::setCurrent(testDataDir + "/create-project"); - QVERIFY(QFile::copy(SRCDIR "/../../../examples/helloworld-qt/main.cpp", - QDir::currentPath() + "/main.cpp")); - QbsRunParameters createParams("create-project"); - createParams.useProfile = false; - QCOMPARE(runQbs(createParams), 0); - createParams.expectFailure = true; - QVERIFY(runQbs(createParams) != 0); - QVERIFY2(m_qbsStderr.contains("already contains qbs files"), m_qbsStderr.constData()); - QCOMPARE(runQbs(), 0); - QVERIFY2(m_qbsStdout.contains("compiling"), m_qbsStdout.constData()); -} - -void TestBlackbox::dbusAdaptors() -{ - QDir::setCurrent(testDataDir + "/dbus-adaptors"); - QCOMPARE(runQbs(), 0); -} - -void TestBlackbox::dbusInterfaces() -{ - QDir::setCurrent(testDataDir + "/dbus-interfaces"); - QCOMPARE(runQbs(), 0); -} - void TestBlackbox::renameDependency() { QDir::setCurrent(testDataDir + "/renameDependency"); @@ -1482,44 +1447,6 @@ void TestBlackbox::separateDebugInfo() } } -void TestBlackbox::track_qrc() -{ - QDir::setCurrent(testDataDir + "/qrc"); - QCOMPARE(runQbs(), 0); - const QString fileName = relativeExecutableFilePath("i"); - QVERIFY2(regularFileExists(fileName), qPrintable(fileName)); - QDateTime dt = QFileInfo(fileName).lastModified(); - WAIT_FOR_NEW_TIMESTAMP(); - { - QFile f("stuff.txt"); - f.remove(); - QVERIFY(f.open(QFile::WriteOnly)); - f.write("bla"); - f.close(); - } - QCOMPARE(runQbs(), 0); - QVERIFY(regularFileExists(fileName)); - QVERIFY(dt < QFileInfo(fileName).lastModified()); -} - -void TestBlackbox::track_qobject_change() -{ - QDir::setCurrent(testDataDir + "/trackQObjChange"); - copyFileAndUpdateTimestamp("bla_qobject.h", "bla.h"); - QCOMPARE(runQbs(), 0); - const QString productFilePath = relativeExecutableFilePath("i"); - QVERIFY2(regularFileExists(productFilePath), qPrintable(productFilePath)); - QString moc_bla_objectFileName = relativeProductBuildDir("i") + "/.obj/" - + inputDirHash("qt.headers") + objectFileName("/moc_bla.cpp", profileName()); - QVERIFY2(regularFileExists(moc_bla_objectFileName), qPrintable(moc_bla_objectFileName)); - - WAIT_FOR_NEW_TIMESTAMP(); - copyFileAndUpdateTimestamp("bla_noqobject.h", "bla.h"); - QCOMPARE(runQbs(), 0); - QVERIFY(regularFileExists(productFilePath)); - QVERIFY(!QFile(moc_bla_objectFileName).exists()); -} - void TestBlackbox::trackAddFile() { QProcess process; @@ -1800,25 +1727,6 @@ void TestBlackbox::trackRemoveFileTag() QCOMPARE(regularFileExists(relativeProductBuildDir("someapp") + "/main.foo"), false); } -void TestBlackbox::trackAddMocInclude() -{ - QDir::setCurrent(testDataDir + "/trackAddMocInclude"); - if (QFile::exists("work")) - rmDirR("work"); - QDir().mkdir("work"); - ccp("before", "work"); - QDir::setCurrent(testDataDir + "/trackAddMocInclude/work"); - // The build must fail because the main.moc include is missing. - QbsRunParameters params; - params.expectFailure = true; - QVERIFY(runQbs(params) != 0); - - WAIT_FOR_NEW_TIMESTAMP(); - ccp("../after", "."); - touch("main.cpp"); - QCOMPARE(runQbs(), 0); -} - void TestBlackbox::trackAddProduct() { QDir::setCurrent(testDataDir + "/trackProducts"); @@ -2294,24 +2202,6 @@ void TestBlackbox::pluginDependency() QVERIFY(m_qbsStdout.contains("plugin4")); } -void TestBlackbox::pluginMetaData() -{ - QDir::setCurrent(testDataDir + "/plugin-meta-data"); - QCOMPARE(runQbs(), 0); - const QString appFilePath = relativeBuildDir() + "/install-root/" - + qbs::Internal::HostOsInfo::appendExecutableSuffix("plugin-meta-data"); - QVERIFY(regularFileExists(appFilePath)); - QProcess app; - app.start(appFilePath); - QVERIFY(app.waitForStarted()); - QVERIFY(app.waitForFinished()); - QVERIFY2(app.exitCode() == 0, app.readAllStandardError().constData()); - WAIT_FOR_NEW_TIMESTAMP(); - touch("metadata.json"); - QCOMPARE(runQbs(), 0); - QVERIFY2(m_qbsStdout.contains("moc"), m_qbsStdout.constData()); -} - void TestBlackbox::probeChangeTracking() { QDir::setCurrent(testDataDir + "/probe-change-tracking"); @@ -2750,15 +2640,6 @@ void TestBlackbox::propertyChanges() QVERIFY(m_qbsStdout.contains("Making output from other output")); } -void TestBlackbox::qobjectInObjectiveCpp() -{ - if (!HostOsInfo::isMacosHost()) - QSKIP("only applies on macOS"); - const QString testDir = testDataDir + "/qobject-in-mm"; - QDir::setCurrent(testDir); - QCOMPARE(runQbs(), 0); -} - void TestBlackbox::qtBug51237() { const QString profileName = "profile-qtBug51237"; @@ -2775,30 +2656,6 @@ void TestBlackbox::qtBug51237() QCOMPARE(runQbs(params), 0); } -void TestBlackbox::qtKeywords() -{ - QDir::setCurrent(testDataDir + "/qt-keywords"); - QbsRunParameters params(QStringList("Qt.core.enableKeywords:false")); - params.expectFailure = true; - QVERIFY(runQbs(params) != 0); - params.arguments.clear(); - QVERIFY(runQbs(params) != 0); - params.command = "resolve"; - QCOMPARE(runQbs(params), 0); - params.command = "build"; - QCOMPARE(runQbs(params), 0); -} - -void TestBlackbox::qtScxml() -{ - QDir::setCurrent(testDataDir + "/qtscxml"); - QCOMPARE(runQbs(), 0); - if (m_qbsStdout.contains("QtScxml not present")) - QSKIP("QtScxml module not present"); - QVERIFY2(m_qbsStdout.contains("state machine name: qbs_test_machine"), - m_qbsStdout.constData()); -} - void TestBlackbox::dynamicMultiplexRule() { const QString testDir = testDataDir + "/dynamicMultiplexRule"; @@ -3233,23 +3090,6 @@ void TestBlackbox::cli() rmDirR(relativeBuildDir()); } -void TestBlackbox::combinedMoc() -{ - QDir::setCurrent(testDataDir + "/combined-moc"); - QCOMPARE(runQbs(), 0); - QVERIFY(m_qbsStdout.contains("compiling moc_theobject.cpp")); - QVERIFY(!m_qbsStdout.contains("creating amalgamated_moc_theapp.cpp")); - QVERIFY(!m_qbsStdout.contains("compiling amalgamated_moc_theapp.cpp")); - QbsRunParameters params(QStringList("Qt.core.combineMocOutput:true")); - params.command = "resolve"; - QCOMPARE(runQbs(params), 0); - params.command = "build"; - QCOMPARE(runQbs(params), 0); - QVERIFY(!m_qbsStdout.contains("compiling moc_theobject.cpp")); - QVERIFY(m_qbsStdout.contains("creating amalgamated_moc_theapp.cpp")); - QVERIFY(m_qbsStdout.contains("compiling amalgamated_moc_theapp.cpp")); -} - void TestBlackbox::combinedSources() { QDir::setCurrent(testDataDir + "/combined-sources"); @@ -3616,36 +3456,6 @@ void TestBlackbox::requireDeprecated() m_qbsStderr.constData()); } -void TestBlackbox::mixedBuildVariants() -{ - QDir::setCurrent(testDataDir + "/mixed-build-variants"); - const SettingsPtr s = settings(); - Profile profile(profileName(), s.get()); - if (profile.value("qbs.toolchain").toStringList().contains("msvc")) { - QbsRunParameters params; - params.arguments << "qbs.buildVariant:debug"; - params.expectFailure = true; - QVERIFY(runQbs(params) != 0); - QVERIFY2(m_qbsStderr.contains("not allowed"), m_qbsStderr.constData()); - } else { - QbsRunParameters params; - params.expectFailure = true; - QVERIFY(runQbs(params) != 0); - QVERIFY2(m_qbsStderr.contains("not supported"), m_qbsStderr.constData()); - } -} - -void TestBlackbox::mocFlags() -{ - QDir::setCurrent(testDataDir + "/moc-flags"); - QCOMPARE(runQbs(), 0); - WAIT_FOR_NEW_TIMESTAMP(); - QbsRunParameters params; - params.expectFailure = true; - params.arguments << "Qt.core.mocFlags:-E"; - QVERIFY(runQbs(params) != 0); -} - void TestBlackbox::multipleChanges() { QDir::setCurrent(testDataDir + "/multiple-changes"); @@ -4055,24 +3865,6 @@ void TestBlackbox::propertyPrecedence() m_qbsStdout.constData()); } -void TestBlackbox::qmlDebugging() -{ - QDir::setCurrent(testDataDir + "/qml-debugging"); - QCOMPARE(runQbs(), 0); - const SettingsPtr s = settings(); - Profile profile(profileName(), s.get()); - if (!profile.value("qbs.toolchain").toStringList().contains("gcc")) - return; - QProcess nm; - nm.start("nm", QStringList(relativeExecutableFilePath("debuggable-app"))); - if (nm.waitForStarted()) { // Let's ignore hosts without nm. - QVERIFY2(nm.waitForFinished(), qPrintable(nm.errorString())); - QVERIFY2(nm.exitCode() == 0, nm.readAllStandardError().constData()); - const QByteArray output = nm.readAllStandardOutput(); - QVERIFY2(output.toLower().contains("debugginghelper"), output.constData()); - } -} - void TestBlackbox::productDependenciesByType() { QDir::setCurrent(testDataDir + "/product-dependencies-by-type"); @@ -4955,14 +4747,6 @@ void TestBlackbox::assetCatalog_data() QTest::newRow("unflattened") << false; } -void TestBlackbox::autoQrc() -{ - QDir::setCurrent(testDataDir + "/auto-qrc"); - QCOMPARE(runQbs(), 0); - QVERIFY2(m_qbsStdout.simplified().contains("resource data: resource1 resource2"), - m_qbsStdout.constData()); -} - void TestBlackbox::objcArc() { if (!HostOsInfo::isMacosHost()) @@ -5023,36 +4807,6 @@ void TestBlackbox::loadableModule() QVERIFY2(m_qbsStdout.contains("foo = 42"), m_qbsStdout.constData()); } -void TestBlackbox::lrelease() -{ - QDir::setCurrent(testDataDir + QLatin1String("/lrelease")); - QCOMPARE(runQbs(), 0); - QVERIFY(regularFileExists(relativeProductBuildDir("lrelease-test") + "/de.qm")); - QVERIFY(regularFileExists(relativeProductBuildDir("lrelease-test") + "/hu.qm")); - - QCOMPARE(runQbs(QString("clean")), 0); - QbsRunParameters params(QStringList({ "Qt.core.lreleaseMultiplexMode:true"})); - params.command = "resolve"; - QCOMPARE(runQbs(params), 0); - params.command = "build"; - QCOMPARE(runQbs(params), 0); - QVERIFY(regularFileExists(relativeProductBuildDir("lrelease-test") + "/lrelease-test.qm")); - QVERIFY(!regularFileExists(relativeProductBuildDir("lrelease-test") + "/de.qm")); - QVERIFY(!regularFileExists(relativeProductBuildDir("lrelease-test") + "/hu.qm")); - - QCOMPARE(runQbs(QString("clean")), 0); - params.command = "resolve"; - params.arguments << "Qt.core.qmBaseName:somename"; - QCOMPARE(runQbs(params), 0); - params.command = "build"; - params.arguments.clear(); - QCOMPARE(runQbs(params), 0); - QVERIFY(regularFileExists(relativeProductBuildDir("lrelease-test") + "/somename.qm")); - QVERIFY(!regularFileExists(relativeProductBuildDir("lrelease-test") + "/lrelease-test.qm")); - QVERIFY(!regularFileExists(relativeProductBuildDir("lrelease-test") + "/de.qm")); - QVERIFY(!regularFileExists(relativeProductBuildDir("lrelease-test") + "/hu.qm")); -} - void TestBlackbox::missingDependency() { QDir::setCurrent(testDataDir + "/missing-dependency"); diff --git a/tests/auto/blackbox/tst_blackbox.h b/tests/auto/blackbox/tst_blackbox.h index ac0b7b152..bff0244ec 100644 --- a/tests/auto/blackbox/tst_blackbox.h +++ b/tests/auto/blackbox/tst_blackbox.h @@ -46,7 +46,6 @@ private slots: void assembly(); void assetCatalog(); void assetCatalog_data(); - void autoQrc(); void badInterpreter(); void buildDirectories(); void bundleStructure(); @@ -58,16 +57,12 @@ private slots: void checkProjectFilePath(); void clean(); void cli(); - void combinedMoc(); void combinedSources(); void commandFile(); void concurrentExecutor(); void conditionalExport(); void conditionalFileTagger(); void conflictingArtifacts(); - void createProject(); - void dbusAdaptors(); - void dbusInterfaces(); void dependenciesProperty(); void dependencyProfileMismatch(); void deploymentTarget(); @@ -124,11 +119,8 @@ private slots: void listPropertiesWithOuter(); void listPropertyOrder(); void loadableModule(); - void lrelease(); void missingDependency(); void missingProjectFile(); - void mixedBuildVariants(); - void mocFlags(); void multipleChanges(); void nestedGroups(); void nestedProperties(); @@ -145,7 +137,6 @@ private slots: void pkgConfigProbe_data(); void pkgConfigProbeSysroot(); void pluginDependency(); - void pluginMetaData(); void probeChangeTracking(); void probeProperties(); void probeInExportedModule(); @@ -159,11 +150,7 @@ private slots: void properQuoting(); void propertiesInExportItems(); void qbsVersion(); - void qmlDebugging(); - void qobjectInObjectiveCpp(); void qtBug51237(); - void qtKeywords(); - void qtScxml(); void radAfterIncompleteBuild(); void radAfterIncompleteBuild_data(); void recursiveRenaming(); @@ -188,7 +175,6 @@ private slots: void renameDependency(); void separateDebugInfo(); void sevenZip(); - void staticQtPluginLinking(); void suspiciousCalls(); void suspiciousCalls_data(); void systemRunPaths(); @@ -196,11 +182,8 @@ private slots: void tar(); void toolLookup(); void topLevelSearchPath(); - void track_qobject_change(); - void track_qrc(); void trackAddFile(); void trackAddFileTag(); - void trackAddMocInclude(); void trackAddProduct(); void trackExternalProductChanges(); void trackGroupConditionChange(); diff --git a/tests/auto/blackbox/tst_blackboxbase.cpp b/tests/auto/blackbox/tst_blackboxbase.cpp index 7ab4d66e9..80bfc22e3 100644 --- a/tests/auto/blackbox/tst_blackboxbase.cpp +++ b/tests/auto/blackbox/tst_blackboxbase.cpp @@ -173,15 +173,7 @@ void TestBlackboxBase::initTestCase() QFAIL(QByteArray("The build profile '" + profileName().toLocal8Bit() + "' could not be found. Please set it up on your machine.")); - Profile buildProfile(profileName(), s.get()); - const QStringList searchPaths - = buildProfile.value(QLatin1String("preferences.qbsSearchPaths")).toStringList(); - if (searchPaths.isEmpty()) - QFAIL(QByteArray("The build profile '" + profileName().toLocal8Bit() + - "' is not a valid Qt profile.")); - if (!QFileInfo(searchPaths.first()).isDir()) - QFAIL(QByteArray("The build profile '" + profileName().toLocal8Bit() + - "' points to an invalid qbs search path.")); + validateTestProfile(); // Initialize the test data directory. QVERIFY(testDataDir != testSourceDir); diff --git a/tests/auto/blackbox/tst_blackboxbase.h b/tests/auto/blackbox/tst_blackboxbase.h index 8623d898b..7612636bd 100644 --- a/tests/auto/blackbox/tst_blackboxbase.h +++ b/tests/auto/blackbox/tst_blackboxbase.h @@ -77,6 +77,7 @@ public slots: void initTestCase(); protected: + virtual void validateTestProfile() { } int runQbs(const QbsRunParameters ¶ms = QbsRunParameters()); void rmDirR(const QString &dir); static QByteArray unifiedLineEndings(const QByteArray &ba); diff --git a/tests/auto/blackbox/tst_blackboxqt.cpp b/tests/auto/blackbox/tst_blackboxqt.cpp new file mode 100644 index 000000000..0f6039304 --- /dev/null +++ b/tests/auto/blackbox/tst_blackboxqt.cpp @@ -0,0 +1,311 @@ +/**************************************************************************** +** +** Copyright (C) 2016 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_blackboxqt.h" + +#include "../shared.h" +#include <tools/hostosinfo.h> +#include <tools/profile.h> + +#include <QtCore/qjsondocument.h> + +#define WAIT_FOR_NEW_TIMESTAMP() waitForNewTimestamp(testDataDir) + +using qbs::Internal::HostOsInfo; +using qbs::Profile; + +TestBlackboxQt::TestBlackboxQt() : TestBlackboxBase (SRCDIR "/testdata-qt", "blackbox-qt") +{ +} + +void TestBlackboxQt::validateTestProfile() +{ + const SettingsPtr s = settings(); + if (!s->profiles().contains(profileName())) + QFAIL(QByteArray("The build profile '" + profileName().toLocal8Bit() + + "' could not be found. Please set it up on your machine.")); + + Profile buildProfile(profileName(), s.get()); + const QStringList searchPaths + = buildProfile.value(QLatin1String("preferences.qbsSearchPaths")).toStringList(); + if (searchPaths.isEmpty()) + QFAIL(QByteArray("The build profile '" + profileName().toLocal8Bit() + + "' is not a valid Qt profile.")); + if (!QFileInfo(searchPaths.first()).isDir()) + QFAIL(QByteArray("The build profile '" + profileName().toLocal8Bit() + + "' points to an invalid qbs search path.")); +} + +void TestBlackboxQt::autoQrc() +{ + QDir::setCurrent(testDataDir + "/auto-qrc"); + QCOMPARE(runQbs(), 0); + QVERIFY2(m_qbsStdout.simplified().contains("resource data: resource1 resource2"), + m_qbsStdout.constData()); +} + +void TestBlackboxQt::combinedMoc() +{ + QDir::setCurrent(testDataDir + "/combined-moc"); + QCOMPARE(runQbs(), 0); + QVERIFY(m_qbsStdout.contains("compiling moc_theobject.cpp")); + QVERIFY(!m_qbsStdout.contains("creating amalgamated_moc_theapp.cpp")); + QVERIFY(!m_qbsStdout.contains("compiling amalgamated_moc_theapp.cpp")); + QbsRunParameters params(QStringList("Qt.core.combineMocOutput:true")); + params.command = "resolve"; + QCOMPARE(runQbs(params), 0); + params.command = "build"; + QCOMPARE(runQbs(params), 0); + QVERIFY(!m_qbsStdout.contains("compiling moc_theobject.cpp")); + QVERIFY(m_qbsStdout.contains("creating amalgamated_moc_theapp.cpp")); + QVERIFY(m_qbsStdout.contains("compiling amalgamated_moc_theapp.cpp")); +} + +void TestBlackboxQt::createProject() +{ + QDir::setCurrent(testDataDir + "/create-project"); + QVERIFY(QFile::copy(SRCDIR "/../../../examples/helloworld-qt/main.cpp", + QDir::currentPath() + "/main.cpp")); + QbsRunParameters createParams("create-project"); + createParams.useProfile = false; + QCOMPARE(runQbs(createParams), 0); + createParams.expectFailure = true; + QVERIFY(runQbs(createParams) != 0); + QVERIFY2(m_qbsStderr.contains("already contains qbs files"), m_qbsStderr.constData()); + QCOMPARE(runQbs(), 0); + QVERIFY2(m_qbsStdout.contains("compiling"), m_qbsStdout.constData()); +} + +void TestBlackboxQt::dbusAdaptors() +{ + QDir::setCurrent(testDataDir + "/dbus-adaptors"); + QCOMPARE(runQbs(), 0); +} + +void TestBlackboxQt::dbusInterfaces() +{ + QDir::setCurrent(testDataDir + "/dbus-interfaces"); + QCOMPARE(runQbs(), 0); +} + +void TestBlackboxQt::lrelease() +{ + QDir::setCurrent(testDataDir + QLatin1String("/lrelease")); + QCOMPARE(runQbs(), 0); + QVERIFY(regularFileExists(relativeProductBuildDir("lrelease-test") + "/de.qm")); + QVERIFY(regularFileExists(relativeProductBuildDir("lrelease-test") + "/hu.qm")); + + QCOMPARE(runQbs(QString("clean")), 0); + QbsRunParameters params(QStringList({ "Qt.core.lreleaseMultiplexMode:true"})); + params.command = "resolve"; + QCOMPARE(runQbs(params), 0); + params.command = "build"; + QCOMPARE(runQbs(params), 0); + QVERIFY(regularFileExists(relativeProductBuildDir("lrelease-test") + "/lrelease-test.qm")); + QVERIFY(!regularFileExists(relativeProductBuildDir("lrelease-test") + "/de.qm")); + QVERIFY(!regularFileExists(relativeProductBuildDir("lrelease-test") + "/hu.qm")); + + QCOMPARE(runQbs(QString("clean")), 0); + params.command = "resolve"; + params.arguments << "Qt.core.qmBaseName:somename"; + QCOMPARE(runQbs(params), 0); + params.command = "build"; + params.arguments.clear(); + QCOMPARE(runQbs(params), 0); + QVERIFY(regularFileExists(relativeProductBuildDir("lrelease-test") + "/somename.qm")); + QVERIFY(!regularFileExists(relativeProductBuildDir("lrelease-test") + "/lrelease-test.qm")); + QVERIFY(!regularFileExists(relativeProductBuildDir("lrelease-test") + "/de.qm")); + QVERIFY(!regularFileExists(relativeProductBuildDir("lrelease-test") + "/hu.qm")); +} + +void TestBlackboxQt::mixedBuildVariants() +{ + QDir::setCurrent(testDataDir + "/mixed-build-variants"); + const SettingsPtr s = settings(); + Profile profile(profileName(), s.get()); + if (profile.value("qbs.toolchain").toStringList().contains("msvc")) { + QbsRunParameters params; + params.arguments << "qbs.buildVariant:debug"; + params.expectFailure = true; + QVERIFY(runQbs(params) != 0); + QVERIFY2(m_qbsStderr.contains("not allowed"), m_qbsStderr.constData()); + } else { + QbsRunParameters params; + params.expectFailure = true; + QVERIFY(runQbs(params) != 0); + QVERIFY2(m_qbsStderr.contains("not supported"), m_qbsStderr.constData()); + } +} + +void TestBlackboxQt::mocFlags() +{ + QDir::setCurrent(testDataDir + "/moc-flags"); + QCOMPARE(runQbs(), 0); + WAIT_FOR_NEW_TIMESTAMP(); + QbsRunParameters params; + params.expectFailure = true; + params.arguments << "Qt.core.mocFlags:-E"; + QVERIFY(runQbs(params) != 0); +} + +void TestBlackboxQt::pluginMetaData() +{ + QDir::setCurrent(testDataDir + "/plugin-meta-data"); + QCOMPARE(runQbs(), 0); + const QString appFilePath = relativeBuildDir() + "/install-root/" + + qbs::Internal::HostOsInfo::appendExecutableSuffix("plugin-meta-data"); + QVERIFY(regularFileExists(appFilePath)); + QProcess app; + app.start(appFilePath); + QVERIFY(app.waitForStarted()); + QVERIFY(app.waitForFinished()); + QVERIFY2(app.exitCode() == 0, app.readAllStandardError().constData()); + WAIT_FOR_NEW_TIMESTAMP(); + touch("metadata.json"); + QCOMPARE(runQbs(), 0); + QVERIFY2(m_qbsStdout.contains("moc"), m_qbsStdout.constData()); +} + +void TestBlackboxQt::qmlDebugging() +{ + QDir::setCurrent(testDataDir + "/qml-debugging"); + QCOMPARE(runQbs(), 0); + const SettingsPtr s = settings(); + Profile profile(profileName(), s.get()); + if (!profile.value("qbs.toolchain").toStringList().contains("gcc")) + return; + QProcess nm; + nm.start("nm", QStringList(relativeExecutableFilePath("debuggable-app"))); + if (nm.waitForStarted()) { // Let's ignore hosts without nm. + QVERIFY2(nm.waitForFinished(), qPrintable(nm.errorString())); + QVERIFY2(nm.exitCode() == 0, nm.readAllStandardError().constData()); + const QByteArray output = nm.readAllStandardOutput(); + QVERIFY2(output.toLower().contains("debugginghelper"), output.constData()); + } +} + +void TestBlackboxQt::qobjectInObjectiveCpp() +{ + if (!HostOsInfo::isMacosHost()) + QSKIP("only applies on macOS"); + const QString testDir = testDataDir + "/qobject-in-mm"; + QDir::setCurrent(testDir); + QCOMPARE(runQbs(), 0); +} + +void TestBlackboxQt::qtKeywords() +{ + QDir::setCurrent(testDataDir + "/qt-keywords"); + QbsRunParameters params(QStringList("Qt.core.enableKeywords:false")); + params.expectFailure = true; + QVERIFY(runQbs(params) != 0); + params.arguments.clear(); + QVERIFY(runQbs(params) != 0); + params.command = "resolve"; + QCOMPARE(runQbs(params), 0); + params.command = "build"; + QCOMPARE(runQbs(params), 0); +} + +void TestBlackboxQt::qtScxml() +{ + QDir::setCurrent(testDataDir + "/qtscxml"); + QCOMPARE(runQbs(), 0); + if (m_qbsStdout.contains("QtScxml not present")) + QSKIP("QtScxml module not present"); + QVERIFY2(m_qbsStdout.contains("state machine name: qbs_test_machine"), + m_qbsStdout.constData()); +} + + +void TestBlackboxQt::staticQtPluginLinking() +{ + QDir::setCurrent(testDataDir + "/static-qt-plugin-linking"); + QCOMPARE(runQbs(), 0); + const bool isStaticQt = m_qbsStdout.contains("Qt is static"); + QVERIFY2(m_qbsStdout.contains("Creating static import") == isStaticQt, m_qbsStdout.constData()); +} + +void TestBlackboxQt::trackAddMocInclude() +{ + QDir::setCurrent(testDataDir + "/trackAddMocInclude"); + if (QFile::exists("work")) + rmDirR("work"); + QDir().mkdir("work"); + ccp("before", "work"); + QDir::setCurrent(testDataDir + "/trackAddMocInclude/work"); + // The build must fail because the main.moc include is missing. + QbsRunParameters params; + params.expectFailure = true; + QVERIFY(runQbs(params) != 0); + + WAIT_FOR_NEW_TIMESTAMP(); + ccp("../after", "."); + touch("main.cpp"); + QCOMPARE(runQbs(), 0); +} + +void TestBlackboxQt::track_qobject_change() +{ + QDir::setCurrent(testDataDir + "/trackQObjChange"); + copyFileAndUpdateTimestamp("bla_qobject.h", "bla.h"); + QCOMPARE(runQbs(), 0); + const QString productFilePath = relativeExecutableFilePath("i"); + QVERIFY2(regularFileExists(productFilePath), qPrintable(productFilePath)); + QString moc_bla_objectFileName = relativeProductBuildDir("i") + "/.obj/" + + inputDirHash("qt.headers") + objectFileName("/moc_bla.cpp", profileName()); + QVERIFY2(regularFileExists(moc_bla_objectFileName), qPrintable(moc_bla_objectFileName)); + + WAIT_FOR_NEW_TIMESTAMP(); + copyFileAndUpdateTimestamp("bla_noqobject.h", "bla.h"); + QCOMPARE(runQbs(), 0); + QVERIFY(regularFileExists(productFilePath)); + QVERIFY(!QFile(moc_bla_objectFileName).exists()); +} + +void TestBlackboxQt::track_qrc() +{ + QDir::setCurrent(testDataDir + "/qrc"); + QCOMPARE(runQbs(), 0); + const QString fileName = relativeExecutableFilePath("i"); + QVERIFY2(regularFileExists(fileName), qPrintable(fileName)); + QDateTime dt = QFileInfo(fileName).lastModified(); + WAIT_FOR_NEW_TIMESTAMP(); + { + QFile f("stuff.txt"); + f.remove(); + QVERIFY(f.open(QFile::WriteOnly)); + f.write("bla"); + f.close(); + } + QCOMPARE(runQbs(), 0); + QVERIFY(regularFileExists(fileName)); + QVERIFY(dt < QFileInfo(fileName).lastModified()); +} + +QTEST_MAIN(TestBlackboxQt) diff --git a/tests/auto/blackbox/tst_blackboxqt.h b/tests/auto/blackbox/tst_blackboxqt.h new file mode 100644 index 000000000..5b8ceaae4 --- /dev/null +++ b/tests/auto/blackbox/tst_blackboxqt.h @@ -0,0 +1,64 @@ +/**************************************************************************** +** +** Copyright (C) 2016 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$ +** +****************************************************************************/ + +#ifndef TST_BLACKBOXQT_H +#define TST_BLACKBOXQT_H + +#include "tst_blackboxbase.h" + +class TestBlackboxQt : public TestBlackboxBase +{ + Q_OBJECT + +public: + TestBlackboxQt(); + +protected: + void validateTestProfile() override; + +private slots: + void autoQrc(); + void combinedMoc(); + void createProject(); + void dbusAdaptors(); + void dbusInterfaces(); + void lrelease(); + void mixedBuildVariants(); + void mocFlags(); + void pluginMetaData(); + void qmlDebugging(); + void qobjectInObjectiveCpp(); + void qtKeywords(); + void qtScxml(); + void staticQtPluginLinking(); + void trackAddMocInclude(); + void track_qobject_change(); + void track_qrc(); +}; + +#endif // TST_BLACKBOXQT_H |