Explorar el Código

Tests: remove stderr from clang-tidy module tests

The stderr has the potential to count warnings from system header
files, which are very platform-specific and not reliable, and they
are simply a count of all the warnings that were emitted on stdout,
which we already have. Remove stderr and only look at stdout.
Kyle Edwards hace 3 años
padre
commit
01d8308406

+ 12 - 16
Utilities/ClangTidyModule/Tests/RunClangTidy.cmake

@@ -3,14 +3,12 @@ if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/${CHECK_NAME}.clang-tidy")
   set(config_arg "--config-file=${CMAKE_CURRENT_LIST_DIR}/${CHECK_NAME}.clang-tidy")
 endif()
 
-foreach(o out err)
-  if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/${CHECK_NAME}-std${o}.txt")
-    file(READ "${CMAKE_CURRENT_LIST_DIR}/${CHECK_NAME}-std${o}.txt" expect_std${o})
-    string(REGEX REPLACE "\n+$" "" expect_std${o} "${expect_std${o}}")
-  else()
-    set(expect_std${o} "")
-  endif()
-endforeach()
+if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/${CHECK_NAME}-stdout.txt")
+  file(READ "${CMAKE_CURRENT_LIST_DIR}/${CHECK_NAME}-stdout.txt" expect_stdout)
+  string(REGEX REPLACE "\n+$" "" expect_stdout "${expect_stdout}")
+else()
+  set(expect_stdout "")
+endif()
 
 set(source_file "${RunClangTidy_BINARY_DIR}/${CHECK_NAME}.cxx")
 configure_file("${CMAKE_CURRENT_LIST_DIR}/${CHECK_NAME}.cxx" "${source_file}" COPYONLY)
@@ -39,14 +37,12 @@ if(NOT result EQUAL 0)
   string(APPEND RunClangTidy_TEST_FAILED "Expected result: 0, actual result: ${result}\n")
 endif()
 
-foreach(o out err)
-  string(REGEX REPLACE "\n+$" "" actual_std${o} "${actual_std${o}}")
-  if(NOT actual_std${o} STREQUAL expect_std${o})
-    string(REPLACE "\n" "\n  " expect_std${o}_formatted "  ${expect_std${o}}")
-    string(REPLACE "\n" "\n  " actual_std${o}_formatted "  ${actual_std${o}}")
-    string(APPEND RunClangTidy_TEST_FAILED "Expected std${o}:\n${expect_std${o}_formatted}\nActual std${o}:\n${actual_std${o}_formatted}\n")
-  endif()
-endforeach()
+string(REGEX REPLACE "\n+$" "" actual_stdout "${actual_stdout}")
+if(NOT actual_stdout STREQUAL expect_stdout)
+  string(REPLACE "\n" "\n  " expect_stdout_formatted "  ${expect_stdout}")
+  string(REPLACE "\n" "\n  " actual_stdout_formatted "  ${actual_stdout}")
+  string(APPEND RunClangTidy_TEST_FAILED "Expected stdout:\n${expect_stdout_formatted}\nActual stdout:\n${actual_stdout_formatted}\n")
+endif()
 
 if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/${CHECK_NAME}-fixit.cxx")
   set(expect_fixit_file "${CMAKE_CURRENT_LIST_DIR}/${CHECK_NAME}-fixit.cxx")

+ 0 - 2
Utilities/ClangTidyModule/Tests/cmake-use-cmstrlen-stderr.txt

@@ -1,2 +0,0 @@
-4 warnings generated.
-clang-tidy applied 4 of 4 suggested fixes.