aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/blackbox
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@digia.com>2014-07-16 17:58:06 +0200
committerChristian Kandeler <christian.kandeler@digia.com>2014-07-16 18:20:45 +0200
commitbedf128a9ac1d6ac25835d1c5d68229766656457 (patch)
tree1033a6104659cef407c8647cc98008950a977a22 /tests/auto/blackbox
parent53a95b6f16788c6c248bb695b9ce9ad5e3a031ab (diff)
Take product type changes into account when change tracking.
This property is special: We cannot just test for relevance by checking whether it is used in any transformers, because changing it can cause new transformers to get pulled in. Task-number: QBS-650 Change-Id: If18495b47c7238fc8a1256146f4e935ce9655b18 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Diffstat (limited to 'tests/auto/blackbox')
-rw-r--r--tests/auto/blackbox/testdata/type-change/main.cpp1
-rw-r--r--tests/auto/blackbox/testdata/type-change/project.qbs7
-rw-r--r--tests/auto/blackbox/tst_blackbox.cpp17
-rw-r--r--tests/auto/blackbox/tst_blackbox.h1
4 files changed, 26 insertions, 0 deletions
diff --git a/tests/auto/blackbox/testdata/type-change/main.cpp b/tests/auto/blackbox/testdata/type-change/main.cpp
new file mode 100644
index 000000000..237c8ce18
--- /dev/null
+++ b/tests/auto/blackbox/testdata/type-change/main.cpp
@@ -0,0 +1 @@
+int main() {}
diff --git a/tests/auto/blackbox/testdata/type-change/project.qbs b/tests/auto/blackbox/testdata/type-change/project.qbs
new file mode 100644
index 000000000..7661aa305
--- /dev/null
+++ b/tests/auto/blackbox/testdata/type-change/project.qbs
@@ -0,0 +1,7 @@
+import qbs
+
+Product {
+ files: "main.cpp"
+ Depends { name: "cpp" }
+ // type: "application"
+}
diff --git a/tests/auto/blackbox/tst_blackbox.cpp b/tests/auto/blackbox/tst_blackbox.cpp
index e4ae5537f..7ec9d7378 100644
--- a/tests/auto/blackbox/tst_blackbox.cpp
+++ b/tests/auto/blackbox/tst_blackbox.cpp
@@ -503,6 +503,23 @@ void TestBlackbox::resolve_project_dry_run()
QVERIFY2(!QFile::exists(buildGraphPath), qPrintable(buildGraphPath));
}
+void TestBlackbox::typeChange()
+{
+ QDir::setCurrent(testDataDir + "/type-change");
+ QCOMPARE(runQbs(), 0);
+ QVERIFY2(!m_qbsStdout.contains("compiling"), m_qbsStdout.constData());
+ waitForNewTimestamp();
+ QFile projectFile("project.qbs");
+ QVERIFY2(projectFile.open(QIODevice::ReadWrite), qPrintable(projectFile.errorString()));
+ QByteArray content = projectFile.readAll();
+ content.replace("//", "");
+ projectFile.resize(0);
+ projectFile.write(content);
+ projectFile.close();
+ QCOMPARE(runQbs(), 0);
+ QVERIFY2(m_qbsStdout.contains("compiling"), m_qbsStdout.constData());
+}
+
void TestBlackbox::usingsAsSoleInputsNonMultiplexed()
{
QDir::setCurrent(testDataDir + QLatin1String("/usings-as-sole-inputs-non-multiplexed"));
diff --git a/tests/auto/blackbox/tst_blackbox.h b/tests/auto/blackbox/tst_blackbox.h
index 658653bc9..aa8310a28 100644
--- a/tests/auto/blackbox/tst_blackbox.h
+++ b/tests/auto/blackbox/tst_blackbox.h
@@ -140,6 +140,7 @@ private slots:
void resolve_project();
void resolve_project_dry_run_data();
void resolve_project_dry_run();
+ void typeChange();
void usingsAsSoleInputsNonMultiplexed();
void clean();
void exportSimple();