Просмотр исходного кода

Merge topic 'test-pch'

dac2823975 Tests: Split RunCMake.PrecompileHeaders into multiple tests

Acked-by: Kitware Robot <[email protected]>
Acked-by: buildbot <[email protected]>
Merge-request: !11410
Brad King 2 месяцев назад
Родитель
Сommit
8ff110d4be
38 измененных файлов с 87 добавлено и 22 удалено
  1. 1 0
      Tests/RunCMake/CMakeLists.txt
  2. 3 0
      Tests/RunCMake/PrecompileHeaders-Reuse/CMakeLists.txt
  3. 0 0
      Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseAppend-build-stderr.txt
  4. 0 0
      Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseAppend.cmake
  5. 0 0
      Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseConsistency-build-stderr.txt
  6. 0 0
      Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseConsistency.cmake
  7. 0 0
      Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseDeclarationOrder-build-stderr.txt
  8. 0 0
      Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseDeclarationOrder.cmake
  9. 0 0
      Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseFrom-CMP0141-NEW-empty.cmake
  10. 0 0
      Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseFrom-CMP0141-NEW.cmake
  11. 0 0
      Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseFrom-CMP0141-OLD-stderr.txt
  12. 0 0
      Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseFrom-CMP0141-OLD.cmake
  13. 0 0
      Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseFrom-CMP0141-common.cmake
  14. 0 0
      Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseFromCycle-result.txt
  15. 0 0
      Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseFromCycle-stderr.txt
  16. 0 0
      Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseFromCycle.cmake
  17. 0 0
      Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseFromIgnoreOwnProps-build-check.cmake
  18. 0 0
      Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseFromIgnoreOwnProps-build-stderr.txt
  19. 0 0
      Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseFromIgnoreOwnProps.cmake
  20. 0 0
      Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseFromObjLib.cmake
  21. 0 0
      Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseFromPrefixed-build-stderr.txt
  22. 0 0
      Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseFromPrefixed.cmake
  23. 0 0
      Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseFromSubdir-build-stderr.txt
  24. 0 0
      Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseFromSubdir.cmake
  25. 0 0
      Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseFromUseUpdatedProps-build-check.cmake
  26. 0 0
      Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseFromUseUpdatedProps-build-stderr.txt
  27. 0 0
      Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseFromUseUpdatedProps.cmake
  28. 0 0
      Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseWithoutPch-stderr.txt
  29. 0 0
      Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseWithoutPch.cmake
  30. 32 0
      Tests/RunCMake/PrecompileHeaders-Reuse/RunCMakeTest.cmake
  31. 3 0
      Tests/RunCMake/PrecompileHeaders-Reuse/empty.c
  32. 13 0
      Tests/RunCMake/PrecompileHeaders-Reuse/foo.c
  33. 14 0
      Tests/RunCMake/PrecompileHeaders-Reuse/foobar.c
  34. 9 0
      Tests/RunCMake/PrecompileHeaders-Reuse/include/bar.h
  35. 6 0
      Tests/RunCMake/PrecompileHeaders-Reuse/include/foo.h
  36. 6 0
      Tests/RunCMake/PrecompileHeaders-Reuse/include/foo2.h
  37. 0 0
      Tests/RunCMake/PrecompileHeaders-Reuse/subdir/CMakeLists.txt
  38. 0 22
      Tests/RunCMake/PrecompileHeaders/RunCMakeTest.cmake

+ 1 - 0
Tests/RunCMake/CMakeLists.txt

@@ -1369,6 +1369,7 @@ add_RunCMake_test("CTestCommandExpandLists")
 add_RunCMake_test(PrecompileHeaders -DCMAKE_C_COMPILER_ID=${CMAKE_C_COMPILER_ID}
   -DCMAKE_C_SIMULATE_ID=${CMAKE_C_SIMULATE_ID}
   -DCMAKE_C_COMPILER_VERSION=${CMAKE_C_COMPILER_VERSION})
+add_RunCMake_test(PrecompileHeaders-Reuse -DCMAKE_C_COMPILER_ID=${CMAKE_C_COMPILER_ID})
 
 # This test can take a long time due to the number of test cases.
 # Provide an option to customize it.

+ 3 - 0
Tests/RunCMake/PrecompileHeaders-Reuse/CMakeLists.txt

@@ -0,0 +1,3 @@
+cmake_minimum_required(VERSION 3.15.0)
+project(${RunCMake_TEST} NONE)
+include(${RunCMake_TEST}.cmake)

+ 0 - 0
Tests/RunCMake/PrecompileHeaders/PchReuseAppend-build-stderr.txt → Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseAppend-build-stderr.txt


+ 0 - 0
Tests/RunCMake/PrecompileHeaders/PchReuseAppend.cmake → Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseAppend.cmake


+ 0 - 0
Tests/RunCMake/PrecompileHeaders/PchReuseConsistency-build-stderr.txt → Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseConsistency-build-stderr.txt


+ 0 - 0
Tests/RunCMake/PrecompileHeaders/PchReuseConsistency.cmake → Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseConsistency.cmake


