Re: [PATCH 1/5] ddraw/tests: Add test for bad size of surface caps in CreateSurface. (try 5)

Oldrich Jedlicka oldium.pro at seznam.cz
Tue Aug 10 10:42:37 CDT 2010


Hi Stefan,

> 10.8.2010 15:40:40, Stefan Dösinger <stefandoesinger at gmx.at>:
> Diff -u doesn't find any difference between try 4 and try 5, and probably older 
> tries. If you're resending them because the older ones weren't applied, that's 
> futile - Alexandre is on vacation.
> 
> Also it is generally a bad idea to keep resending a unchanged patch. If you 
> think the patch has been lost(e.g. Alexandre is waiting for my review and I am 
> not at home, etc) it is better to ask on Wine-devel what is up with the 
> patches.

Ok, I understand. I'm just sending the whole patchset with changed/unchanged patches (the number of patches changed, because some of them had been applied and some of them I removed, because they don't implement things properly).

Is there some recommended way to send updated patchsets when only some patches need to be improved (but the sequence of applying should stay)? Would the "introductionary" mail describing changes and patches as follow-ups help?

Thanks,
Oldřich.

> Am Sonntag 08 August 2010, 07:09:24 schrieb Oldřich Jedlička:
> > ---
> >  dlls/ddraw/tests/dsurface.c |  138
> > +++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 138
> > insertions(+), 0 deletions(-)
> > 
> > diff --git a/dlls/ddraw/tests/dsurface.c b/dlls/ddraw/tests/dsurface.c
> > index 76bfc7e..8cdcd92 100644
> > --- a/dlls/ddraw/tests/dsurface.c
> > +++ b/dlls/ddraw/tests/dsurface.c
> > @@ -25,6 +25,7 @@
> > 
> >  #include <assert.h>
> >  #include "wine/test.h"
> > +#include "wine/exception.h"
> >  #include "ddraw.h"
> >  #include "d3d.h"
> >  #include "unknwn.h"
> > @@ -3569,6 +3570,142 @@ static void BackBufferAttachmentFlipTest(void)
> >      DestroyWindow(window);
> >  }
> > 
> > +static void CreateSurfaceBadCapsSizeTest(void)
> > +{
> > +    DDSURFACEDESC ddsd_ok;
> > +    DDSURFACEDESC ddsd_bad1;
> > +    DDSURFACEDESC ddsd_bad2;
> > +    DDSURFACEDESC ddsd_bad3;
> > +    DDSURFACEDESC ddsd_bad4;
> > +    DDSURFACEDESC2 ddsd2_ok;
> > +    DDSURFACEDESC2 ddsd2_bad1;
> > +    DDSURFACEDESC2 ddsd2_bad2;
> > +    DDSURFACEDESC2 ddsd2_bad3;
> > +    DDSURFACEDESC2 ddsd2_bad4;
> > +    IDirectDrawSurface *surf;
> > +    IDirectDrawSurface4 *surf4;
> > +    IDirectDrawSurface7 *surf7;
> > +    HRESULT hr;
> > +    IDirectDraw2 *dd2;
> > +    IDirectDraw4 *dd4;
> > +    IDirectDraw7 *dd7;
> > +
> > +    const DWORD caps = DDSCAPS_OFFSCREENPLAIN;
> > +
> > +    memset(&ddsd_ok, 0, sizeof(ddsd_ok));
> > +    ddsd_ok.dwSize = sizeof(ddsd_ok);
> > +    ddsd_ok.dwFlags = DDSD_CAPS | DDSD_WIDTH | DDSD_HEIGHT;
> > +    ddsd_ok.dwWidth = 64;
> > +    ddsd_ok.dwHeight = 64;
> > +    ddsd_ok.ddsCaps.dwCaps = caps;
> > +    memcpy(&ddsd_bad1, &ddsd_ok, sizeof(ddsd_bad1));
> > +    ddsd_bad1.dwSize--;
> > +    memcpy(&ddsd_bad2, &ddsd_ok, sizeof(ddsd_bad2));
> > +    ddsd_bad2.dwSize++;
> > +    memcpy(&ddsd_bad3, &ddsd_ok, sizeof(ddsd_bad3));
> > +    ddsd_bad3.dwSize = 0;
> > +    memcpy(&ddsd_bad4, &ddsd_ok, sizeof(ddsd_bad4));
> > +    ddsd_bad4.dwSize = sizeof(DDSURFACEDESC2);
> > +
> > +    memset(&ddsd2_ok, 0, sizeof(ddsd2_ok));
> > +    ddsd2_ok.dwSize = sizeof(ddsd2_ok);
> > +    ddsd2_ok.dwFlags = DDSD_CAPS | DDSD_WIDTH | DDSD_HEIGHT;
> > +    ddsd2_ok.dwWidth = 64;
> > +    ddsd2_ok.dwHeight = 64;
> > +    ddsd2_ok.ddsCaps.dwCaps = caps;
> > +    memcpy(&ddsd2_bad1, &ddsd2_ok, sizeof(ddsd2_bad1));
> > +    ddsd2_bad1.dwSize--;
> > +    memcpy(&ddsd2_bad2, &ddsd2_ok, sizeof(ddsd2_bad2));
> > +    ddsd2_bad2.dwSize++;
> > +    memcpy(&ddsd2_bad3, &ddsd2_ok, sizeof(ddsd2_bad3));
> > +    ddsd2_bad3.dwSize = 0;
> > +    memcpy(&ddsd2_bad4, &ddsd2_ok, sizeof(ddsd2_bad4));
> > +    ddsd2_bad4.dwSize = sizeof(DDSURFACEDESC);
> > +
> > +    hr = IDirectDraw_CreateSurface(lpDD, &ddsd_ok, &surf, NULL);
> > +    ok(SUCCEEDED(hr), "IDirectDraw_CreateSurface failed: 0x%08x\n", hr);
> > +    IDirectDrawSurface_Release(surf);
> > +
> > +    hr = IDirectDraw_CreateSurface(lpDD, &ddsd_bad1, &surf, NULL);
> > +    todo_wine ok(hr == DDERR_INVALIDPARAMS, "IDirectDraw_CreateSurface
> > didn't return 0x%08x, but 0x%08x\n", +       DDERR_INVALIDPARAMS, hr);
> > +    hr = IDirectDraw_CreateSurface(lpDD, &ddsd_bad2, &surf, NULL);
> > +    todo_wine ok(hr == DDERR_INVALIDPARAMS, "IDirectDraw_CreateSurface
> > didn't return 0x%08x, but 0x%08x\n", +       DDERR_INVALIDPARAMS, hr);
> > +    hr = IDirectDraw_CreateSurface(lpDD, &ddsd_bad3, &surf, NULL);
> > +    ok(hr == DDERR_INVALIDPARAMS, "IDirectDraw_CreateSurface didn't return
> > 0x%08x, but 0x%08x\n", +       DDERR_INVALIDPARAMS, hr);
> > +    hr = IDirectDraw_CreateSurface(lpDD, &ddsd_bad4, &surf, NULL);
> > +    todo_wine ok(hr == DDERR_INVALIDPARAMS, "IDirectDraw_CreateSurface
> > didn't return 0x%08x, but 0x%08x\n", +       DDERR_INVALIDPARAMS, hr);
> > +
> > +    hr = IDirectDraw_QueryInterface(lpDD, &IID_IDirectDraw2, (void **)
> > &dd2); +    ok(SUCCEEDED(hr), "IDirectDraw_QueryInterface failed:
> > 0x%08x\n", hr); +
> > +    hr = IDirectDraw2_CreateSurface(dd2, &ddsd_ok, &surf, NULL);
> > +    ok(SUCCEEDED(hr), "IDirectDraw2_CreateSurface failed: 0x%08x\n", hr);
> > +    IDirectDrawSurface_Release(surf);
> > +
> > +    hr = IDirectDraw2_CreateSurface(dd2, &ddsd_bad1, &surf, NULL);
> > +    todo_wine ok(hr == DDERR_INVALIDPARAMS, "IDirectDraw2_CreateSurface
> > didn't return 0x%08x, but 0x%08x\n", +       DDERR_INVALIDPARAMS, hr);
> > +    hr = IDirectDraw2_CreateSurface(dd2, &ddsd_bad2, &surf, NULL);
> > +    todo_wine ok(hr == DDERR_INVALIDPARAMS, "IDirectDraw2_CreateSurface
> > didn't return 0x%08x, but 0x%08x\n", +       DDERR_INVALIDPARAMS, hr);
> > +    hr = IDirectDraw2_CreateSurface(dd2, &ddsd_bad3, &surf, NULL);
> > +    ok(hr == DDERR_INVALIDPARAMS, "IDirectDraw2_CreateSurface didn't
> > return 0x%08x, but 0x%08x\n", +       DDERR_INVALIDPARAMS, hr);
> > +    hr = IDirectDraw2_CreateSurface(dd2, &ddsd_bad4, &surf, NULL);
> > +    todo_wine ok(hr == DDERR_INVALIDPARAMS, "IDirectDraw2_CreateSurface
> > didn't return 0x%08x, but 0x%08x\n", +       DDERR_INVALIDPARAMS, hr);
> > +
> > +    IDirectDraw2_Release(dd2);
> > +
> > +    hr = IDirectDraw_QueryInterface(lpDD, &IID_IDirectDraw4, (void **)
> > &dd4); +    ok(SUCCEEDED(hr), "IDirectDraw_QueryInterface failed:
> > 0x%08x\n", hr); +
> > +    hr = IDirectDraw4_CreateSurface(dd4, &ddsd2_ok, &surf4, NULL);
> > +    ok(SUCCEEDED(hr), "IDirectDraw4_CreateSurface failed: 0x%08x\n", hr);
> > +    IDirectDrawSurface4_Release(surf4);
> > +
> > +    hr = IDirectDraw4_CreateSurface(dd4, &ddsd2_bad1, &surf4, NULL);
> > +    todo_wine ok(hr == DDERR_INVALIDPARAMS, "IDirectDraw4_CreateSurface
> > didn't return 0x%08x, but 0x%08x\n", +       DDERR_INVALIDPARAMS, hr);
> > +    hr = IDirectDraw4_CreateSurface(dd4, &ddsd2_bad2, &surf4, NULL);
> > +    todo_wine ok(hr == DDERR_INVALIDPARAMS, "IDirectDraw4_CreateSurface
> > didn't return 0x%08x, but 0x%08x\n", +       DDERR_INVALIDPARAMS, hr);
> > +    hr = IDirectDraw4_CreateSurface(dd4, &ddsd2_bad3, &surf4, NULL);
> > +    ok(hr == DDERR_INVALIDPARAMS, "IDirectDraw4_CreateSurface didn't
> > return 0x%08x, but 0x%08x\n", +       DDERR_INVALIDPARAMS, hr);
> > +    hr = IDirectDraw4_CreateSurface(dd4, &ddsd2_bad4, &surf4, NULL);
> > +    todo_wine ok(hr == DDERR_INVALIDPARAMS, "IDirectDraw4_CreateSurface
> > didn't return 0x%08x, but 0x%08x\n", +       DDERR_INVALIDPARAMS, hr);
> > +
> > +    IDirectDraw4_Release(dd4);
> > +
> > +    hr = IDirectDraw_QueryInterface(lpDD, &IID_IDirectDraw7, (void **)
> > &dd7); +    ok(SUCCEEDED(hr), "IDirectDraw_QueryInterface failed:
> > 0x%08x\n", hr); +
> > +    hr = IDirectDraw7_CreateSurface(dd7, &ddsd2_ok, &surf7, NULL);
> > +    ok(SUCCEEDED(hr), "IDirectDraw7_CreateSurface failed: 0x%08x\n", hr);
> > +    IDirectDrawSurface7_Release(surf7);
> > +
> > +    hr = IDirectDraw7_CreateSurface(dd7, &ddsd2_bad1, &surf7, NULL);
> > +    todo_wine ok(hr == DDERR_INVALIDPARAMS, "IDirectDraw7_CreateSurface
> > didn't return 0x%08x, but 0x%08x\n", +       DDERR_INVALIDPARAMS, hr);
> > +    hr = IDirectDraw7_CreateSurface(dd7, &ddsd2_bad2, &surf7, NULL);
> > +    todo_wine ok(hr == DDERR_INVALIDPARAMS, "IDirectDraw7_CreateSurface
> > didn't return 0x%08x, but 0x%08x\n", +       DDERR_INVALIDPARAMS, hr);
> > +    hr = IDirectDraw7_CreateSurface(dd7, &ddsd2_bad3, &surf7, NULL);
> > +    ok(hr == DDERR_INVALIDPARAMS, "IDirectDraw7_CreateSurface didn't
> > return 0x%08x, but 0x%08x\n", +       DDERR_INVALIDPARAMS, hr);
> > +    hr = IDirectDraw7_CreateSurface(dd7, &ddsd2_bad4, &surf7, NULL);
> > +    todo_wine ok(hr == DDERR_INVALIDPARAMS, "IDirectDraw7_CreateSurface
> > didn't return 0x%08x, but 0x%08x\n", +       DDERR_INVALIDPARAMS, hr);
> > +
> > +    IDirectDraw7_Release(dd7);
> > +}
> > +
> >  START_TEST(dsurface)
> >  {
> >      HRESULT ret;
> > @@ -3624,5 +3761,6 @@ START_TEST(dsurface)
> >      GetDCFormatTest();
> >      BackBufferCreateSurfaceTest();
> >      BackBufferAttachmentFlipTest();
> > +    CreateSurfaceBadCapsSizeTest();
> >      ReleaseDirectDraw();
> >  }
> 
> 
> 
> 
> 
> 



More information about the wine-devel mailing list