Signed-off-by: Sven Baars sven.wine@gmail.com --- dlls/gdi32/tests/clipping.c | 26 +++----------------------- 1 file changed, 3 insertions(+), 23 deletions(-)
diff --git a/dlls/gdi32/tests/clipping.c b/dlls/gdi32/tests/clipping.c index d04ef77ca3..8f3beb56b7 100644 --- a/dlls/gdi32/tests/clipping.c +++ b/dlls/gdi32/tests/clipping.c @@ -225,7 +225,9 @@ static void test_ExtCreateRegion(void) hrgn = ExtCreateRegion(NULL, sizeof(RGNDATAHEADER) - 1, &rgn.data); todo_wine ok(!hrgn, "ExtCreateRegion should fail\n"); - ok(GetLastError() == 0xdeadbeef, "0xdeadbeef, got %u\n", GetLastError()); + todo_wine + ok(GetLastError() == ERROR_INVALID_PARAMETER || + broken(GetLastError() == 0xdeadbeef), "0xdeadbeef, got %u\n", GetLastError());
SetLastError(0xdeadbeef); hrgn = ExtCreateRegion(NULL, sizeof(rgn), &rgn.data); @@ -237,32 +239,12 @@ static void test_ExtCreateRegion(void) SetRectEmpty(&rgn.data.rdh.rcBound); memcpy(rgn.data.Buffer, &rc, sizeof(rc));
- /* With a single rect this seems to work... */ - SetLastError(0xdeadbeef); - hrgn = ExtCreateRegion(NULL, sizeof(RGNDATAHEADER) + sizeof(RECT) - 1, &rgn.data); - ok(hrgn != 0, "ExtCreateRegion error %u\n", GetLastError()); - verify_region(hrgn, &rc); - DeleteObject(hrgn); - SetLastError(0xdeadbeef); hrgn = ExtCreateRegion(NULL, sizeof(rgn), &rgn.data); ok(hrgn != 0, "ExtCreateRegion error %u\n", GetLastError()); verify_region(hrgn, &rc); DeleteObject(hrgn);
- rgn.data.rdh.dwSize = sizeof(rgn.data.rdh) + 1; - - SetLastError(0xdeadbeef); - hrgn = ExtCreateRegion(NULL, 1, &rgn.data); - ok(hrgn != 0 || - broken(GetLastError() == 0xdeadbeef), /* NT4 */ - "ExtCreateRegion error %u\n", GetLastError()); - if(hrgn) - { - verify_region(hrgn, &rc); - DeleteObject(hrgn); - } - xform.eM11 = 0.5; /* 50% width */ xform.eM12 = 0.0; xform.eM21 = 0.0; @@ -270,8 +252,6 @@ static void test_ExtCreateRegion(void) xform.eDx = 20.0; xform.eDy = 40.0;
- rgn.data.rdh.dwSize = sizeof(rgn.data.rdh); - SetLastError(0xdeadbeef); hrgn = ExtCreateRegion(&xform, sizeof(rgn), &rgn.data); ok(hrgn != 0, "ExtCreateRegion error %u/%x\n", GetLastError(), GetLastError());
Signed-off-by: Sven Baars sven.wine@gmail.com --- dlls/gdi32/tests/clipping.c | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-)
diff --git a/dlls/gdi32/tests/clipping.c b/dlls/gdi32/tests/clipping.c index 8f3beb56b7..015157522d 100644 --- a/dlls/gdi32/tests/clipping.c +++ b/dlls/gdi32/tests/clipping.c @@ -182,13 +182,10 @@ static void test_ExtCreateRegion(void) HRGN hrgn; XFORM xform;
- if (0) /* crashes under Win9x */ - { - SetLastError(0xdeadbeef); - hrgn = ExtCreateRegion(NULL, 0, NULL); - ok(!hrgn, "ExtCreateRegion should fail\n"); - ok(GetLastError() == ERROR_INVALID_PARAMETER, "ERROR_INVALID_PARAMETER, got %u\n", GetLastError()); - } + SetLastError(0xdeadbeef); + hrgn = ExtCreateRegion(NULL, 0, NULL); + ok(!hrgn, "ExtCreateRegion should fail\n"); + ok(GetLastError() == ERROR_INVALID_PARAMETER, "ERROR_INVALID_PARAMETER, got %u\n", GetLastError());
rgn.data.rdh.dwSize = 0; rgn.data.rdh.iType = 0; @@ -286,9 +283,7 @@ static void test_GetClipRgn(void)
/* Test calling GetClipRgn with a valid device context and NULL region. */ ret = GetClipRgn(hdc, NULL); - ok(ret == 0 || - ret == -1 /* Win9x */, - "Expected GetClipRgn to return 0, got %d\n", ret); + ok(ret == 0, "Expected GetClipRgn to return 0, got %d\n", ret);
/* Initialize the test regions. */ hrgn = CreateRectRgn(100, 100, 100, 100); @@ -340,9 +335,7 @@ static void test_GetClipRgn(void) "Expected SelectClipRgn to return SIMPLEREGION, got %d\n", ret);
ret = GetClipRgn(hdc, NULL); - ok(ret == 0 || - ret == -1 /* Win9x */, - "Expected GetClipRgn to return 0, got %d\n", ret); + ok(ret == 0, "Expected GetClipRgn to return 0, got %d\n", ret);
ret = GetClipRgn(hdc, hrgn3); ok(ret == 0, "Expected GetClipRgn to return 0, got %d\n", ret);
Signed-off-by: Huw Davies huw@codeweavers.com
Signed-off-by: Sven Baars sven.wine@gmail.com --- v3: Skip most of the SetDIBitsToDevice RLE8 tests on Windows 2008 since there it almost always doesn't do anything.
dlls/gdi32/tests/bitmap.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-)
diff --git a/dlls/gdi32/tests/bitmap.c b/dlls/gdi32/tests/bitmap.c index d651765006..bac34d0b69 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 ); @@ -5772,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) {
On Sun, Nov 10, 2019 at 12:44:12PM +0100, Sven Baars wrote:
Signed-off-by: Sven Baars sven.wine@gmail.com
v3: Skip most of the SetDIBitsToDevice RLE8 tests on Windows 2008 since there it almost always doesn't do anything.
dlls/gdi32/tests/bitmap.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-)
diff --git a/dlls/gdi32/tests/bitmap.c b/dlls/gdi32/tests/bitmap.c index d651765006..bac34d0b69 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 );
Could you send this in without the hunk below and then send that as a separate patch?
@@ -5772,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) {
Huw.