+ 0 - 0
Tests/RunCMake/PrecompileHeaders/PchReuseDeclarationOrder-build-stderr.txt → Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseDeclarationOrder-build-stderr.txt


+ 0 - 0
Tests/RunCMake/PrecompileHeaders/PchReuseDeclarationOrder.cmake → Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseDeclarationOrder.cmake


+ 0 - 0
Tests/RunCMake/PrecompileHeaders/PchReuseFrom-CMP0141-NEW-empty.cmake → Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseFrom-CMP0141-NEW-empty.cmake


+ 0 - 0
Tests/RunCMake/PrecompileHeaders/PchReuseFrom-CMP0141-NEW.cmake → Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseFrom-CMP0141-NEW.cmake


+ 0 - 0
Tests/RunCMake/PrecompileHeaders/PchReuseFrom-CMP0141-OLD-stderr.txt → Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseFrom-CMP0141-OLD-stderr.txt


+ 0 - 0
Tests/RunCMake/PrecompileHeaders/PchReuseFrom-CMP0141-OLD.cmake → Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseFrom-CMP0141-OLD.cmake


+ 0 - 0
Tests/RunCMake/PrecompileHeaders/PchReuseFrom-CMP0141-common.cmake → Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseFrom-CMP0141-common.cmake


+ 0 - 0
Tests/RunCMake/PrecompileHeaders/PchReuseFromCycle-result.txt → Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseFromCycle-result.txt


+ 0 - 0
Tests/RunCMake/PrecompileHeaders/PchReuseFromCycle-stderr.txt → Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseFromCycle-stderr.txt


+ 0 - 0
Tests/RunCMake/PrecompileHeaders/PchReuseFromCycle.cmake → Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseFromCycle.cmake


+ 0 - 0
Tests/RunCMake/PrecompileHeaders/PchReuseFromIgnoreOwnProps-build-check.cmake → Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseFromIgnoreOwnProps-build-check.cmake


+ 0 - 0
Tests/RunCMake/PrecompileHeaders/PchReuseFromIgnoreOwnProps-build-stderr.txt → Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseFromIgnoreOwnProps-build-stderr.txt


+ 0 - 0
Tests/RunCMake/PrecompileHeaders/PchReuseFromIgnoreOwnProps.cmake → Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseFromIgnoreOwnProps.cmake


+ 0 - 0
Tests/RunCMake/PrecompileHeaders/PchReuseFromObjLib.cmake → Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseFromObjLib.cmake


+ 0 - 0
Tests/RunCMake/PrecompileHeaders/PchReuseFromPrefixed-build-stderr.txt → Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseFromPrefixed-build-stderr.txt


+ 0 - 0
Tests/RunCMake/PrecompileHeaders/PchReuseFromPrefixed.cmake → Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseFromPrefixed.cmake


+ 0 - 0
Tests/RunCMake/PrecompileHeaders/PchReuseFromSubdir-build-stderr.txt → Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseFromSubdir-build-stderr.txt


+ 0 - 0
Tests/RunCMake/PrecompileHeaders/PchReuseFromSubdir.cmake → Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseFromSubdir.cmake


+ 0 - 0
Tests/RunCMake/PrecompileHeaders/PchReuseFromUseUpdatedProps-build-check.cmake → Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseFromUseUpdatedProps-build-check.cmake


+ 0 - 0
Tests/RunCMake/PrecompileHeaders/PchReuseFromUseUpdatedProps-build-stderr.txt → Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseFromUseUpdatedProps-build-stderr.txt


+ 0 - 0
Tests/RunCMake/PrecompileHeaders/PchReuseFromUseUpdatedProps.cmake → Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseFromUseUpdatedProps.cmake


+ 0 - 0
Tests/RunCMake/PrecompileHeaders/PchReuseWithoutPch-stderr.txt → Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseWithoutPch-stderr.txt


+ 0 - 0
Tests/RunCMake/PrecompileHeaders/PchReuseWithoutPch.cmake → Tests/RunCMake/PrecompileHeaders-Reuse/PchReuseWithoutPch.cmake


+ 32 - 0
Tests/RunCMake/PrecompileHeaders-Reuse/RunCMakeTest.cmake

@@ -0,0 +1,32 @@
+include(RunCMake)
+
+function(run_test name)
+  set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/${name}-build)
+  run_cmake(${name})
+  set(RunCMake_TEST_NO_CLEAN 1)
+  run_cmake_command(${name}-build ${CMAKE_COMMAND} --build . --config Debug)
+  run_cmake_command(${name}-test ${CMAKE_CTEST_COMMAND} -C Debug)
+endfunction()
+
+function(run_build_verbose name)
+  set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/${name}-build)
+  run_cmake(${name})
+  set(RunCMake_TEST_NO_CLEAN 1)
+  run_cmake_command(${name}-build ${CMAKE_COMMAND} --build . --verbose --config Debug)
+endfunction()
+
+run_test(PchReuseFrom-CMP0141-OLD)
+run_test(PchReuseFrom-CMP0141-NEW)
+if(CMAKE_C_COMPILER_ID STREQUAL "MSVC")
+  run_test(PchReuseFrom-CMP0141-NEW-empty)
+endif()
+run_test(PchReuseFromPrefixed)
+run_test(PchReuseFromSubdir)
+run_build_verbose(PchReuseFromIgnoreOwnProps)
+run_build_verbose(PchReuseFromUseUpdatedProps)
+run_build_verbose(PchReuseConsistency)
+run_cmake(PchReuseFromCycle)
+run_cmake(PchReuseWithoutPch)
+run_build_verbose(PchReuseAppend)
+run_build_verbose(PchReuseDeclarationOrder)
+run_test(PchReuseFromObjLib)

