Hi,
While running your changed tests on Windows, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check? Full results can be found at https://testbot.winehq.org/JobDetails.pl?Key=12662
Your paranoid android.
=== w2000pro (32 bit locale) === locale.c:1776: Test failed: Without NORM_STOP_ON_NULL flag - strings `don\0a` (5) and `don\0b` (5) expected CSTR_LESS_THAN, got 2
=== wvistau64 (32 bit locale) === locale.c:2010: Test failed: NORM_STOP_ON_NULL passed, though its equal to length autodetect (-1) - strings `don\0at` (-1) and `don__` (-1) expected CSTR_EQUAL, got 0 locale.c:2014: Test failed: NORM_STOP_ON_NULL is not set, strings considered as null terminated - so strings `don\0at` (-1) and `don__` (-1) expected CSTR_EQUAL, got 0 locale.c:2018: Test failed: NORM_STOP_ON_NULL passed, and lengths are defined exlicitly - so strings `don\0at` (6) and `don__` (6) are expected CSTR_EQUAL due to flag, got 0 locale.c:2022: Test failed: NORM_STOP_ON_NULL passed, and length is defined exlicitly for one string - anyway strings `don\0at` (6) and `don__` (-1) are expected CSTR_EQUAL due to flag, got 0 locale.c:2028: Test failed: NORM_STOP_ON_NULL | NORM_IGNORECASE passed, though its equal to length autodetect (-1) - so strings `don\0at` (-1) and `dOn\At` (-1) expected CSTR_EQUAL, got 0 locale.c:2032: Test failed: NORM_STOP_ON_NULL | NORM_IGNORECASE passed, and lengths are defined explicitely - so strings `don\0at` (-1) and `dOn\At` (-1) expected CSTR_EQUAL, got 0
=== w2008s64 (32 bit locale) === locale.c:2010: Test failed: NORM_STOP_ON_NULL passed, though its equal to length autodetect (-1) - strings `don\0at` (-1) and `don__` (-1) expected CSTR_EQUAL, got 0 locale.c:2014: Test failed: NORM_STOP_ON_NULL is not set, strings considered as null terminated - so strings `don\0at` (-1) and `don__` (-1) expected CSTR_EQUAL, got 0 locale.c:2018: Test failed: NORM_STOP_ON_NULL passed, and lengths are defined exlicitly - so strings `don\0at` (6) and `don__` (6) are expected CSTR_EQUAL due to flag, got 0 locale.c:2022: Test failed: NORM_STOP_ON_NULL passed, and length is defined exlicitly for one string - anyway strings `don\0at` (6) and `don__` (-1) are expected CSTR_EQUAL due to flag, got 0 locale.c:2028: Test failed: NORM_STOP_ON_NULL | NORM_IGNORECASE passed, though its equal to length autodetect (-1) - so strings `don\0at` (-1) and `dOn\At` (-1) expected CSTR_EQUAL, got 0 locale.c:2032: Test failed: NORM_STOP_ON_NULL | NORM_IGNORECASE passed, and lengths are defined explicitely - so strings `don\0at` (-1) and `dOn\At` (-1) expected CSTR_EQUAL, got 0
=== w7u (32 bit locale) === locale.c:2010: Test failed: NORM_STOP_ON_NULL passed, though its equal to length autodetect (-1) - strings `don\0at` (-1) and `don__` (-1) expected CSTR_EQUAL, got 0 locale.c:2014: Test failed: NORM_STOP_ON_NULL is not set, strings considered as null terminated - so strings `don\0at` (-1) and `don__` (-1) expected CSTR_EQUAL, got 0 locale.c:2018: Test failed: NORM_STOP_ON_NULL passed, and lengths are defined exlicitly - so strings `don\0at` (6) and `don__` (6) are expected CSTR_EQUAL due to flag, got 0 locale.c:2022: Test failed: NORM_STOP_ON_NULL passed, and length is defined exlicitly for one string - anyway strings `don\0at` (6) and `don__` (-1) are expected CSTR_EQUAL due to flag, got 0 locale.c:2028: Test failed: NORM_STOP_ON_NULL | NORM_IGNORECASE passed, though its equal to length autodetect (-1) - so strings `don\0at` (-1) and `dOn\At` (-1) expected CSTR_EQUAL, got 0 locale.c:2032: Test failed: NORM_STOP_ON_NULL | NORM_IGNORECASE passed, and lengths are defined explicitely - so strings `don\0at` (-1) and `dOn\At` (-1) expected CSTR_EQUAL, got 0
=== w8 (32 bit locale) === locale.c:2010: Test failed: NORM_STOP_ON_NULL passed, though its equal to length autodetect (-1) - strings `don\0at` (-1) and `don__` (-1) expected CSTR_EQUAL, got 0 locale.c:2014: Test failed: NORM_STOP_ON_NULL is not set, strings considered as null terminated - so strings `don\0at` (-1) and `don__` (-1) expected CSTR_EQUAL, got 0 locale.c:2018: Test failed: NORM_STOP_ON_NULL passed, and lengths are defined exlicitly - so strings `don\0at` (6) and `don__` (6) are expected CSTR_EQUAL due to flag, got 0 locale.c:2022: Test failed: NORM_STOP_ON_NULL passed, and length is defined exlicitly for one string - anyway strings `don\0at` (6) and `don__` (-1) are expected CSTR_EQUAL due to flag, got 0 locale.c:2028: Test failed: NORM_STOP_ON_NULL | NORM_IGNORECASE passed, though its equal to length autodetect (-1) - so strings `don\0at` (-1) and `dOn\At` (-1) expected CSTR_EQUAL, got 0 locale.c:2032: Test failed: NORM_STOP_ON_NULL | NORM_IGNORECASE passed, and lengths are defined explicitely - so strings `don\0at` (-1) and `dOn\At` (-1) expected CSTR_EQUAL, got 0
=== wvistau64 (64 bit locale) === locale.c:2010: Test failed: NORM_STOP_ON_NULL passed, though its equal to length autodetect (-1) - strings `don\0at` (-1) and `don__` (-1) expected CSTR_EQUAL, got 0 locale.c:2014: Test failed: NORM_STOP_ON_NULL is not set, strings considered as null terminated - so strings `don\0at` (-1) and `don__` (-1) expected CSTR_EQUAL, got 0 locale.c:2018: Test failed: NORM_STOP_ON_NULL passed, and lengths are defined exlicitly - so strings `don\0at` (6) and `don__` (6) are expected CSTR_EQUAL due to flag, got 0 locale.c:2022: Test failed: NORM_STOP_ON_NULL passed, and length is defined exlicitly for one string - anyway strings `don\0at` (6) and `don__` (-1) are expected CSTR_EQUAL due to flag, got 0 locale.c:2028: Test failed: NORM_STOP_ON_NULL | NORM_IGNORECASE passed, though its equal to length autodetect (-1) - so strings `don\0at` (-1) and `dOn\At` (-1) expected CSTR_EQUAL, got 0 locale.c:2032: Test failed: NORM_STOP_ON_NULL | NORM_IGNORECASE passed, and lengths are defined explicitely - so strings `don\0at` (-1) and `dOn\At` (-1) expected CSTR_EQUAL, got 0
=== w2008s64 (64 bit locale) === locale.c:2010: Test failed: NORM_STOP_ON_NULL passed, though its equal to length autodetect (-1) - strings `don\0at` (-1) and `don__` (-1) expected CSTR_EQUAL, got 0 locale.c:2014: Test failed: NORM_STOP_ON_NULL is not set, strings considered as null terminated - so strings `don\0at` (-1) and `don__` (-1) expected CSTR_EQUAL, got 0 locale.c:2018: Test failed: NORM_STOP_ON_NULL passed, and lengths are defined exlicitly - so strings `don\0at` (6) and `don__` (6) are expected CSTR_EQUAL due to flag, got 0 locale.c:2022: Test failed: NORM_STOP_ON_NULL passed, and length is defined exlicitly for one string - anyway strings `don\0at` (6) and `don__` (-1) are expected CSTR_EQUAL due to flag, got 0 locale.c:2028: Test failed: NORM_STOP_ON_NULL | NORM_IGNORECASE passed, though its equal to length autodetect (-1) - so strings `don\0at` (-1) and `dOn\At` (-1) expected CSTR_EQUAL, got 0 locale.c:2032: Test failed: NORM_STOP_ON_NULL | NORM_IGNORECASE passed, and lengths are defined explicitely - so strings `don\0at` (-1) and `dOn\At` (-1) expected CSTR_EQUAL, got 0