From aba09cc115bddb008913d4a14bdfb0d1f44fa44f Mon Sep 17 00:00:00 2001 From: Marco Bubke Date: Mon, 13 Feb 2017 13:30:29 +0100 Subject: [PATCH] Clang: Add test for include collector To be secure that include is only called it the definition is true. Change-Id: I04bae9860e64206a1c6886d7cf1682a87e9f9a07 Reviewed-by: Tim Jenssen --- tests/unit/unittest/data/includecollector_false.h | 2 ++ tests/unit/unittest/data/includecollector_if.cpp | 7 +++++++ tests/unit/unittest/data/includecollector_true.h | 2 ++ tests/unit/unittest/includecollector-test.cpp | 10 ++++++++++ 4 files changed, 21 insertions(+) create mode 100644 tests/unit/unittest/data/includecollector_false.h create mode 100644 tests/unit/unittest/data/includecollector_if.cpp create mode 100644 tests/unit/unittest/data/includecollector_true.h diff --git a/tests/unit/unittest/data/includecollector_false.h b/tests/unit/unittest/data/includecollector_false.h new file mode 100644 index 00000000000..3f59c932d39 --- /dev/null +++ b/tests/unit/unittest/data/includecollector_false.h @@ -0,0 +1,2 @@ +#pragma once + diff --git a/tests/unit/unittest/data/includecollector_if.cpp b/tests/unit/unittest/data/includecollector_if.cpp new file mode 100644 index 00000000000..fab79180e26 --- /dev/null +++ b/tests/unit/unittest/data/includecollector_if.cpp @@ -0,0 +1,7 @@ +#if 0 +#include "includecollector_false.h" +#endif + +#if 1 +#include "includecollector_true.h" +#endif diff --git a/tests/unit/unittest/data/includecollector_true.h b/tests/unit/unittest/data/includecollector_true.h new file mode 100644 index 00000000000..3f59c932d39 --- /dev/null +++ b/tests/unit/unittest/data/includecollector_true.h @@ -0,0 +1,2 @@ +#pragma once + diff --git a/tests/unit/unittest/includecollector-test.cpp b/tests/unit/unittest/includecollector-test.cpp index 8de9c04f78c..eacfbcebb7f 100644 --- a/tests/unit/unittest/includecollector-test.cpp +++ b/tests/unit/unittest/includecollector-test.cpp @@ -87,6 +87,16 @@ TEST_F(IncludeCollector, IncludesAreSorted) ElementsAre(0, 1, 2)); } +TEST_F(IncludeCollector, If) +{ + emptyCollector.addFile(TESTDATA_DIR, "includecollector_if.cpp", "", {"cc", "includecollector_if.cpp"}); + + emptyCollector.collectIncludes(); + + ASSERT_THAT(emptyCollector.takeIncludeIds(), + ElementsAre(id(TESTDATA_DIR "/includecollector_true.h"))); +} + TEST_F(IncludeCollector, LocalPath) { emptyCollector.addFile(TESTDATA_DIR, "includecollector_main.cpp", "", {"cc", "includecollector_main.cpp"});