+ 3 - 0
Tests/RunCMake/PrecompileHeaders-Reuse/empty.c

@@ -0,0 +1,3 @@
+void nothing(void)
+{
+}

+ 13 - 0
Tests/RunCMake/PrecompileHeaders-Reuse/foo.c

@@ -0,0 +1,13 @@
+#include "foo.h"
+
+#include "foo2.h"
+
+int foo(void)
+{
+  return 0;
+}
+
+int foo2(void)
+{
+  return 0;
+}

+ 14 - 0
Tests/RunCMake/PrecompileHeaders-Reuse/foobar.c

@@ -0,0 +1,14 @@
+#include "bar.h"
+#include "foo.h"
+#include "foo2.h"
+
+int main(void)
+{
+  int zeroSize = 0;
+
+#ifdef HAVE_PCH_SUPPORT
+  zeroSize = (int)strlen("");
+#endif
+
+  return foo() + foo2() + bar() + zeroSize;
+}

+ 9 - 0
Tests/RunCMake/PrecompileHeaders-Reuse/include/bar.h

@@ -0,0 +1,9 @@
+#ifndef bar_h
+#define bar_h
+
+static int bar(void)
+{
+  return 0;
+}
+
+#endif

+ 6 - 0
Tests/RunCMake/PrecompileHeaders-Reuse/include/foo.h

@@ -0,0 +1,6 @@
+#ifndef foo_h
+#define foo_h
+
+int foo(void);
+
+#endif

+ 6 - 0
Tests/RunCMake/PrecompileHeaders-Reuse/include/foo2.h

@@ -0,0 +1,6 @@
+#ifndef foo2_h
+#define foo2_h
+
+int foo2(void);
+
+#endif

+ 0 - 0
Tests/RunCMake/PrecompileHeaders/subdir/CMakeLists.txt → Tests/RunCMake/PrecompileHeaders-Reuse/subdir/CMakeLists.txt


+ 0 - 22
Tests/RunCMake/PrecompileHeaders/RunCMakeTest.cmake

@@ -8,13 +8,6 @@ function(run_test name)
   run_cmake_command(${name}-test ${CMAKE_CTEST_COMMAND} -C Debug)
 endfunction()
 
-function(run_build_verbose name)
-  set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/${name}-build)
-  run_cmake(${name})
-  set(RunCMake_TEST_NO_CLEAN 1)
-  run_cmake_command(${name}-build ${CMAKE_COMMAND} --build . --verbose --config Debug)
-endfunction()
-
 run_cmake(DisabledPch)
 run_cmake(PchDebugGenex)
 if (RunCMake_GENERATOR MATCHES "(Ninja|Makefiles|Visual Studio)")
@@ -28,21 +21,7 @@ run_test(PchInterfaceUnity)
 run_cmake(PchPrologueEpilogue)
 run_test(SkipPrecompileHeaders)
 run_test(CXXnotC)
-run_test(PchReuseFrom-CMP0141-OLD)
-run_test(PchReuseFrom-CMP0141-NEW)
-if(CMAKE_C_COMPILER_ID STREQUAL "MSVC")
-  run_test(PchReuseFrom-CMP0141-NEW-empty)
-endif()
-run_test(PchReuseFromPrefixed)
-run_test(PchReuseFromSubdir)
-run_build_verbose(PchReuseFromIgnoreOwnProps)
-run_build_verbose(PchReuseFromUseUpdatedProps)
-run_build_verbose(PchReuseConsistency)
-run_cmake(PchReuseFromCycle)
-run_cmake(PchReuseWithoutPch)
-run_build_verbose(PchReuseAppend)
 run_cmake(PchMultilanguage)
-run_build_verbose(PchReuseDeclarationOrder)
 if(RunCMake_GENERATOR MATCHES "Make|Ninja")
   run_cmake(PchWarnInvalid)
 
@@ -52,7 +31,6 @@ if(RunCMake_GENERATOR MATCHES "Make|Ninja")
     run_cmake(PchInstantiateTemplates)
   endif()
 endif()
-run_test(PchReuseFromObjLib)
 run_test(PchIncludedAllLanguages)
 run_test(PchIncludedOneLanguage)
 run_test(PchLibObjLibExe)