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

Tests: Add more signature tests to RunCMake.configure_file test

Move the test cases from Tests/CMakeTests/ConfigureFileTest.cmake.in
over to use the RunCMake.configure_file infrastructure.  This does much
more robust verification of CMake output for each test case, and would
have caught the regression fixed in our parent commit.
Brad King 10 лет назад
Родитель
Сommit
024e25e485
27 измененных файлов с 54 добавлено и 42 удалено
  1. 0 1
      Tests/CMakeTests/CMakeLists.txt
  2. 0 5
      Tests/CMakeTests/ConfigureFile-DirOutput.cmake
  3. 0 4
      Tests/CMakeTests/ConfigureFile-Relative.cmake
  4. 0 28
      Tests/CMakeTests/ConfigureFileTest.cmake.in
  5. 1 0
      Tests/RunCMake/configure_file/BadArg-result.txt
  6. 4 0
      Tests/RunCMake/configure_file/BadArg-stderr.txt
  7. 0 0
      Tests/RunCMake/configure_file/BadArg.cmake
  8. 1 0
      Tests/RunCMake/configure_file/DirInput-result.txt
  9. 8 0
      Tests/RunCMake/configure_file/DirInput-stderr.txt
  10. 0 0
      Tests/RunCMake/configure_file/DirInput.cmake
  11. 1 0
      Tests/RunCMake/configure_file/DirOutput-stderr.txt
  12. 4 0
      Tests/RunCMake/configure_file/DirOutput.cmake
  13. 1 0
      Tests/RunCMake/configure_file/DirOutput.txt
  14. 1 0
      Tests/RunCMake/configure_file/NewLineStyle-COPYONLY-result.txt
  15. 4 0
      Tests/RunCMake/configure_file/NewLineStyle-COPYONLY-stderr.txt
  16. 1 1
      Tests/RunCMake/configure_file/NewLineStyle-COPYONLY.cmake
  17. 1 0
      Tests/RunCMake/configure_file/NewLineStyle-NoArg-result.txt
  18. 5 0
      Tests/RunCMake/configure_file/NewLineStyle-NoArg-stderr.txt
  19. 1 1
      Tests/RunCMake/configure_file/NewLineStyle-NoArg.cmake
  20. 1 1
      Tests/RunCMake/configure_file/NewLineStyle-ValidArg.cmake
  21. 1 0
      Tests/RunCMake/configure_file/NewLineStyle-WrongArg-result.txt
  22. 5 0
      Tests/RunCMake/configure_file/NewLineStyle-WrongArg-stderr.txt
  23. 1 1
      Tests/RunCMake/configure_file/NewLineStyle-WrongArg.cmake
  24. 1 0
      Tests/RunCMake/configure_file/Relative-In.txt
  25. 1 0
      Tests/RunCMake/configure_file/Relative-stderr.txt
  26. 3 0
      Tests/RunCMake/configure_file/Relative.cmake
  27. 8 0
      Tests/RunCMake/configure_file/RunCMakeTest.cmake

+ 0 - 1
Tests/CMakeTests/CMakeLists.txt

@@ -19,7 +19,6 @@ AddCMakeTest(GetFilenameComponentRealpath "")
 AddCMakeTest(Version "")
 AddCMakeTest(Message "")
 AddCMakeTest(File "")
-AddCMakeTest(ConfigureFile "")
 AddCMakeTest(SeparateArguments "")
 AddCMakeTest(ImplicitLinkInfo "")
 AddCMakeTest(ModuleNotices "")

+ 0 - 5
Tests/CMakeTests/ConfigureFile-DirOutput.cmake

@@ -1,5 +0,0 @@
-file(WRITE ${CMAKE_CURRENT_SOURCE_DIR}/ConfigureFile-DirOutput.txt "DirOutput test file\n")
-file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/ConfigureFile-DirOutput)
-configure_file(ConfigureFile-DirOutput.txt ConfigureFile-DirOutput)
-file(READ ${CMAKE_CURRENT_BINARY_DIR}/ConfigureFile-DirOutput/ConfigureFile-DirOutput.txt out)
-message("${out}")

+ 0 - 4
Tests/CMakeTests/ConfigureFile-Relative.cmake

@@ -1,4 +0,0 @@
-file(WRITE ${CMAKE_CURRENT_SOURCE_DIR}/ConfigureFile-Relative-In.txt "Relative test file\n")
-configure_file(ConfigureFile-Relative-In.txt ConfigureFile-Relative-Out.txt)
-file(READ ${CMAKE_CURRENT_BINARY_DIR}/ConfigureFile-Relative-Out.txt out)
-message("${out}")

