aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2017-08-11 12:45:24 +0200
committerChristian Kandeler <christian.kandeler@qt.io>2017-08-14 09:07:57 +0000
commita590bcb89cf42017206991107111df95c5612dfc (patch)
tree8d6109f3474ac80e1c0a812f1496ce713f9011a0 /tests
parentc83ae7c3c01e17e00eff9a8aaf08807702578227 (diff)
Fix build data rescuing when multiplexing
The code assumed that we could only multiplex over profiles, which is no longer true. Change-Id: Ia0a522b701d3ed983d484d0683e1417ab2adeb94 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/blackbox/testdata/change-tracking-and-multiplexing/change-tracking-and-multiplexing.qbs13
-rw-r--r--tests/auto/blackbox/testdata/change-tracking-and-multiplexing/lib.cpp1
-rw-r--r--tests/auto/blackbox/tst_blackbox.cpp13
-rw-r--r--tests/auto/blackbox/tst_blackbox.h1
4 files changed, 28 insertions, 0 deletions
diff --git a/tests/auto/blackbox/testdata/change-tracking-and-multiplexing/change-tracking-and-multiplexing.qbs b/tests/auto/blackbox/testdata/change-tracking-and-multiplexing/change-tracking-and-multiplexing.qbs
new file mode 100644
index 000000000..78bd8abda
--- /dev/null
+++ b/tests/auto/blackbox/testdata/change-tracking-and-multiplexing/change-tracking-and-multiplexing.qbs
@@ -0,0 +1,13 @@
+import qbs
+
+StaticLibrary {
+ name: "l"
+
+ Depends { condition: qbs.targetOS.contains("darwin"); name: "bundle" }
+ Properties { condition: qbs.targetOS.contains("darwin"); bundle.isBundle: false }
+
+ multiplexByQbsProperties: ["buildVariants"]
+ qbs.buildVariants: ["debug", "release"]
+ Depends { name: "cpp" }
+ files: ["lib.cpp"]
+}
diff --git a/tests/auto/blackbox/testdata/change-tracking-and-multiplexing/lib.cpp b/tests/auto/blackbox/testdata/change-tracking-and-multiplexing/lib.cpp
new file mode 100644
index 000000000..9a6145659
--- /dev/null
+++ b/tests/auto/blackbox/testdata/change-tracking-and-multiplexing/lib.cpp
@@ -0,0 +1 @@
+void l() {}
diff --git a/tests/auto/blackbox/tst_blackbox.cpp b/tests/auto/blackbox/tst_blackbox.cpp
index 2018259b1..f26f33d53 100644
--- a/tests/auto/blackbox/tst_blackbox.cpp
+++ b/tests/auto/blackbox/tst_blackbox.cpp
@@ -598,6 +598,19 @@ void TestBlackbox::changeInImportedFile()
QVERIFY2(!m_qbsStdout.contains("output"), m_qbsStdout.constData());
}
+void TestBlackbox::changeTrackingAndMultiplexing()
+{
+ QDir::setCurrent(testDataDir + "/change-tracking-and-multiplexing");
+ QCOMPARE(runQbs(QStringList("modules.cpp.staticLibraryPrefix:prefix1")), 0);
+ QCOMPARE(m_qbsStdout.count("compiling lib.cpp"), 2);
+ QCOMPARE(m_qbsStdout.count("creating prefix1l"), 2);
+ QCOMPARE(runQbs(QbsRunParameters("resolve",
+ QStringList("modules.cpp.staticLibraryPrefix:prefix2"))), 0);
+ QCOMPARE(runQbs(), 0);
+ QCOMPARE(m_qbsStdout.count("compiling lib.cpp"), 0);
+ QCOMPARE(m_qbsStdout.count("creating prefix2l"), 2);
+}
+
static QJsonObject findByName(const QJsonArray &objects, const QString &name)
{
for (const QJsonValue v : objects) {
diff --git a/tests/auto/blackbox/tst_blackbox.h b/tests/auto/blackbox/tst_blackbox.h
index 1337644fb..1426046cf 100644
--- a/tests/auto/blackbox/tst_blackbox.h
+++ b/tests/auto/blackbox/tst_blackbox.h
@@ -52,6 +52,7 @@ private slots:
void changedFiles();
void changeInDisabledProduct();
void changeInImportedFile();
+ void changeTrackingAndMultiplexing();
void checkProjectFilePath();
void clean();
void cli();