[PATCH v3 3/3] gdi32/tests: Fix some bitmap test failures on Windows 2008+.
Huw Davies
huw at codeweavers.com
Tue Nov 12 03:20:37 CST 2019
On Sun, Nov 10, 2019 at 12:44:12PM +0100, Sven Baars wrote:
> Signed-off-by: Sven Baars <sven.wine at 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.
More information about the wine-devel
mailing list