+ 0 - 28
Tests/CMakeTests/ConfigureFileTest.cmake.in

@@ -1,28 +0,0 @@
-set(DirInput-RESULT 1)
-set(DirInput-STDERR "is a directory")
-set(DirOutput-RESULT 0)
-set(DirOutput-STDERR "DirOutput test file")
-set(Relative-RESULT 0)
-set(Relative-STDERR "Relative test file")
-set(BadArg-RESULT 1)
-set(BadArg-STDERR "called with incorrect number of arguments")
-set(NewLineStyle-NoArg-RESULT 1)
-set(NewLineStyle-NoArg-STDERR "NEWLINE_STYLE must set a style:")
-set(NewLineStyle-WrongArg-RESULT 1)
-set(NewLineStyle-WrongArg-STDERR "NEWLINE_STYLE sets an unknown style")
-set(NewLineStyle-ValidArg-RESULT 0)
-set(NewLineStyle-ValidArg-STDERR )
-set(NewLineStyle-COPYONLY-RESULT 1)
-set(NewLineStyle-COPYONLY-STDERR "COPYONLY could not be used in combination")
-
-include("@CMAKE_CURRENT_SOURCE_DIR@/CheckCMakeTest.cmake")
-check_cmake_test(ConfigureFile
-  DirInput
-  DirOutput
-  Relative
-  BadArg
-  NewLineStyle-NoArg
-  NewLineStyle-WrongArg
-  NewLineStyle-ValidArg
-  NewLineStyle-COPYONLY
-  )

+ 1 - 0
Tests/RunCMake/configure_file/BadArg-result.txt

@@ -0,0 +1 @@
+1

+ 4 - 0
Tests/RunCMake/configure_file/BadArg-stderr.txt

@@ -0,0 +1,4 @@
+CMake Error at BadArg.cmake:[0-9]+ \(configure_file\):
+  configure_file called with incorrect number of arguments, expected 2
+Call Stack \(most recent call first\):
+  CMakeLists.txt:3 \(include\)

+ 0 - 0
Tests/CMakeTests/ConfigureFile-BadArg.cmake → Tests/RunCMake/configure_file/BadArg.cmake


+ 1 - 0
Tests/RunCMake/configure_file/DirInput-result.txt

@@ -0,0 +1 @@
+1

+ 8 - 0
Tests/RunCMake/configure_file/DirInput-stderr.txt

@@ -0,0 +1,8 @@
+CMake Error at DirInput.cmake:[0-9]+ \(configure_file\):
+  configure_file input location
+
+    .*/Tests/RunCMake/configure_file/.
+
+  is a directory but a file was expected.
+Call Stack \(most recent call first\):
+  CMakeLists.txt:3 \(include\)

+ 0 - 0
Tests/CMakeTests/ConfigureFile-DirInput.cmake → Tests/RunCMake/configure_file/DirInput.cmake


+ 1 - 0
Tests/RunCMake/configure_file/DirOutput-stderr.txt

@@ -0,0 +1 @@
+^DirOutput test file$

+ 4 - 0
Tests/RunCMake/configure_file/DirOutput.cmake

@@ -0,0 +1,4 @@
+file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/DirOutput)
+configure_file(DirOutput.txt DirOutput)
+file(READ ${CMAKE_CURRENT_BINARY_DIR}/DirOutput/DirOutput.txt out)
+message("${out}")

+ 1 - 0
Tests/RunCMake/configure_file/DirOutput.txt

@@ -0,0 +1 @@
+DirOutput test file

+ 1 - 0
Tests/RunCMake/configure_file/NewLineStyle-COPYONLY-result.txt

@@ -0,0 +1 @@
+1

+ 4 - 0
Tests/RunCMake/configure_file/NewLineStyle-COPYONLY-stderr.txt

@@ -0,0 +1,4 @@
+CMake Error at NewLineStyle-COPYONLY.cmake:[0-9]+ \(configure_file\):
+  configure_file COPYONLY could not be used in combination with NEWLINE_STYLE
+Call Stack \(most recent call first\):
+  CMakeLists.txt:3 \(include\)

+ 1 - 1
Tests/CMakeTests/ConfigureFile-NewLineStyle-COPYONLY.cmake → Tests/RunCMake/configure_file/NewLineStyle-COPYONLY.cmake

@@ -1,3 +1,3 @@
-set(file_name  ${CMAKE_CURRENT_SOURCE_DIR}/ConfigureFile-NewLineStyle.txt)
+set(file_name  ${CMAKE_CURRENT_BINARY_DIR}/NewLineStyle.txt)
 file(WRITE ${file_name} "Data\n")
 configure_file(${file_name} ${file_name}.out COPYONLY NEWLINE_STYLE DOS)

