From ea55ac9a519c681c3e3e2cece6f7974cbf691790 Mon Sep 17 00:00:00 2001 From: makise-homura Date: Tue, 12 Oct 2021 21:56:13 +0300 Subject: 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. --- Tests/RunCMake/CommandLine/RunCMakeTest.cmake | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Tests/RunCMake/CommandLine/RunCMakeTest.cmake b/Tests/RunCMake/CommandLine/RunCMakeTest.cmake index dc066f1..74cd90a 100644 --- a/Tests/RunCMake/CommandLine/RunCMakeTest.cmake +++ b/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) -- cgit v0.12