Reactos

[ROSTESTS] Skip some flaky test / do not count successes

+152 -13
+1
modules/rostests/apitests/kernel32/TunnelCache.c
··· 176 176 ok(GetFileTime(hFile, &File1Time, NULL, NULL) != FALSE, "GetFileTime() failed\n"); 177 177 CloseHandle(hFile); 178 178 179 + ros_skip_flaky 179 180 ok(RtlCompareMemory(&FileTime, &File1Time, sizeof(FILETIME)) == sizeof(FILETIME), "Tunnel cache failed\n"); 180 181 181 182 DeleteFile("file2");
+4
modules/rostests/apitests/ntdll/NtQueryInformationProcess.c
··· 119 119 sizeof(KERNEL_USER_TIMES), 120 120 NULL); 121 121 ok_hex(Status, STATUS_SUCCESS); 122 + ros_skip_flaky 122 123 ok(Times1.CreateTime.QuadPart < TestStartTime.QuadPart, 123 124 "CreateTime is %I64u, expected < %I64u\n", Times1.CreateTime.QuadPart, TestStartTime.QuadPart); 124 125 ok(Times1.CreateTime.QuadPart > TestStartTime.QuadPart - 100000000LL, ··· 126 127 ok(Times1.ExitTime.QuadPart == 0, 127 128 "ExitTime is %I64u, expected 0\n", Times1.ExitTime.QuadPart); 128 129 ok(Times1.KernelTime.QuadPart != 0, "KernelTime is 0\n"); 130 + ros_skip_flaky 129 131 ok(Times1.UserTime.QuadPart != 0, "UserTime is 0\n"); 130 132 131 133 /* Do some busy waiting to increase UserTime */ ··· 162 164 /* Time values must have increased */ 163 165 ok(Times2.KernelTime.QuadPart > Times1.KernelTime.QuadPart, 164 166 "KernelTime values inconsistent. Expected %I64u > %I64u\n", Times2.KernelTime.QuadPart, Times1.KernelTime.QuadPart); 167 + ros_skip_flaky 165 168 ok(Times2.UserTime.QuadPart > Times1.UserTime.QuadPart, 166 169 "UserTime values inconsistent. Expected %I64u > %I64u\n", Times2.UserTime.QuadPart, Times1.UserTime.QuadPart); 167 170 /* They can't have increased by more than wall clock time difference (we only have one thread) */ 171 + ros_skip_flaky 168 172 ok(Times2.KernelTime.QuadPart - Times1.KernelTime.QuadPart < Time2.QuadPart - Time1.QuadPart, 169 173 "KernelTime values inconsistent. Expected %I64u - %I64u < %I64u\n", 170 174 Times2.KernelTime.QuadPart, Times1.KernelTime.QuadPart, Time2.QuadPart - Time1.QuadPart);
+1
modules/rostests/apitests/user32/RedrawWindow.c
··· 19 19 _In_ WPARAM wParam, 20 20 _In_ LPARAM lParam) 21 21 { 22 + disable_success_count 22 23 ok(GetCurrentThreadId() == dwThreadId, "Thread 0x%lx instead of 0x%lx\n", GetCurrentThreadId(), dwThreadId); 23 24 if (message == WM_PAINT) 24 25 {
+1
modules/rostests/apitests/user32/SetProp.c
··· 158 158 /* In particular we shouldn't see these from WM_SETICON */ 159 159 SysICAtom = RegisterWindowMessageW(L"SysIC"); 160 160 Prop = GetPropW(hWnd, (PCWSTR)MAKEINTATOM(SysICAtom)); 161 + ros_skip_flaky 161 162 ok(Prop == NULL, "SysIC prop (0x%04x) is %p\n", SysICAtom, Prop); 162 163 163 164 SysICSAtom = RegisterWindowMessageW(L"SysICS");
+4 -4
modules/rostests/winetests/gdi32/bitmap.c
··· 5586 5586 for (i = 0; i < 24; i++) ok( dib_bits[i] == 0xaaaaaaaa, "%d: got %08x\n", i, dib_bits[i] ); 5587 5587 for (i = 24; i < 64; i++) 5588 5588 if (i == 52) ok( dib_bits[i] == 0x00808080, "%d: got %08x\n", i, dib_bits[i] ); 5589 - else if (i & 4) ok( dib_bits[i] == 0xaaaaaaaa, "%d: got %08x\n", i, dib_bits[i] ); 5590 - else ok( dib_bits[i] == bottom_up[i - 20], "%d: got %08x\n", i, dib_bits[i] ); 5589 + else if (i & 4) ros_skip_flaky ok( dib_bits[i] == 0xaaaaaaaa, "%d: got %08x\n", i, dib_bits[i] ); 5590 + else ros_skip_flaky ok(dib_bits[i] == bottom_up[i - 20], "%d: got %08x\n", i, dib_bits[i]); 5591 5591 memset( dib_bits, 0xaa, 64 * 4 ); 5592 5592 5593 5593 /* top-down compressed dibs are invalid */ ··· 5653 5653 ok( ret == 37, "got %d\n", ret ); 5654 5654 for (i = 0; i < 40; i++) 5655 5655 if (i == 12) ok( dib_bits[i] == 0x00808080, "%d: got %08x\n", i, dib_bits[i] ); 5656 - else if (i & 4) ok( dib_bits[i] == 0xaaaaaaaa, "%d: got %08x\n", i, dib_bits[i] ); 5657 - else ok( dib_bits[i] == top_down[i + 28], "%d: got %08x\n", i, dib_bits[i] ); 5656 + else if (i & 4) ros_skip_flaky ok( dib_bits[i] == 0xaaaaaaaa, "%d: got %08x\n", i, dib_bits[i] ); 5657 + else ros_skip_flaky ok( dib_bits[i] == top_down[i + 28], "%d: got %08x\n", i, dib_bits[i] ); 5658 5658 for (i = 40; i < 64; i++) ok( dib_bits[i] == 0xaaaaaaaa, "%d: got %08x\n", i, dib_bits[i] ); 5659 5659 memset( dib_bits, 0xaa, 64 * 4 ); 5660 5660
+3
modules/rostests/winetests/gdi32/path.c
··· 420 420 size = GetPath(hdc, pnt, types, size); 421 421 assert(size > 0); 422 422 423 + ros_skip_flaky 423 424 ok( size == expected_size, "%s: Path size %d does not match expected size %d\n", 424 425 path_name, size, expected_size); 425 426 ··· 429 430 * floating point to integer conversion */ 430 431 static const int fudge = 2; 431 432 433 + ros_skip_flaky 432 434 ok( types[idx] == expected[idx].type, "%s: Expected #%d: %s (%d,%d) but got %s (%d,%d)\n", 433 435 path_name, idx, type_string[expected[idx].type], expected[idx].x, expected[idx].y, 434 436 type_string[types[idx]], pnt[idx].x, pnt[idx].y); 435 437 436 438 if (types[idx] == expected[idx].type) 439 + ros_skip_flaky 437 440 ok( (pnt[idx].x >= expected[idx].x - fudge && pnt[idx].x <= expected[idx].x + fudge) && 438 441 (pnt[idx].y >= expected[idx].y - fudge && pnt[idx].y <= expected[idx].y + fudge), 439 442 "%s: Expected #%d: %s position (%d,%d) but got (%d,%d)\n", path_name, idx,
+1
modules/rostests/winetests/kernel32/mailslot.c
··· 324 324 ok( !ReadFile( hSlot, buffer, sizeof buffer, &count, NULL), "slot read\n"); 325 325 ok( GetLastError() == ERROR_SEM_TIMEOUT, "wrong error %u\n", GetLastError() ); 326 326 dwTimeout = GetTickCount() - dwTimeout; 327 + ros_skip_flaky 327 328 ok( dwTimeout >= 990, "timeout too short %u\n", dwTimeout ); 328 329 ok( CloseHandle( hSlot ), "closing the mailslot\n"); 329 330
+3
modules/rostests/winetests/kernel32/pipe.c
··· 117 117 static void _test_not_signaled(unsigned line, HANDLE handle) 118 118 { 119 119 DWORD res = WaitForSingleObject(handle, 0); 120 + disable_success_count 120 121 ok_(__FILE__,line)(res == WAIT_TIMEOUT, "WaitForSingleObject returned %u (%u)\n", res, GetLastError()); 121 122 } 122 123 ··· 2784 2785 memset(overlapped, 0, sizeof(*overlapped)); 2785 2786 overlapped->hEvent = CreateEventW(NULL, TRUE, FALSE, NULL); 2786 2787 res = WriteFile(writer, buf, size, &written_bytes, overlapped); 2788 + disable_success_count 2787 2789 ok_(__FILE__,line)(!res && GetLastError() == ERROR_IO_PENDING, "WriteFile returned %x(%u)\n", res, GetLastError()); 2790 + disable_success_count 2788 2791 ok_(__FILE__,line)(!written_bytes, "written_bytes = %u\n", written_bytes); 2789 2792 2790 2793 _test_not_signaled(line, overlapped->hEvent);
+3 -1
modules/rostests/winetests/kernel32/process.c
··· 2572 2572 2573 2573 ret = GetExitCodeProcess(pi.hProcess, &dwret); 2574 2574 ok(ret, "GetExitCodeProcess error %u\n", GetLastError()); 2575 - ok(dwret == 123 || broken(dwret == 0) /* randomly fails on Win 2000 / XP */, 2575 + ok(dwret == 123 || broken(dwret == 0) || broken(dwret == 259) /* randomly fails on Win 2000 / XP */, 2576 2576 "wrong exitcode %u\n", dwret); 2577 2577 2578 2578 CloseHandle(pi.hProcess); ··· 3419 3419 #endif 3420 3420 3421 3421 ret = ReadProcessMemory( pi.hProcess, peb_ptr, &child_peb, sizeof(child_peb), NULL ); 3422 + ros_skip_flaky 3422 3423 ok( ret, "Failed to read PEB (%u)\n", GetLastError() ); 3424 + ros_skip_flaky 3423 3425 ok( child_peb.ImageBaseAddress == exe_base, "wrong base %p/%p\n", 3424 3426 child_peb.ImageBaseAddress, exe_base ); 3425 3427 ok( entry_ptr == (char *)exe_base + nt_header.OptionalHeader.AddressOfEntryPoint,
+4
modules/rostests/winetests/kernel32/sync.c
··· 778 778 static void CALLBACK timer_queue_cb1(PVOID p, BOOLEAN timedOut) 779 779 { 780 780 int *pn = p; 781 + disable_success_count 781 782 ok(timedOut, "Timer callbacks should always time out\n"); 782 783 ++*pn; 783 784 } ··· 2571 2572 size = 0x1000; 2572 2573 status = pNtAllocateVirtualMemory(pi->hProcess, &base, 0, &size, 2573 2574 MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE); 2575 + disable_success_count 2574 2576 ok(!status, "expected STATUS_SUCCESS, got %08x\n", status); 2575 2577 ok(base != NULL, "expected base != NULL, got %p\n", base); 2576 2578 SetEvent(info->event); 2577 2579 2578 2580 size = 0; 2579 2581 status = pNtFreeVirtualMemory(pi->hProcess, &base, &size, MEM_RELEASE); 2582 + disable_success_count 2580 2583 ok(!status, "expected STATUS_SUCCESS, got %08x\n", status); 2581 2584 SetEvent(info->event); 2582 2585 } ··· 2613 2616 result = WaitForSingleObject(event, 1000); 2614 2617 ok(result == WAIT_OBJECT_0, "expected WAIT_OBJECT_0, got %u\n", result); 2615 2618 2619 + disable_success_count 2616 2620 for (i = 0; i < 1000; i++) 2617 2621 { 2618 2622 result = SuspendThread(pi.hThread);
+3
modules/rostests/winetests/mshtml/xmlhttprequest.c
··· 231 231 LONG val; 232 232 HRESULT hres; 233 233 234 + if (!expect_xmlhttprequest_onreadystatechange_loading) 234 235 test_event_args(&DIID_DispHTMLXMLHttpRequest, id, wFlags, pdp, pvarRes, pei, pspCaller); 235 236 236 237 hres = IHTMLXMLHttpRequest_get_readyState(xhr, &val); 238 + disable_success_count 237 239 ok(hres == S_OK, "get_readyState failed: %08x\n", hres); 238 240 readystatechange_cnt++; 239 241 ··· 246 248 break; 247 249 case 3: 248 250 loading_cnt++; 251 + disable_success_count 249 252 CHECK_EXPECT2(xmlhttprequest_onreadystatechange_loading); 250 253 break; 251 254 case 4:
+10 -2
modules/rostests/winetests/msi/msi.c
··· 13505 13505 ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %u\n", r); 13506 13506 ok(found1, "product1 not found\n"); 13507 13507 ok(found2, "product2 not found\n"); 13508 + ros_skip_flaky 13508 13509 ok(found3, "product3 not found\n"); 13509 13510 13510 13511 delete_key(key1, "", access & KEY_WOW64_64KEY); ··· 13693 13694 ok( !sid[0], "got \"%s\"\n", sid ); 13694 13695 ok( !len, "unexpected length %u\n", len ); 13695 13696 } 13696 - if (!strcmp( product2, guid )) 13697 + else if (!strcmp( product2, guid )) 13697 13698 { 13698 13699 ok( context == MSIINSTALLCONTEXT_USERMANAGED, "got %u\n", context ); 13699 13700 ok( sid[0], "empty sid\n" ); 13700 13701 ok( len == strlen(sid), "unexpected length %u\n", len ); 13701 13702 } 13702 - if (!strcmp( product3, guid )) 13703 + else if (!strcmp( product3, guid )) 13703 13704 { 13704 13705 ok( context == MSIINSTALLCONTEXT_USERUNMANAGED, "got %u\n", context ); 13705 13706 ok( sid[0], "empty sid\n" ); 13706 13707 ok( len == strlen(sid), "unexpected length %u\n", len ); 13708 + } 13709 + else 13710 + { 13711 + trace("Unexpected guid: %s (have %s | %s | %s)\n", guid, product1, product2, product3); 13712 + ok(context != MSIINSTALLCONTEXT_NONE, "got %u\n", context); 13713 + ok(sid[0], "empty sid\n"); 13714 + ok(len == strlen(sid), "unexpected length %u\n", len); 13707 13715 } 13708 13716 index++; 13709 13717 guid[0] = 0;
+1 -1
modules/rostests/winetests/msxml3/domdoc.c
··· 8027 8027 IXMLDOMDocument_Release(doc2); 8028 8028 IXMLDOMDocument_Release(doc3); 8029 8029 IXMLDOMDocument2_Release(doc); 8030 - IXMLDOMDocument2_Release(doc_owner); 8030 + //IXMLDOMDocument2_Release(doc_owner); FIXME: double-free! 8031 8031 free_bstrs(); 8032 8032 } 8033 8033
+1
modules/rostests/winetests/ntdll/exception.c
··· 782 782 ok( context->Eip == (DWORD)code_mem, "eip is wrong: %x instead of %x\n", 783 783 context->Eip, (DWORD)code_mem); 784 784 ok( (context->Dr6 & 0xf) == 1, "B0 flag is not set in Dr6\n"); 785 + ros_skip_flaky 785 786 ok( !(context->Dr6 & 0x4000), "BS flag is set in Dr6\n"); 786 787 context->Dr0 = context->Dr0 + 1; /* set hw bp again on next instruction */ 787 788 context->EFlags |= 0x100; /* enable single stepping */
+9 -3
modules/rostests/winetests/ntdll/info.c
··· 353 353 354 354 last_pid = (DWORD_PTR)spi->UniqueProcessId; 355 355 356 + disable_success_count 356 357 ok( spi->dwThreadCount > 0, "Expected some threads for this process, got 0\n"); 357 358 358 359 /* Loop through the threads, skip NT4 for now */ ··· 363 364 for ( j = 0; j < spi->dwThreadCount; j++) 364 365 { 365 366 k++; 367 + disable_success_count 366 368 ok ( spi->ti[j].ClientId.UniqueProcess == spi->UniqueProcessId, 367 369 "The owning pid of the thread (%p) doesn't equal the pid (%p) of the process\n", 368 370 spi->ti[j].ClientId.UniqueProcess, spi->UniqueProcessId); ··· 1691 1693 for (;;) 1692 1694 { 1693 1695 ret = WaitForDebugEvent(&ev, 1000); 1696 + disable_success_count 1694 1697 ok(ret, "WaitForDebugEvent failed, last error %#x.\n", GetLastError()); 1695 1698 if (!ret) break; 1696 1699 1697 1700 if (ev.dwDebugEventCode == LOAD_DLL_DEBUG_EVENT) break; 1698 1701 1699 1702 ret = ContinueDebugEvent(ev.dwProcessId, ev.dwThreadId, DBG_CONTINUE); 1703 + disable_success_count 1700 1704 ok(ret, "ContinueDebugEvent failed, last error %#x.\n", GetLastError()); 1701 1705 if (!ret) break; 1702 1706 } ··· 1733 1737 for (j = 0; j < 100; j++) 1734 1738 { 1735 1739 ret = WaitForDebugEvent(&ev, 1000); 1740 + disable_success_count 1736 1741 ok(ret || broken(GetLastError() == ERROR_SEM_TIMEOUT), 1737 1742 "WaitForDebugEvent failed, last error %#x.\n", GetLastError()); 1738 1743 if (!ret) break; ··· 1740 1745 if (ev.dwDebugEventCode == EXIT_PROCESS_DEBUG_EVENT) break; 1741 1746 1742 1747 ret = ContinueDebugEvent(ev.dwProcessId, ev.dwThreadId, DBG_CONTINUE); 1748 + disable_success_count 1743 1749 ok(ret, "ContinueDebugEvent failed, last error %#x.\n", GetLastError()); 1744 1750 if (!ret) break; 1745 1751 } ··· 2248 2254 char **argv; 2249 2255 int argc; 2250 2256 2251 - if(!InitFunctionPtrs()) 2252 - return; 2253 - 2254 2257 argc = winetest_get_mainargs(&argv); 2255 2258 if (argc >= 3) return; /* Child */ 2259 + 2260 + if (!InitFunctionPtrs()) 2261 + return; 2256 2262 2257 2263 /* NtQuerySystemInformation */ 2258 2264
+2
modules/rostests/winetests/ntdll/process.c
··· 123 123 ret = WaitForSingleObject(event, 200); 124 124 ok(ret == WAIT_TIMEOUT, "Expected timeout, got: %d\n", ret); 125 125 126 + disable_success_count 126 127 for (;;) 127 128 { 128 129 ret = WaitForDebugEvent(&ev, INFINITE); ··· 158 159 ok(ret, "ContinueDebugEvent failed, last error %#x.\n", GetLastError()); 159 160 160 161 ret = WaitForSingleObject(event, 200); 162 + ros_skip_flaky 161 163 ok(ret == WAIT_OBJECT_0, "Event was not signaled: %d\n", ret); 162 164 163 165 TerminateProcess(info.hProcess, 0);
+1
modules/rostests/winetests/ole32/compobj.c
··· 841 841 DWORD dwPendingType) 842 842 { 843 843 trace("MessagePending\n"); 844 + ros_skip_flaky 844 845 todo_wine ok(0, "unexpected call\n"); 845 846 return PENDINGMSG_WAITNOPROCESS; 846 847 }
+3
modules/rostests/winetests/qmgr/job.c
··· 359 359 hres = IBackgroundCopyJob_Resume(test_job); 360 360 ok(hres == S_OK, "IBackgroundCopyJob_Resume\n"); 361 361 362 + disable_success_count 362 363 for (i = 0; i < timeout_sec; ++i) 363 364 { 364 365 hres = IBackgroundCopyJob_GetState(test_job, &state); ··· 428 429 hres = IBackgroundCopyJob_Resume(test_job); 429 430 ok(hres == S_OK, "IBackgroundCopyJob_Resume\n"); 430 431 432 + disable_success_count 431 433 for (i = 0; i < timeout_sec; ++i) 432 434 { 433 435 hres = IBackgroundCopyJob_GetState(test_job, &state); ··· 570 572 hr = IBackgroundCopyJob_Resume(test_job); 571 573 ok(hr == S_OK, "got 0x%08x\n", hr); 572 574 575 + disable_success_count 573 576 for (i = 0; i < timeout; i++) 574 577 { 575 578 hr = IBackgroundCopyJob_GetState(test_job, &state);
+1
modules/rostests/winetests/quartz/filtermapper.c
··· 39 39 HRESULT hr; 40 40 static const WCHAR wszFriendlyName[] = {'F','r','i','e','n','d','l','y','N','a','m','e',0}; 41 41 42 + disable_success_count 42 43 while(!found && IEnumMoniker_Next(pEnum, 1, &pMoniker, &nb) == S_OK) 43 44 { 44 45 IPropertyBag * pPropBagCat = NULL;
+1
modules/rostests/winetests/quartz/referenceclock.c
··· 86 86 /* FIXME: How much deviation should be allowed after a sleep? */ 87 87 /* 0.3% is common, and 0.4% is sometimes observed. */ 88 88 diff = time2 - time1; 89 + ros_skip_flaky 89 90 ok (9940000 <= diff && diff <= 10240000, "%s - Expected difference around 10000000, got %u\n", clockdesc, diff); 90 91 91 92 }
+1
modules/rostests/winetests/riched20/editor.c
··· 657 657 } 658 658 else 659 659 { 660 + ros_skip_flaky 660 661 ok(HIWORD(result) == i * height, "EM_POSFROMCHAR reports y=%d, expected %d\n", HIWORD(result), i * height); 661 662 ok(LOWORD(result) == xpos, "EM_POSFROMCHAR reports x=%d, expected 1\n", LOWORD(result)); 662 663 }
+5
modules/rostests/winetests/rpcrt4/server.c
··· 1553 1553 names = NULL; 1554 1554 get_names(&n, &names); 1555 1555 ok(n == 2, "expected 2, got %d\n", n); 1556 + ros_skip_flaky 1556 1557 ok(!strcmp(names[0], "Hello"), "expected Hello, got %s\n", names[0]); 1558 + ros_skip_flaky 1557 1559 ok(!strcmp(names[1], "World!"), "expected World!, got %s\n", names[1]); 1558 1560 MIDL_user_free(names[0]); 1559 1561 MIDL_user_free(names[1]); ··· 1563 1565 namesw = NULL; 1564 1566 get_namesw(&n, &namesw); 1565 1567 ok(n == 2, "expected 2, got %d\n", n); 1568 + ros_skip_flaky 1566 1569 ok(!lstrcmpW(namesw[0], helloW), "expected Hello, got %s\n", wine_dbgstr_w(namesw[0])); 1570 + ros_skip_flaky 1567 1571 ok(!lstrcmpW(namesw[1], worldW), "expected World!, got %s\n", wine_dbgstr_w(namesw[1])); 1568 1572 MIDL_user_free(namesw[0]); 1569 1573 MIDL_user_free(namesw[1]); ··· 1573 1577 1574 1578 if (!is_interp) { /* broken in widl */ 1575 1579 pa2 = a; 1580 + ros_skip_flaky 1576 1581 ok(sum_pcarr2(4, &pa2) == 10, "RPC sum_pcarr2\n"); 1577 1582 } 1578 1583
+1
modules/rostests/winetests/user32/listbox.c
··· 1720 1720 memset(tempBuffer, 0, MAX_PATH); 1721 1721 driveletter = '\0'; 1722 1722 SendMessageA(g_listBox, LB_GETTEXT, i, (LPARAM)itemBuffer); 1723 + if (!strstr(itemBuffer, ".exe")) continue; // skip downloaded/generated files from other tests 1723 1724 res = SendMessageA(g_listBox, LB_SETCURSEL, i, 0); 1724 1725 ok (res == i, "SendMessageA(LB_SETCURSEL, %d) failed\n", i); 1725 1726 if (sscanf(itemBuffer, "[-%c-]", &driveletter) == 1) {
+2
modules/rostests/winetests/user32/msg.c
··· 10289 10289 start = GetTickCount(); 10290 10290 while (GetTickCount()-start < 1001 && GetMessageA(&msg, info.hWnd, 0, 0)) 10291 10291 DispatchMessageA(&msg); 10292 + ros_skip_flaky 10292 10293 todo_wine 10293 10294 ok(abs(count-TIMER_COUNT_EXPECTED) < TIMER_COUNT_TOLERANCE /* xp */ 10294 10295 || broken(abs(count-64) < TIMER_COUNT_TOLERANCE) /* most common */ ··· 16902 16903 keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP, 0); 16903 16904 while (PeekMessageA(&msg, NULL, 0, 0, PM_REMOVE)) 16904 16905 { 16906 + ros_skip_flaky 16905 16907 ok(msg.hwnd != NULL, "unexpected thread message %x\n", msg.message); 16906 16908 DispatchMessageA(&msg); 16907 16909 }
+8
modules/rostests/winetests/user32/win.c
··· 149 149 /* foreground can be moved to a different app pretty much at any time */ 150 150 if (foreground && GetForegroundWindow() && 151 151 GetWindowThreadProcessId(GetForegroundWindow(), NULL) == GetCurrentThreadId()) 152 + disable_success_count 152 153 ok_(file, line)(foreground == GetForegroundWindow(), "GetForegroundWindow() = %p\n", GetForegroundWindow()); 153 154 ok_(file, line)(focus == GetFocus(), "GetFocus() = %p\n", GetFocus()); 154 155 ok_(file, line)(capture == GetCapture(), "GetCapture() = %p\n", GetCapture()); ··· 164 165 /* foreground can be moved to a different app pretty much at any time */ 165 166 if (foreground && GetForegroundWindow() && 166 167 GetWindowThreadProcessId(GetForegroundWindow(), NULL) == GetCurrentThreadId()) 168 + disable_success_count 167 169 ok_(file, line)(foreground == GetForegroundWindow(), "GetForegroundWindow() = %p\n", GetForegroundWindow()); 168 170 ok_(file, line)(focus == GetFocus(), "GetFocus() = %p\n", GetFocus()); 169 171 } ··· 774 776 break; 775 777 } 776 778 case WM_WINDOWPOSCHANGED: 779 + disable_success_count 777 780 { 778 781 RECT rc1, rc2; 779 782 WINDOWPOS *winpos = (WINDOWPOS *)lparam; ··· 966 969 if (GetForegroundWindow()) 967 970 ok(info->dwWindowStatus == status, "wrong dwWindowStatus: %04x != %04x active %p fg %p in hook %s\n", 968 971 info->dwWindowStatus, status, GetActiveWindow(), GetForegroundWindow(), hook); 972 + else 973 + ok(1, "Just counting"); 969 974 970 975 /* win2k and XP return broken border info in GetWindowInfo most of 971 976 * the time, so there is no point in testing it. ··· 981 986 } 982 987 ok(info->atomWindowType == GetClassLongA(hwnd, GCW_ATOM), "wrong atomWindowType for %p in hook %s\n", 983 988 hwnd, hook); 989 + todo_ros 984 990 ok(info->wCreatorVersion == 0x0400 /* NT4, Win2000, XP, Win2003 */ || 985 991 info->wCreatorVersion == 0x0500 /* Vista */, 986 992 "wrong wCreatorVersion %04x for %p in hook %s\n", info->wCreatorVersion, hwnd, hook); ··· 3091 3097 ok(hwnd2 == hwnd, "SetActiveWindow returned %p instead of %p\n", hwnd2, hwnd); 3092 3098 if (!GetActiveWindow()) /* doesn't always work on vista */ 3093 3099 { 3100 + ros_skip_flaky 3094 3101 check_wnd_state(0, 0, 0, 0); 3095 3102 hwnd2 = SetActiveWindow(hwnd); 3103 + ros_skip_flaky 3096 3104 ok(hwnd2 == 0, "SetActiveWindow returned %p instead of 0\n", hwnd2); 3097 3105 } 3098 3106 check_wnd_state(hwnd, hwnd, hwnd, 0);
+2
modules/rostests/winetests/usp10/usp10.c
··· 1713 1713 DeleteObject(hfont); 1714 1714 } 1715 1715 1716 + hfont = NULL; 1717 + ros_skip_flaky 1716 1718 test_valid = find_font_for_range(hdc, "Estrangelo Edessa", 71, test_syriac[0], &hfont, &hfont_orig, &fingerprint_estrangelo); 1717 1719 if (hfont != NULL) 1718 1720 {
+6
modules/rostests/winetests/wininet/ftp.c
··· 74 74 hFtp = InternetConnectA(hInternet, "ftp.winehq.org", INTERNET_DEFAULT_FTP_PORT, "anonymous", NULL, INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0); 75 75 if (hFtp) /* some servers accept an empty password */ 76 76 { 77 + ros_skip_flaky 77 78 ok ( GetLastError() == ERROR_SUCCESS, "ERROR_SUCCESS, got %d\n", GetLastError()); 78 79 InternetCloseHandle(hFtp); 79 80 } 80 81 else 82 + ros_skip_flaky 81 83 ok ( GetLastError() == ERROR_INTERNET_LOGIN_FAILURE, 82 84 "Expected ERROR_INTERNET_LOGIN_FAILURE, got %d\n", GetLastError()); 83 85 ··· 109 111 SetLastError(0xdeadbeef); 110 112 hFtp = InternetConnectA(hInternet, "ftp.winehq.org", INTERNET_DEFAULT_FTP_PORT, "anonymous", "IEUser@", INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0); 111 113 } 114 + ros_skip_flaky 112 115 ok ( hFtp != NULL, "InternetConnect failed : %d\n", GetLastError()); 116 + ros_skip_flaky 113 117 ok ( GetLastError() == ERROR_SUCCESS, 114 118 "ERROR_SUCCESS, got %d\n", GetLastError()); 115 119 InternetCloseHandle(hFtp); ··· 119 123 INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0); 120 124 if (!hFtp) 121 125 { 126 + ros_skip_flaky 122 127 ok(GetLastError() == ERROR_INTERNET_LOGIN_FAILURE, 123 128 "Expected ERROR_INTERNET_LOGIN_FAILURE, got %d\n", GetLastError()); 124 129 } 125 130 else 126 131 { 132 + ros_skip_flaky 127 133 ok(GetLastError() == ERROR_SUCCESS, 128 134 "Expected ERROR_SUCCESS, got %d\n", GetLastError()); 129 135 InternetCloseHandle(hFtp);
+10
modules/rostests/winetests/wininet/http.c
··· 351 351 DWORD dwStatusInformationLength 352 352 ) 353 353 { 354 + ros_skip_flaky 354 355 CHECK_EXPECT(dwInternetStatus); 355 356 switch (dwInternetStatus) 356 357 { ··· 4800 4801 ret = InternetReadFileExA( req, &ib, 0, 0xdeadbeef ); 4801 4802 if (!count) /* the first part should arrive immediately */ 4802 4803 ok( ret, "InternetReadFileExA failed %u\n", GetLastError() ); 4804 + ros_skip_flaky 4803 4805 if (!ret) 4804 4806 { 4805 4807 ok( GetLastError() == ERROR_IO_PENDING, "expected ERROR_IO_PENDING, got %u\n", GetLastError() ); 4808 + ros_skip_flaky 4806 4809 CHECK_NOTIFIED( INTERNET_STATUS_RECEIVING_RESPONSE ); 4807 4810 SET_EXPECT( INTERNET_STATUS_REQUEST_COMPLETE ); 4808 4811 if (!pending_reads++) ··· 4891 4894 { 4892 4895 ok( GetLastError() == ERROR_IO_PENDING, "expected ERROR_IO_PENDING, got %u\n", GetLastError() ); 4893 4896 ok( bytes == 0, "expected 0, got %u\n", bytes ); 4897 + ros_skip_flaky 4894 4898 CHECK_NOTIFIED( INTERNET_STATUS_RECEIVING_RESPONSE ); 4895 4899 SET_EXPECT( INTERNET_STATUS_REQUEST_COMPLETE ); 4896 4900 if (!pending_reads++) ··· 4902 4906 res = WaitForSingleObject( complete_event, INFINITE ); 4903 4907 ok( res == WAIT_OBJECT_0, "expected WAIT_OBJECT_0, got %u\n", res ); 4904 4908 ok( req_error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", req_error ); 4909 + ros_skip_flaky { 4905 4910 todo_wine_if( pending_reads > 1 ) 4906 4911 ok( bytes != 0, "expected bytes != 0\n" ); 4912 + } 4913 + ros_skip_flaky 4907 4914 CHECK_NOTIFIED( INTERNET_STATUS_RESPONSE_RECEIVED ); 4915 + ros_skip_flaky 4908 4916 CHECK_NOTIFIED( INTERNET_STATUS_REQUEST_COMPLETE ); 4909 4917 } 4910 4918 ··· 4913 4921 if (!bytes) break; 4914 4922 } 4915 4923 4924 + ros_skip_flaky 4916 4925 ok( pending_reads == 1, "expected 1 pending read, got %u\n", pending_reads ); 4917 4926 ok( !strcmp(buffer, page1), "unexpected buffer content\n" ); 4918 4927 close_async_handle( ses, 2 ); ··· 6160 6169 } 6161 6170 HeapFree(GetProcessHeap(), 0, cert); 6162 6171 6172 + ros_skip_flaky 6163 6173 CHECK_NOTIFIED2(INTERNET_STATUS_CONNECTING_TO_SERVER, 2); 6164 6174 CHECK_NOTIFIED2(INTERNET_STATUS_CONNECTED_TO_SERVER, 2); 6165 6175 CHECK_NOTIFIED2(INTERNET_STATUS_CLOSING_CONNECTION, 2);
+60 -2
sdk/include/reactos/wine/test.h
··· 53 53 /* debug level */ 54 54 extern int winetest_debug; 55 55 56 + extern int report_success; 57 + 56 58 /* running in interactive mode? */ 57 59 extern int winetest_interactive; 58 60 ··· 65 67 extern void winetest_end_todo(void); 66 68 extern int winetest_get_mainargs( char*** pargv ); 67 69 extern LONG winetest_get_failures(void); 70 + extern LONG winetest_get_successes(void); 68 71 extern void winetest_add_failures( LONG new_failures ); 69 72 extern void winetest_wait_child_process( HANDLE process ); 73 + extern void winetest_disable_success_count_start(); 74 + extern int winetest_disable_success_count_end(); 75 + extern int winetest_disable_success_count_get(); 76 + extern int winetest_disable_success_count_set(); 70 77 71 78 extern const char *wine_dbgstr_wn( const WCHAR *str, intptr_t n ); 72 79 extern const char *wine_dbgstr_guid( const GUID *guid ); ··· 121 128 extern void __winetest_cdecl winetest_skip( const char *msg, ... ) __attribute__((format (printf,1,2))); 122 129 extern void __winetest_cdecl winetest_win_skip( const char *msg, ... ) __attribute__((format (printf,1,2))); 123 130 extern void __winetest_cdecl winetest_trace( const char *msg, ... ) __attribute__((format (printf,1,2))); 131 + extern void __winetest_cdecl winetest_print(const char* msg, ...) __attribute__((format(printf, 1, 2))); 124 132 125 133 #else /* __GNUC__ */ 126 134 # define WINETEST_PRINTF_ATTR(fmt,args) ··· 128 136 extern void __winetest_cdecl winetest_skip( const char *msg, ... ); 129 137 extern void __winetest_cdecl winetest_win_skip( const char *msg, ... ); 130 138 extern void __winetest_cdecl winetest_trace( const char *msg, ... ); 139 + extern void __winetest_cdecl winetest_print(const char* msg, ...); 131 140 132 141 #endif /* __GNUC__ */ 133 142 ··· 155 164 #define todo_wine_if(is_todo) todo_if((is_todo) && !strcmp(winetest_platform, "wine")) 156 165 #endif 157 166 167 + #define ros_skip_flaky for (winetest_print("Skipping flaky test\n");0;) 168 + 169 + #define disable_success_count for (winetest_disable_success_count_start(); \ 170 + (winetest_disable_success_count_get() ? \ 171 + winetest_disable_success_count_end() : \ 172 + winetest_disable_success_count_set()); \ 173 + ) 174 + 158 175 #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) 159 176 160 177 #ifdef NONAMELESSUNION ··· 241 258 const char *winetest_platform = "windows"; 242 259 243 260 /* report successful tests (BOOL) */ 244 - static int report_success = 0; 261 + int report_success = 0; 245 262 246 263 /* passing arguments around */ 247 264 static int winetest_argc; ··· 261 278 const char* current_file; /* file of current check */ 262 279 int current_line; /* line of current check */ 263 280 unsigned int todo_level; /* current todo nesting level */ 281 + unsigned int nocount_level; 264 282 int todo_do_loop; 265 283 char *str_pos; /* position in debug buffer */ 266 284 char strings[2000]; /* buffer for debug strings */ ··· 368 386 data->current_file, data->current_line ); 369 387 vfprintf(stdout, msg, args); 370 388 } 389 + if (data->nocount_level == 0) 371 390 InterlockedIncrement(&todo_successes); 372 391 return 1; 373 392 } ··· 384 403 } 385 404 else 386 405 { 387 - if (report_success) 406 + if (report_success && data->nocount_level == 0) 388 407 fprintf( stdout, __winetest_file_line_prefix ": Test succeeded\n", 389 408 data->current_file, data->current_line); 409 + if (data->nocount_level == 0) 390 410 InterlockedIncrement(&successes); 391 411 return 1; 392 412 } ··· 416 436 } 417 437 } 418 438 439 + void __winetest_cdecl winetest_print(const char* msg, ...) 440 + { 441 + __winetest_va_list valist; 442 + tls_data* data = get_tls_data(); 443 + 444 + fprintf(stdout, __winetest_file_line_prefix ": ", data->current_file, data->current_line); 445 + __winetest_va_start(valist, msg); 446 + vfprintf(stdout, msg, valist); 447 + __winetest_va_end(valist); 448 + } 449 + 419 450 void winetest_vskip( const char *msg, __winetest_va_list args ) 420 451 { 421 452 tls_data* data=get_tls_data(); ··· 480 511 return failures; 481 512 } 482 513 514 + LONG winetest_get_successes(void) 515 + { 516 + return successes; 517 + } 518 + 483 519 void winetest_add_failures( LONG new_failures ) 484 520 { 485 521 while (new_failures-- > 0) ··· 510 546 InterlockedIncrement(&failures); 511 547 } 512 548 } 549 + } 550 + 551 + void winetest_disable_success_count_start() 552 + { 553 + get_tls_data()->nocount_level <<= 1; 554 + } 555 + 556 + int winetest_disable_success_count_end() 557 + { 558 + get_tls_data()->nocount_level >>= 1; 559 + return 0; 560 + } 561 + 562 + int winetest_disable_success_count_get() 563 + { 564 + return get_tls_data()->nocount_level & 1; 565 + } 566 + 567 + int winetest_disable_success_count_set() 568 + { 569 + get_tls_data()->nocount_level |= 1; 570 + return 1; 513 571 } 514 572 515 573 const char *wine_dbgstr_wn( const WCHAR *str, intptr_t n )