+ 1 - 0
Tests/RunCMake/configure_file/NewLineStyle-NoArg-result.txt

@@ -0,0 +1 @@
+1

+ 5 - 0
Tests/RunCMake/configure_file/NewLineStyle-NoArg-stderr.txt

@@ -0,0 +1,5 @@
+CMake Error at NewLineStyle-NoArg.cmake:[0-9]+ \(configure_file\):
+  configure_file NEWLINE_STYLE must set a style: LF, CRLF, UNIX, DOS, or
+  WIN32
+Call Stack \(most recent call first\):
+  CMakeLists.txt:3 \(include\)

+ 1 - 1
Tests/CMakeTests/ConfigureFile-NewLineStyle-NoArg.cmake → Tests/RunCMake/configure_file/NewLineStyle-NoArg.cmake

@@ -1,3 +1,3 @@
-set(file_name  ${CMAKE_CURRENT_SOURCE_DIR}/ConfigureFile-NewLineStyle.txt)
+set(file_name  ${CMAKE_CURRENT_BINARY_DIR}/NewLineStyle.txt)
 file(WRITE ${file_name} "Data\n")
 configure_file(${file_name} ${file_name}.out NEWLINE_STYLE)

+ 1 - 1
Tests/CMakeTests/ConfigureFile-NewLineStyle-ValidArg.cmake → Tests/RunCMake/configure_file/NewLineStyle-ValidArg.cmake

@@ -1,4 +1,4 @@
-set(file_name  ${CMAKE_CURRENT_SOURCE_DIR}/ConfigureFile-NewLineStyle.txt)
+set(file_name  ${CMAKE_CURRENT_BINARY_DIR}/NewLineStyle.txt)
 
 function(test_eol style in out)
     file(WRITE ${file_name} "${in}")

+ 1 - 0
Tests/RunCMake/configure_file/NewLineStyle-WrongArg-result.txt

@@ -0,0 +1 @@
+1

+ 5 - 0
Tests/RunCMake/configure_file/NewLineStyle-WrongArg-stderr.txt

@@ -0,0 +1,5 @@
+CMake Error at NewLineStyle-WrongArg.cmake:[0-9]+ \(configure_file\):
+  configure_file NEWLINE_STYLE sets an unknown style, only LF, CRLF, UNIX,
+  DOS, and WIN32 are supported
+Call Stack \(most recent call first\):
+  CMakeLists.txt:3 \(include\)

+ 1 - 1
Tests/CMakeTests/ConfigureFile-NewLineStyle-WrongArg.cmake → Tests/RunCMake/configure_file/NewLineStyle-WrongArg.cmake

@@ -1,3 +1,3 @@
-set(file_name  ${CMAKE_CURRENT_SOURCE_DIR}/ConfigureFile-NewLineStyle.txt)
+set(file_name  ${CMAKE_CURRENT_BINARY_DIR}/NewLineStyle.txt)
 file(WRITE ${file_name} "Data\n")
 configure_file(${file_name} ${file_name}.out NEWLINE_STYLE FOO)

+ 1 - 0
Tests/RunCMake/configure_file/Relative-In.txt

@@ -0,0 +1 @@
+Relative test file

+ 1 - 0
Tests/RunCMake/configure_file/Relative-stderr.txt

@@ -0,0 +1 @@
+^Relative test file$

+ 3 - 0
Tests/RunCMake/configure_file/Relative.cmake

@@ -0,0 +1,3 @@
+configure_file(Relative-In.txt Relative-Out.txt)
+file(READ ${CMAKE_CURRENT_BINARY_DIR}/Relative-Out.txt out)
+message("${out}")

+ 8 - 0
Tests/RunCMake/configure_file/RunCMakeTest.cmake

@@ -7,6 +7,14 @@ run_cmake(UTF16BE-BOM)
 run_cmake(UTF32LE-BOM)
 run_cmake(UTF32BE-BOM)
 run_cmake(UnknownArg)
+run_cmake(DirInput)
+run_cmake(DirOutput)
+run_cmake(Relative)
+run_cmake(BadArg)
+run_cmake(NewLineStyle-NoArg)
+run_cmake(NewLineStyle-WrongArg)
+run_cmake(NewLineStyle-ValidArg)
+run_cmake(NewLineStyle-COPYONLY)
 
 if(RunCMake_GENERATOR MATCHES "Make")
   # Use a single build tree for a few tests without cleaning.