[PATCH 1/2] gdi32/tests: Fix some test SetDIBitsToDevice RLE8 test failures on Windows 2008+.
Signed-off-by: Sven Baars <sven.wine(a)gmail.com> --- This patch and the next one supercede 173282. dlls/gdi32/tests/bitmap.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/dlls/gdi32/tests/bitmap.c b/dlls/gdi32/tests/bitmap.c index d651765006..c1651b5a2b 100644 --- a/dlls/gdi32/tests/bitmap.c +++ b/dlls/gdi32/tests/bitmap.c @@ -5532,14 +5532,23 @@ static void test_SetDIBitsToDevice_RLE8(void) info->bmiHeader.biWidth = 2; ret = SetDIBitsToDevice( hdc, 0, 0, 8, 8, 0, 0, 0, 8, rle8_data, info, DIB_RGB_COLORS ); ok( ret == 8, "got %d\n", ret ); - for (i = 0; i < 64; i++) ok( dib_bits[i] == bottom_up[i], "%d: got %08x\n", i, dib_bits[i] ); + if (dib_bits[0] == 0xaaaaaaaa) + { + win_skip("SetDIBitsToDevice is broken on Windows 2008.\n"); + goto cleanup; + } + for (i = 0; i < 64; i += 8) + { + ok( dib_bits[i] == bottom_up[i], "%d: got %08x\n", i, dib_bits[i] ); + ok( dib_bits[i+1] == bottom_up[i+1], "%d: got %08x\n", i+1, dib_bits[i+1] ); + } memset( dib_bits, 0xaa, 64 * 4 ); info->bmiHeader.biWidth = 8; info->bmiHeader.biHeight = 2; ret = SetDIBitsToDevice( hdc, 0, 0, 8, 8, 0, 0, 0, 8, rle8_data, info, DIB_RGB_COLORS ); ok( ret == 2, "got %d\n", ret ); - for (i = 0; i < 64; i++) ok( dib_bits[i] == bottom_up[i], "%d: got %08x\n", i, dib_bits[i] ); + for (i = 0; i < 16; i++) ok( dib_bits[i] == bottom_up[i], "%d: got %08x\n", i, dib_bits[i] ); memset( dib_bits, 0xaa, 64 * 4 ); info->bmiHeader.biHeight = 9; @@ -5671,6 +5680,7 @@ static void test_SetDIBitsToDevice_RLE8(void) for (i = 40; i < 64; i++) ok( dib_bits[i] == 0xaaaaaaaa, "%d: got %08x\n", i, dib_bits[i] ); memset( dib_bits, 0xaa, 64 * 4 ); +cleanup: DeleteDC( hdc ); DeleteObject( dib ); HeapFree( GetProcessHeap(), 0, info ); -- 2.17.1
Signed-off-by: Sven Baars <sven.wine(a)gmail.com> --- dlls/gdi32/tests/bitmap.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dlls/gdi32/tests/bitmap.c b/dlls/gdi32/tests/bitmap.c index c1651b5a2b..bac34d0b69 100644 --- a/dlls/gdi32/tests/bitmap.c +++ b/dlls/gdi32/tests/bitmap.c @@ -5782,7 +5782,8 @@ static void test_D3DKMTCreateDCFromMemory( void ) create_desc.Height = 7; create_desc.Width = 0; status = pD3DKMTCreateDCFromMemory( &create_desc ); - ok(status == test_data[i].status, "%s: Got unexpected status %#x, expected %#x.\n", + ok(status == test_data[i].status || broken(status == STATUS_INVALID_PARAMETER) /* Win7+ */, + "%s: Got unexpected status %#x, expected %#x.\n", test_data[i].name, status, test_data[i].status); if (status == STATUS_SUCCESS) { -- 2.17.1
On Tue, Nov 12, 2019 at 07:41:38PM +0100, Sven Baars wrote:
Signed-off-by: Sven Baars <sven.wine(a)gmail.com> --- dlls/gdi32/tests/bitmap.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/dlls/gdi32/tests/bitmap.c b/dlls/gdi32/tests/bitmap.c index c1651b5a2b..bac34d0b69 100644 --- a/dlls/gdi32/tests/bitmap.c +++ b/dlls/gdi32/tests/bitmap.c @@ -5782,7 +5782,8 @@ static void test_D3DKMTCreateDCFromMemory( void ) create_desc.Height = 7; create_desc.Width = 0; status = pD3DKMTCreateDCFromMemory( &create_desc ); - ok(status == test_data[i].status, "%s: Got unexpected status %#x, expected %#x.\n", + ok(status == test_data[i].status || broken(status == STATUS_INVALID_PARAMETER) /* Win7+ */, + "%s: Got unexpected status %#x, expected %#x.\n", test_data[i].name, status, test_data[i].status); if (status == STATUS_SUCCESS) {
I think just removing the width = 0 test would be preferable here. Huw.
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=59895 Your paranoid android. === w2008s64 (64 bit report) === gdi32: bitmap.c:5785: Test failed: R8G8B8: Got unexpected status 0xc000000d, expected 0. bitmap.c:5785: Test failed: A8R8G8B8: Got unexpected status 0xc000000d, expected 0. bitmap.c:5785: Test failed: X8R8G8B8: Got unexpected status 0xc000000d, expected 0. bitmap.c:5785: Test failed: R5G6B5: Got unexpected status 0xc000000d, expected 0. bitmap.c:5785: Test failed: X1R5G5B5: Got unexpected status 0xc000000d, expected 0. bitmap.c:5785: Test failed: A1R5G5B5: Got unexpected status 0xc000000d, expected 0. bitmap.c:5785: Test failed: P8: Got unexpected status 0xc000000d, expected 0.
participants (3)
-
Huw Davies -
Marvin -
Sven Baars