[education/rkward] rkward/autotests: Fix test on Windows, where there is no feedback on failure to set lang

Thomas Friedrichsmeier null at kde.org
Thu Oct 16 20:57:56 BST 2025


Git commit 79814cc973001c93f9c569847311256327cc6dfa by Thomas Friedrichsmeier.
Committed on 14/10/2025 at 16:13.
Pushed by tfry into branch 'master'.

Fix test on Windows, where there is no feedback on failure to set lang

M  +6    -2    rkward/autotests/core_test.cpp

https://invent.kde.org/education/rkward/-/commit/79814cc973001c93f9c569847311256327cc6dfa

diff --git a/rkward/autotests/core_test.cpp b/rkward/autotests/core_test.cpp
index d063001cf..3d3d9e0c3 100644
--- a/rkward/autotests/core_test.cpp
+++ b/rkward/autotests/core_test.cpp
@@ -261,8 +261,12 @@ class RKWardCoreTest : public QObject {
 		runCommandAsync(new RCommand(u"cat(rkward:::.rk.i18n(\"%1\"))"_s.arg(transstring), RCommand::App), nullptr, [transstring](RCommand *command) {
 			QVERIFY(command->fullOutput().contains(transstring));
 		});
-		runCommandAsync(new RCommand(u"local({x <- Sys.setLanguage(\"de\"); if(isTRUE(attr(x, \"ok\"))) cat(rkward:::.rk.i18n(\"%1\")); Sys.setLanguage(x); cat(\"done\")})"_s.arg(transstring), RCommand::App), nullptr, [transstring](RCommand *command) {
-			QVERIFY(!command->fullOutput().contains(transstring));
+		runCommandAsync(new RCommand(u"local({x <- Sys.setLanguage(\"de\"); cat(rkward:::.rk.i18n(\"%1\")); try(xyzxy); Sys.setLanguage(x); cat(\"done\")})"_s.arg(transstring), RCommand::App), nullptr, [transstring](RCommand *command) {
+			// We try to set the language, but that may or may not be honored by the system, and - on Windows -
+			// may fail, without Sys.setLanguage() indicating failure. We don't want to assume anything about
+			// language support on the CI system, therefore we generate an R error message along with our own string
+			// either both should be translated, or neither.
+			QVERIFY(command->fullOutput().contains(transstring) == command->fullOutput().contains(u"not found"_s));
 			QVERIFY(command->fullOutput().contains(u"done"_s));
 		});
 		waitForAllFinished();



More information about the rkward-tracker mailing list