diff options
author | Joerg Bornemann <joerg.bornemann@qt.io> | 2017-06-19 13:39:38 +0200 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@qt.io> | 2017-06-20 10:53:47 +0000 |
commit | f7a58addeafee793a9450fb5dd75514c74678f7d (patch) | |
tree | 5e26a4f8f459030b5f94a74277ce476ac3b7c5cc /tests | |
parent | bf1f4dddb148bd71922d0d47d70e6255e97253d1 (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')
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() |