[prev in list] [next in list] [prev in thread] [next in thread] 

List:       wine-devel
Subject:    Re: [PATCH 10/10] add tests for SHOpenRegStream2A and
From:       Alexandre Julliard <julliard () winehq ! org>
Date:       2009-09-29 10:25:40
Message-ID: 877hvi6o9n.fsf () wine ! dyndns ! org
[Download RAW message or body]

Peter Oberndorfer <kumbayo84@arcor.de> writes:

> +#define test_streamsize(stream, size) \
> +{ \
> +    STATSTG stat; \
> +    HRESULT result; \
> +    result = IStream_Stat(stream, &stat, STATFLAG_NONAME); \
> +    ok(result == S_OK, "IStream::Stat failed %08x\n", result); \
> +    ok(stat.cbSize.QuadPart == size, "Stat size wrong\n"); \
> +}
> +
> +#define test_value_type(name, wantedtype) \
> +{ \
> +    LONG retval; \
> +    DWORD type; \
> +    retval = RegQueryValueExA(hBaseKey, name, NULL, &type, NULL, NULL); \
> +    ok(retval == ERROR_SUCCESS, "RegQueryValueExA should succeed, error %d\n", \
> retval); \ +    ok(type == wantedtype, "type of key wrong. wanted %d, got %d\n", \
> wantedtype, type); \ +}
> +
> +#define test_value_not_exist(name) \
> +{ \
> +    LONG retval; \
> +    retval = RegQueryValueExA(hBaseKey, name, NULL, NULL, NULL, NULL); \
> +    ok(retval == ERROR_FILE_NOT_FOUND, "RegQueryValueExA returned wrong error \
> %d\n", retval); \ +}
> +
> +/* older versions (Win98) seem broken, they do not delete the key on close when it \
> is empty */ +#define test_value_type_broken(name, wantedtype) \
> +{ \
> +    LONG retval; \
> +    DWORD type; \
> +    retval = RegQueryValueExA(hBaseKey, name, NULL, &type, NULL, NULL); \
> +    ok(retval == ERROR_SUCCESS, "RegQueryValueExA should succeed, error %d\n", \
> retval); \ +    ok(type == wantedtype || broken(type != wantedtype), "type of key \
> wrong. wanted %d, got %d\n", wantedtype, type); \ +}
> +
> +#define test_value_not_exist_broken(name) \
> +{ \
> +    LONG retval; \
> +    retval = RegQueryValueExA(hBaseKey, name, NULL, NULL, NULL, NULL); \
> +    ok((retval == ERROR_FILE_NOT_FOUND) || broken(retval == ERROR_SUCCESS), \
> +       "RegQueryValueExA returned wrong error %d\n", retval); \
> +}

Please avoid hiding the code inside macros. When you have only a couple
of lines just spell things out explicitly. For larger things write an
inline function.

-- 
Alexandre Julliard
julliard@winehq.org


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic