aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJake Petroules <jake.petroules@qt.io>2017-05-25 16:35:48 -0700
committerJake Petroules <jake.petroules@qt.io>2017-05-30 14:14:23 +0000
commit73da5637c1ee9a2ee2efecbcc050d885b9385f51 (patch)
tree6b3505125a86f9582f32e05ac7b633fe7be765e5
parent8e9bab9072941196bf6709ac762c1f99e67a21a8 (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.pro1
-rw-r--r--tests/auto/auto.qbs1
-rw-r--r--tests/auto/blackbox/blackbox-qt.pro17
-rw-r--r--tests/auto/blackbox/blackbox-qt.qbs22
-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.cpp246
-rw-r--r--tests/auto/blackbox/tst_blackbox.h17
-rw-r--r--tests/auto/blackbox/tst_blackboxbase.cpp10
-rw-r--r--tests/auto/blackbox/tst_blackboxbase.h1
-rw-r--r--tests/auto/blackbox/tst_blackboxqt.cpp311
-rw-r--r--tests/auto/blackbox/tst_blackboxqt.h64
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 &params = 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