The "broken" function was applied to the wrong condition in the "ok" statement (RtlIpv6StringToAddress is supposed to set the terminator to the first character after the address, not the second-to-last character of the address). However, since this test is already being skipped on XP and Vista and we really don't need a test for how exactly XP and Vista are broken, we can just delete it.
Signed-off-by: Alex Henrie alexhenrie24@gmail.com --- dlls/ntdll/tests/rtl.c | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-)
diff --git a/dlls/ntdll/tests/rtl.c b/dlls/ntdll/tests/rtl.c index b7822d370d..20b7f162c2 100644 --- a/dlls/ntdll/tests/rtl.c +++ b/dlls/ntdll/tests/rtl.c @@ -1487,7 +1487,7 @@ static const struct NTSTATUS res; int terminator_offset; int ip[8]; - /* win_broken: older versions of windows do not handle this correctly + /* win_broken: XP and Vista do not handle this correctly ex_fail: Ex function does need the string to be terminated, non-Ex does not. ex_skip: test doesn't make sense for Ex (f.e. it's invalid for non-Ex but valid for Ex) */ enum { normal_6, win_broken_6 = 1, ex_fail_6 = 2, ex_skip_6 = 4 } flags; @@ -1501,7 +1501,7 @@ static const struct { 0, 0, 0, 0, 0, 0, 0, 0 } }, { "0:0:0:0:0:0:0:1", STATUS_SUCCESS, 15, { 0, 0, 0, 0, 0, 0, 0, 0x100 } }, - { "0:0:0:0:0:0:0::", STATUS_SUCCESS, 13, + { "0:0:0:0:0:0:0::", STATUS_SUCCESS, 15, { 0, 0, 0, 0, 0, 0, 0, 0 }, win_broken_6 }, { "0:0:0:0:0:0:13.1.68.3", STATUS_SUCCESS, 21, { 0, 0, 0, 0, 0, 0, 0x10d, 0x344 } }, @@ -1517,7 +1517,7 @@ static const struct { 0, 0x100, 0x200, 0x300, 0x400, 0x500, 0x600, 0x700 } }, { "1080:0:0:0:8:800:200c:417a", STATUS_SUCCESS, 26, { 0x8010, 0, 0, 0, 0x800, 0x8, 0x0c20, 0x7a41 } }, - { "0:a:b:c:d:e:f::", STATUS_SUCCESS, 13, + { "0:a:b:c:d:e:f::", STATUS_SUCCESS, 15, { 0, 0xa00, 0xb00, 0xc00, 0xd00, 0xe00, 0xf00, 0 }, win_broken_6 }, { "1111:2222:3333:4444:5555:6666:123.123.123.123", STATUS_SUCCESS, 45, { 0x1111, 0x2222, 0x3333, 0x4444, 0x5555, 0x6666, 0x7b7b, 0x7b7b } }, @@ -1531,7 +1531,7 @@ static const struct { 0x1111, 0x2222, 0x3333, 0x4444, 0xabab, 0xabab, 0xabab, 0xabab } }, { "1111:2222:3333:4444:r5555:6666:7777:8888", STATUS_INVALID_PARAMETER, 20, { 0x1111, 0x2222, 0x3333, 0x4444, 0xabab, 0xabab, 0xabab, 0xabab } }, - { "1111:2222:3333:4444:5555:6666:7777::", STATUS_SUCCESS, 34, + { "1111:2222:3333:4444:5555:6666:7777::", STATUS_SUCCESS, 36, { 0x1111, 0x2222, 0x3333, 0x4444, 0x5555, 0x6666, 0x7777, 0 }, win_broken_6 }, { "1111:2222:3333:4444:5555:6666::", STATUS_SUCCESS, 31, { 0x1111, 0x2222, 0x3333, 0x4444, 0x5555, 0x6666, 0, 0 } }, @@ -2120,13 +2120,6 @@ static void test_RtlIpv6StringToAddress(void) "[%s] terminator = %p, expected it not to change\n", ipv6_tests[i].address, terminator); } - else if (ipv6_tests[i].flags & win_broken_6) - { - PCSTR expected = ipv6_tests[i].address + ipv6_tests[i].terminator_offset; - ok(terminator == expected || broken(terminator == expected + 2), - "[%s] terminator = %p, expected %p\n", - ipv6_tests[i].address, terminator, expected); - } else { ok(terminator == ipv6_tests[i].address + ipv6_tests[i].terminator_offset,
Hi,
While running your changed tests, 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=62864
Your paranoid android.
=== w1064v1809 (32 bit report) ===
ntdll: 1930:rtl: unhandled exception c0000005 at 77D89D4B
=== w1064v1809_2scr (32 bit report) ===
ntdll: 1a68:rtl: unhandled exception c0000005 at 77BA9D4B
=== w1064v1809_ar (32 bit report) ===
ntdll: 1918:rtl: unhandled exception c0000005 at 77219D4B
=== w1064v1809_he (32 bit report) ===
ntdll: 19b4:rtl: unhandled exception c0000005 at 77D39D4B
=== w1064v1809_ja (32 bit report) ===
ntdll: 1b0c:rtl: unhandled exception c0000005 at 772B9D4B
=== w1064v1809_zh_CN (32 bit report) ===
ntdll: 1b40:rtl: unhandled exception c0000005 at 77979D4B
On Sat, Jan 4, 2020 at 7:19 PM Marvin testbot@winehq.org wrote:
Hi,
While running your changed tests, 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=62864
Your paranoid android.
=== w1064v1809 (32 bit report) ===
ntdll: 1930:rtl: unhandled exception c0000005 at 77D89D4B
=== w1064v1809_2scr (32 bit report) ===
ntdll: 1a68:rtl: unhandled exception c0000005 at 77BA9D4B
=== w1064v1809_ar (32 bit report) ===
ntdll: 1918:rtl: unhandled exception c0000005 at 77219D4B
=== w1064v1809_he (32 bit report) ===
ntdll: 19b4:rtl: unhandled exception c0000005 at 77D39D4B
=== w1064v1809_ja (32 bit report) ===
ntdll: 1b0c:rtl: unhandled exception c0000005 at 772B9D4B
=== w1064v1809_zh_CN (32 bit report) ===
ntdll: 1b40:rtl: unhandled exception c0000005 at 77979D4B
Those exceptions are unrelated to this patch, see https://testbot.winehq.org/JobDetails.pl?Key=62847
-Alex