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

Tests: Add case for ninja with non-ascii chars

Issue: #24089
Brad King 3 лет назад
Родитель
Сommit
a12050666c

+ 5 - 0
Tests/RunCMake/Ninja/Intl-build-check.cmake

@@ -0,0 +1,5 @@
+include(${RunCMake_SOURCE_DIR}/Intl-common.cmake)
+set(output "${RunCMake_TEST_BINARY_DIR}/${intl}-output.txt")
+if(NOT EXISTS "${output}")
+  set(RunCMake_TEST_FAILED "Expected output does not exist:\n ${output}")
+endif()

+ 1 - 0
Tests/RunCMake/Ninja/Intl-common.cmake

@@ -0,0 +1 @@
+set(intl "intl-ë®")

+ 7 - 0
Tests/RunCMake/Ninja/Intl.cmake

@@ -0,0 +1,7 @@
+include(Intl-common.cmake)
+set(input "${CMAKE_CURRENT_BINARY_DIR}/${intl}-input.txt")
+set(output "${CMAKE_CURRENT_BINARY_DIR}/${intl}-output.txt")
+file(WRITE "${input}" "${intl}\n")
+add_custom_command(OUTPUT "${output}"
+  COMMAND ${CMAKE_COMMAND} -E copy "${input}" "${output}")
+add_custom_target(drive ALL DEPENDS "${output}")

+ 9 - 0
Tests/RunCMake/Ninja/RunCMakeTest.cmake

@@ -33,6 +33,15 @@ function(run_NinjaToolMissing)
 endfunction()
 run_NinjaToolMissing()
 
+function(run_Intl)
+  run_cmake(Intl)
+  set(RunCMake_TEST_NO_CLEAN 1)
+  set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/Intl-build)
+  set(RunCMake_TEST_OUTPUT_MERGE 1)
+  run_cmake_command(Intl-build ${CMAKE_COMMAND} --build .)
+endfunction()
+run_Intl()
+
 function(run_NoWorkToDo)
   run_cmake(NoWorkToDo)
   set(RunCMake_TEST_NO_CLEAN 1)