aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@qt.io>2017-06-19 13:39:38 +0200
committerJoerg Bornemann <joerg.bornemann@qt.io>2017-06-20 10:53:47 +0000
commitf7a58addeafee793a9450fb5dd75514c74678f7d (patch)
tree5e26a4f8f459030b5f94a74277ce476ac3b7c5cc /tests
parentbf1f4dddb148bd71922d0d47d70e6255e97253d1 (diff)
Extend TestBlackbox::pchChangeTracking
The stable header file pch.h is force-included in every source file. Check that changing pch.h invalidates every obj file, even those whose cpp file does not explicitly include pch.h. Change-Id: Icfa4654dffbb6be7e972d899fcedbc4519a6c71d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/blackbox/testdata/pch-change-tracking/header1.h6
-rw-r--r--tests/auto/blackbox/testdata/pch-change-tracking/header2.cpp8
-rw-r--r--tests/auto/blackbox/testdata/pch-change-tracking/header2.h3
-rw-r--r--tests/auto/blackbox/testdata/pch-change-tracking/main.cpp3
-rw-r--r--tests/auto/blackbox/testdata/pch-change-tracking/pch-change-tracking.qbs1
-rw-r--r--tests/auto/blackbox/tst_blackbox.cpp8
6 files changed, 25 insertions, 4 deletions
diff --git a/tests/auto/blackbox/testdata/pch-change-tracking/header1.h b/tests/auto/blackbox/testdata/pch-change-tracking/header1.h
index 2837dbdb8..828c2eab7 100644
--- a/tests/auto/blackbox/testdata/pch-change-tracking/header1.h
+++ b/tests/auto/blackbox/testdata/pch-change-tracking/header1.h
@@ -26,4 +26,10 @@
**
****************************************************************************/
+#pragma once
#include <iostream>
+
+inline void printGreeting()
+{
+ std::cout << "Tach." << std::endl;
+}
diff --git a/tests/auto/blackbox/testdata/pch-change-tracking/header2.cpp b/tests/auto/blackbox/testdata/pch-change-tracking/header2.cpp
new file mode 100644
index 000000000..17213a4a9
--- /dev/null
+++ b/tests/auto/blackbox/testdata/pch-change-tracking/header2.cpp
@@ -0,0 +1,8 @@
+#include "header2.h"
+// header1 is forced-included via pch.
+
+void printPersonalGreeting()
+{
+ printGreeting();
+ std::cout << "Was geht, Rumpelstilzchen?" << std::endl;
+}
diff --git a/tests/auto/blackbox/testdata/pch-change-tracking/header2.h b/tests/auto/blackbox/testdata/pch-change-tracking/header2.h
index 50841a226..e0d28dcb3 100644
--- a/tests/auto/blackbox/testdata/pch-change-tracking/header2.h
+++ b/tests/auto/blackbox/testdata/pch-change-tracking/header2.h
@@ -25,3 +25,6 @@
** $QT_END_LICENSE$
**
****************************************************************************/
+
+#pragma once
+void printPersonalGreeting();
diff --git a/tests/auto/blackbox/testdata/pch-change-tracking/main.cpp b/tests/auto/blackbox/testdata/pch-change-tracking/main.cpp
index 609293e60..b3badcc56 100644
--- a/tests/auto/blackbox/testdata/pch-change-tracking/main.cpp
+++ b/tests/auto/blackbox/testdata/pch-change-tracking/main.cpp
@@ -31,5 +31,6 @@
int main()
{
- std::cout << "Tach." << std::endl;
+ printGreeting();
+ printPersonalGreeting();
}
diff --git a/tests/auto/blackbox/testdata/pch-change-tracking/pch-change-tracking.qbs b/tests/auto/blackbox/testdata/pch-change-tracking/pch-change-tracking.qbs
index 76fd41a83..273ec682b 100644
--- a/tests/auto/blackbox/testdata/pch-change-tracking/pch-change-tracking.qbs
+++ b/tests/auto/blackbox/testdata/pch-change-tracking/pch-change-tracking.qbs
@@ -4,6 +4,7 @@ CppApplication {
cpp.useCxxPrecompiledHeader: true
files: [
"header1.h",
+ "header2.cpp",
"header2.h",
"main.cpp",
]
diff --git a/tests/auto/blackbox/tst_blackbox.cpp b/tests/auto/blackbox/tst_blackbox.cpp
index 250aa712d..e87128b58 100644
--- a/tests/auto/blackbox/tst_blackbox.cpp
+++ b/tests/auto/blackbox/tst_blackbox.cpp
@@ -1766,15 +1766,17 @@ void TestBlackbox::pchChangeTracking()
{
QDir::setCurrent(testDataDir + "/pch-change-tracking");
QCOMPARE(runQbs(), 0);
- QVERIFY(m_qbsStdout.contains("compiling pch.h"));
+ QVERIFY(m_qbsStdout.contains("precompiling pch.h (cpp)"));
WAIT_FOR_NEW_TIMESTAMP();
touch("header1.h");
QCOMPARE(runQbs(), 0);
- QVERIFY(m_qbsStdout.contains("compiling pch.h"));
+ QVERIFY(m_qbsStdout.contains("precompiling pch.h (cpp)"));
+ QVERIFY(m_qbsStdout.contains("compiling header2.cpp"));
+ QVERIFY(m_qbsStdout.contains("compiling main.cpp"));
WAIT_FOR_NEW_TIMESTAMP();
touch("header2.h");
QCOMPARE(runQbs(), 0);
- QVERIFY2(!m_qbsStdout.contains("compiling pch.h"), m_qbsStdout.constData());
+ QVERIFY2(!m_qbsStdout.contains("precompiling pch.h (cpp)"), m_qbsStdout.constData());
}
void TestBlackbox::pkgConfigProbe()