[PATCH] kernel32/tests/fiber: Add tests for fiber-local storage.
André Hentschel
nerv at dawncrow.de
Sun Jul 10 12:31:59 CDT 2016
Hi,
comments inline
Am 08.07.2016 um 00:16 schrieb John Sheu:
> +static void test_FiberLocalStorageCallback(PFLS_CALLBACK_FUNCTION cbfunc) {
> + DWORD fls;
> + BOOL ret;
> + PVOID val, val2;
> +
> + if (!pFlsAlloc || !pFlsSetValue || !pFlsGetValue || !pFlsFree)
> + {
> + win_skip( "Fiber Local Storage not supported\n" );
> + return;
> + }
> +
> + /* Test that the callback is executed */
> + SetLastError( 0xdeadbeef );
> + cbCount = 0;
> + fls = pFlsAlloc( cbfunc );
> + ok( fls != FLS_OUT_OF_INDEXES, "FlsAlloc failed with error %u\n", GetLastError() );
> +
> + SetLastError( 0xdeadbeef );
> + val = (PVOID) 0x1587;
> + fls_value_to_set = val;
> + ret = pFlsSetValue( fls, val );
> + ok(ret, "FlsSetValue failed with error %u\n", GetLastError() );
> +
> + val2 = pFlsGetValue( fls );
> + ok(val == val2, "FlsGetValue returned %p, expected %p\n", val2, val);
> +
> + SetLastError( 0xdeadbeef );
> + ret = pFlsFree( fls );
> + ok(ret, "FlsFree failed with error %u\n", GetLastError() );
> + todo_wine
> + {
> + ok( cbCount == 1, "Wrong callback count: %d\n", cbCount );
> + }
Please make those one-liners, like
todo_wine ok(...);
and the patch should be fine then
> +
> + /* Test that callback is not executed if value is NULL */
> + SetLastError( 0xdeadbeef );
> + cbCount = 0;
> + fls = pFlsAlloc( cbfunc );
> + ok( fls != FLS_OUT_OF_INDEXES, "FlsAlloc failed with error %u\n", GetLastError() );
> +
> + SetLastError( 0xdeadbeef );
> + ret = pFlsSetValue( fls, NULL );
> + ok( ret, "FlsSetValue failed with error %u\n", GetLastError() );
> +
> + SetLastError( 0xdeadbeef );
> + pFlsFree( fls );
> + ok( ret, "FlsFree failed with error %u\n", GetLastError() );
> + ok( cbCount == 0, "Wrong callback count: %d\n", cbCount );
> +}
More information about the wine-devel
mailing list