kernel32/tests: Convert fiber back to thread even when IsThreadAFiber is not available.

Bernhard Übelacker bernhardu at mailbox.org
Sat Aug 6 09:15:21 CDT 2016


Am 06.08.2016 um 14:49 schrieb Nikolay Sivov:
> On 06.08.2016 15:40, Bernhard Übelacker wrote:
>> Testbot shows the fiber test failing for Windows 2003 recently.
>> https://test.winehq.org/data/tests/kernel32:fiber.html
>>
>> This is probably related to the last change in
>> http://source.winehq.org/git/wine.git/commit/556fef3dd184e71e1f0345bd8f37259c88a6f078
>>
>> As Windows 2003 seems to have no IsThreadAFiber the test never
>> calls test_ConvertFiberToThread.
>> This leads probably sometimes to the crash now visible.
>>
>> By calling test_ConvertFiberToThread before return the crash disappears
>> on Windows 2003.
>>
>> Signed-off-by: Bernhard Übelacker <bernhardu at mailbox.org>
>> ---
>>  dlls/kernel32/tests/fiber.c | 2 ++
>>  1 file changed, 2 insertions(+)
>>
>> diff --git a/dlls/kernel32/tests/fiber.c b/dlls/kernel32/tests/fiber.c
>> index 9ff9366..0c989af 100644
>> --- a/dlls/kernel32/tests/fiber.c
>> +++ b/dlls/kernel32/tests/fiber.c
>> @@ -158,6 +158,7 @@ static void test_FiberHandling(void)
>>      if (!pCreateFiberEx)
>>      {
>>          win_skip( "CreateFiberEx not present\n" );
>> +        test_ConvertFiberToThread();
>>          return;
>>      }
>>  
>> @@ -171,6 +172,7 @@ static void test_FiberHandling(void)
>>      if (!pIsThreadAFiber)
>>      {
>>          win_skip( "IsThreadAFiber not present\n" );
>> +        test_ConvertFiberToThread();
>>          return;
>>      }
>>  
>>
> 
> It's better to have a helper for such cleanup, and not to call one test
> from another.
> 
> 

Hello,
in this case "test_FiberHandling" does call "test_ConvertFiberToThread"
some lines later already today.

Function test_ConvertFiberToThread looks to me already as such a
helper, as it is basically just the call to pConvertFiberToThread.

Kind regards,
Bernhard




More information about the wine-devel mailing list