Explorar el Código

Tests/RunCMake/CommandLine: Deal with locales that are different from English

RunCMake/CommandLine has problems
when ran using language setting differeng from English. This is due to
test outputs being compared to English strings, which comparison
obviously fails if this language is set to, e.g. Russian. This commit
sets locale as "C" prior to running these tests, so messages while
testing are generated in correct language and do not fail checks
anymore.
makise-homura hace 4 años
padre
commit
ea55ac9a51
Se han modificado 1 ficheros con 6 adiciones y 0 borrados
  1. 6 0
      Tests/RunCMake/CommandLine/RunCMakeTest.cmake

+ 6 - 0
Tests/RunCMake/CommandLine/RunCMakeTest.cmake

@@ -247,8 +247,14 @@ function(run_BuildDir)
     run_cmake_command(BuildDir--build-jobs-no-number-trailing--target ${CMAKE_COMMAND} -E chdir ..
       ${CMAKE_COMMAND} --build BuildDir-build -j --target CustomTarget)
     if(RunCMake_GENERATOR MATCHES "Unix Makefiles" OR RunCMake_GENERATOR MATCHES "Ninja")
+      set(_backup_lang "$ENV{LANG}")
+      set(_backup_lc_messages "$ENV{LC_MESSAGES}")
+      set(ENV{LANG} "C")
+      set(ENV{LC_MESSAGES} "C")
       run_cmake_command(BuildDir--build-jobs-no-number-trailing--invalid-target ${CMAKE_COMMAND} -E chdir ..
         ${CMAKE_COMMAND} --build BuildDir-build -j --target invalid-target)
+      set(ENV{LANG} "${_backup_lang}")
+      set(ENV{LC_MESSAGES} "${_backup_lc_messages}")
     endif()
     run_cmake_command(BuildDir--build--parallel-no-number ${CMAKE_COMMAND} -E chdir ..
       ${CMAKE_COMMAND} --build BuildDir-build --parallel)