This is an alternative location to filter out this environment variables, see merge request !8292 for details.
Doing this in winetest would have the advantage to protect all tests run by it, not just kernel32:process.
-- v2: gitlab: Remove name containing CI environment variables in windows tests. gitlab: Derive the windows tests from a common .wine-test-windows.
From: Bernhard Übelacker bernhardu@mailbox.org
--- programs/winetest/main.c | 10 ++++++++++ 1 file changed, 10 insertions(+)
diff --git a/programs/winetest/main.c b/programs/winetest/main.c index 755e4eb6e2c..eefea04a95b 100644 --- a/programs/winetest/main.c +++ b/programs/winetest/main.c @@ -1701,6 +1701,16 @@ int __cdecl main( int argc, char *argv[] ) SetEnvironmentVariableA( "WINETEST_DEBUG", "1" ); SetEnvironmentVariableA( "WINETEST_INTERACTIVE", "0" ); SetEnvironmentVariableA( "WINETEST_REPORT_SUCCESS", "0" ); + + /* This environment variables contain the patch authors name, + which may contain extended ascii or UTF-8 characters. + At least the kernel32:process test fails on Windows because + of this, as CreateProcessA with a user supplied environment + could not replicate these variable contents. + And the failure message makes the CI fail in qemu-agent.py with a: + UnicodeDecodeError: 'utf-8' codec can't decode byte ... */ + SetEnvironmentVariableA( "CI_COMMIT_AUTHOR", NULL ); + SetEnvironmentVariableA( "GITLAB_USER_NAME", NULL ); } if (junit) {
From: Bernhard Übelacker bernhardu@mailbox.org
--- tools/gitlab/test.yml | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-)
diff --git a/tools/gitlab/test.yml b/tools/gitlab/test.yml index 2c56ca5cc78..e2deff8c13d 100644 --- a/tools/gitlab/test.yml +++ b/tools/gitlab/test.yml @@ -47,6 +47,12 @@ - wineserver -w - printf '\e[0Ksection_end:%s:wine_test_prepare_env\r\e[0K' "$(date +%s)"
+.wine-test-windows: + stage: test + interruptible: true + variables: + GIT_STRATEGY: none + test-linux-64: extends: .wine-test variables: @@ -84,10 +90,7 @@ test-linux-32: junit: winetest.xml
test-win10-21h2-32: - stage: test - interruptible: true - variables: - GIT_STRATEGY: none + extends: .wine-test-windows rules: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' needs: @@ -115,10 +118,7 @@ test-win10-21h2-32: junit: winetest.xml
test-win10-21h2-64: - stage: test - interruptible: true - variables: - GIT_STRATEGY: none + extends: .wine-test-windows rules: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' needs: @@ -164,10 +164,7 @@ debian-64: - wine usr/local/lib/wine/x86_64-windows/winetest.exe -q
win10-21h2-32: - stage: test - interruptible: true - variables: - GIT_STRATEGY: none + extends: .wine-test-windows rules: - if: $CI_PIPELINE_SOURCE == 'trigger' && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH needs: @@ -178,10 +175,7 @@ win10-21h2-32: - ./winetest.exe -q
win10-21h2-64: - stage: test - interruptible: true - variables: - GIT_STRATEGY: none + extends: .wine-test-windows rules: - if: $CI_PIPELINE_SOURCE == 'trigger' && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH needs:
From: Bernhard Übelacker bernhardu@mailbox.org
--- tools/gitlab/test.yml | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/tools/gitlab/test.yml b/tools/gitlab/test.yml index e2deff8c13d..8ceba9867fb 100644 --- a/tools/gitlab/test.yml +++ b/tools/gitlab/test.yml @@ -52,6 +52,10 @@ interruptible: true variables: GIT_STRATEGY: none + # Non-ascii characters in authors name may get into the output of kernel32:process test which cause + # qemu-agent.py in Windows to fail with: UnicodeDecodeError: 'utf-8' codec can't decode byte ... + CI_COMMIT_AUTHOR: "" + GITLAB_USER_NAME: ""
test-linux-64: extends: .wine-test
This change should be reverted now that we fixed it in CI.
On Sat Jun 21 12:37:32 2025 +0000, Jinoh Kang wrote:
This change should be reverted now that we fixed it in CI.
I pushed just a few minutes ago a v2 which removes the winetest/main.c changes, and removes the variables in gitlab/test.yml.
I wonder how this got fixed in CI? So this merge request can be simply closed, as it got not merged yet?
On Sat Jun 21 12:42:09 2025 +0000, Bernhard Übelacker wrote:
I pushed just a few minutes ago a v2 which removes the winetest/main.c changes, and removes the variables in gitlab/test.yml. I wonder how this got fixed in CI? So this merge request can be simply closed, as it got not merged yet?
https://gitlab.winehq.org/bernhardu/wine/-/pipelines/44334 passed because you didn't just remove the variables, you removed the testing logic completely. (Check the CI artifacts)