From: Francois Gouget fgouget@codeweavers.com
--- dlls/advapi32/tests/eventlog.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-)
diff --git a/dlls/advapi32/tests/eventlog.c b/dlls/advapi32/tests/eventlog.c index 1a35efe1844..74a6be07b60 100644 --- a/dlls/advapi32/tests/eventlog.c +++ b/dlls/advapi32/tests/eventlog.c @@ -104,24 +104,24 @@ static void test_open_close(void)
SetLastError(0xdeadbeef); handle = OpenEventLogA(NULL, NULL); - ok(handle == NULL, "Didn't expect a handle\n"); + ok(handle == NULL, "OpenEventLogA() succeeded\n"); ok(GetLastError() == ERROR_INVALID_PARAMETER, "Expected ERROR_INVALID_PARAMETER, got %ld\n", GetLastError());
SetLastError(0xdeadbeef); handle = OpenEventLogA("IDontExist", NULL); - ok(handle == NULL, "Didn't expect a handle\n"); + ok(handle == NULL, "OpenEventLogA(IDontExist,) succeeded\n"); ok(GetLastError() == ERROR_INVALID_PARAMETER, "Expected ERROR_INVALID_PARAMETER, got %ld\n", GetLastError());
SetLastError(0xdeadbeef); handle = OpenEventLogA("IDontExist", "deadbeef"); - ok(handle == NULL, "Didn't expect a handle\n"); + ok(handle == NULL, "OpenEventLogA(IDontExist,deadbeef) succeeded\n"); ok(GetLastError() == RPC_S_SERVER_UNAVAILABLE || GetLastError() == RPC_S_INVALID_NET_ADDR, /* Some Vista and Win7 */ "Expected RPC_S_SERVER_UNAVAILABLE, got %ld\n", GetLastError());
/* This one opens the Application log */ handle = OpenEventLogA(NULL, "deadbeef"); - ok(handle != NULL, "Expected a handle : %ld\n", GetLastError()); + ok(handle != NULL, "OpenEventLogA(deadbeef) failed : %ld\n", GetLastError()); ret = CloseEventLog(handle); ok(ret, "Expected success : %ld\n", GetLastError()); /* Close a second time */ @@ -135,11 +135,11 @@ static void test_open_close(void)
/* Empty servername should be read as local server */ handle = OpenEventLogA("", "Application"); - ok(handle != NULL, "Expected a handle : %ld\n", GetLastError()); + ok(handle != NULL, "OpenEventLogA('',Application) failed : %ld\n", GetLastError()); CloseEventLog(handle);
handle = OpenEventLogA(NULL, "Application"); - ok(handle != NULL, "Expected a handle : %ld\n", GetLastError()); + ok(handle != NULL, "OpenEventLogA(Application) failed : %ld\n", GetLastError()); CloseEventLog(handle); }
@@ -817,6 +817,7 @@ static void test_readwrite(void) Sleep(2000);
handle = OpenEventLogA(NULL, eventlogname); + ok(handle != NULL, "OpenEventLogA(%s) failed : %ld\n", eventlogname, GetLastError()); count = 0xdeadbeef; GetNumberOfEventLogRecords(handle, &count); if (count != 0) @@ -920,6 +921,7 @@ static void test_readwrite(void) }
handle = OpenEventLogA(NULL, eventlogname); + ok(handle != NULL, "OpenEventLogA(%s) failed : %ld\n", eventlogname, GetLastError()); count = 0xdeadbeef; ret = GetNumberOfEventLogRecords(handle, &count); ok(ret, "Expected success : %ld\n", GetLastError()); @@ -955,7 +957,7 @@ static void test_readwrite(void)
/* Read all events from our created eventlog, one by one */ handle = OpenEventLogA(NULL, eventlogname); - ok(handle != NULL, "Failed to open Event Log, got %ld\n", GetLastError()); + ok(handle != NULL, "OpenEventLogA(%s) failed : %ld\n", eventlogname, GetLastError()); i = 0; for (;;) { @@ -1056,7 +1058,7 @@ static void test_readwrite(void)
/* Test clearing a real eventlog */ handle = OpenEventLogA(NULL, eventlogname); - ok(handle != NULL, "Failed to open Event Log, got %ld\n", GetLastError()); + ok(handle != NULL, "OpenEventLogA(%s) failed : %ld\n", eventlogname, GetLastError());
SetLastError(0xdeadbeef); ret = ClearEventLogA(handle, NULL); @@ -1330,7 +1332,7 @@ static void test_eventlog_start(void) handle = OpenEventLogW(0, L"System"); if (!handle && (GetLastError() == ERROR_ACCESS_DENIED || GetLastError() == RPC_S_SERVER_UNAVAILABLE)) { - win_skip( "Can't open event log\n" ); + win_skip( "Can't open System event log\n" ); return; } ok(handle != NULL, "OpenEventLogW(System) failed : %ld\n", GetLastError());
From: Francois Gouget fgouget@codeweavers.com
Otherwise it's impossible to know which iteration failed. --- dlls/advapi32/tests/eventlog.c | 7 +++++++ 1 file changed, 7 insertions(+)
diff --git a/dlls/advapi32/tests/eventlog.c b/dlls/advapi32/tests/eventlog.c index 74a6be07b60..5e5e311bcbd 100644 --- a/dlls/advapi32/tests/eventlog.c +++ b/dlls/advapi32/tests/eventlog.c @@ -882,6 +882,8 @@ static void test_readwrite(void) DWORD oldest; BOOL run_sidtests = read_write[i].evt_sid & sidavailable;
+ winetest_push_context("%lu:%s", i, read_write[i].evt_src); + /* We don't need to use RegisterEventSource to report events */ if (i % 2) handle = OpenEventLogA(NULL, read_write[i].evt_src); @@ -918,6 +920,7 @@ static void test_readwrite(void) else ret = DeregisterEventSource(handle); ok(ret, "Expected success : %ld\n", GetLastError()); + winetest_pop_context(); }
handle = OpenEventLogA(NULL, eventlogname); @@ -969,7 +972,9 @@ static void test_readwrite(void) char *ptr; BOOL run_sidtests = read_write[i].evt_sid & sidavailable;
+ winetest_push_context("%lu", i); buf = HeapAlloc(GetProcessHeap(), 0, sizeof(EVENTLOGRECORD)); + SetLastError(0xdeadbeef); ret = ReadEventLogA(handle, EVENTLOG_SEQUENTIAL_READ | EVENTLOG_FORWARDS_READ, 0, buf, sizeof(EVENTLOGRECORD), &read, &needed); @@ -978,6 +983,7 @@ static void test_readwrite(void) { HeapFree(GetProcessHeap(), 0, buf); ok(GetLastError() == ERROR_HANDLE_EOF, "record %ld, got %ld\n", i, GetLastError()); + winetest_pop_context(); break; }
@@ -1052,6 +1058,7 @@ static void test_readwrite(void) "Expected the closing DWORD to contain the length of the record\n");
HeapFree(GetProcessHeap(), 0, buf); + winetest_pop_context(); i++; } CloseEventLog(handle);
From: Francois Gouget fgouget@codeweavers.com
Also we don't care about the content of the buffer so using HeapRealloc() makes no sense. --- dlls/advapi32/tests/eventlog.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/dlls/advapi32/tests/eventlog.c b/dlls/advapi32/tests/eventlog.c index 5e5e311bcbd..7bd0c5a7cd2 100644 --- a/dlls/advapi32/tests/eventlog.c +++ b/dlls/advapi32/tests/eventlog.c @@ -780,6 +780,7 @@ static void test_readwrite(void) DWORD i; char *localcomputer = NULL; DWORD size; + void* buf;
if (pCreateWellKnownSid) { @@ -962,9 +963,10 @@ static void test_readwrite(void) handle = OpenEventLogA(NULL, eventlogname); ok(handle != NULL, "OpenEventLogA(%s) failed : %ld\n", eventlogname, GetLastError()); i = 0; + size = sizeof(EVENTLOGRECORD) + 128; + buf = HeapAlloc(GetProcessHeap(), 0, size); for (;;) { - void *buf; DWORD read, needed; EVENTLOGRECORD *record; char *sourcename, *computername; @@ -973,7 +975,6 @@ static void test_readwrite(void) BOOL run_sidtests = read_write[i].evt_sid & sidavailable;
winetest_push_context("%lu", i); - buf = HeapAlloc(GetProcessHeap(), 0, sizeof(EVENTLOGRECORD));
SetLastError(0xdeadbeef); ret = ReadEventLogA(handle, EVENTLOG_SEQUENTIAL_READ | EVENTLOG_FORWARDS_READ, @@ -981,13 +982,17 @@ static void test_readwrite(void) ok(!ret, "Expected failure\n"); if (!ret && GetLastError() != ERROR_INSUFFICIENT_BUFFER) { - HeapFree(GetProcessHeap(), 0, buf); ok(GetLastError() == ERROR_HANDLE_EOF, "record %ld, got %ld\n", i, GetLastError()); winetest_pop_context(); break; }
- buf = HeapReAlloc(GetProcessHeap(), 0, buf, needed); + if (needed > size) + { + HeapFree(GetProcessHeap(), 0, buf); + size = needed; + buf = HeapAlloc(GetProcessHeap(), 0, size); + } ret = ReadEventLogA(handle, EVENTLOG_SEQUENTIAL_READ | EVENTLOG_FORWARDS_READ, 0, buf, needed, &read, &needed); ok(ret, "Expected success: %ld\n", GetLastError()); @@ -1057,10 +1062,10 @@ static void test_readwrite(void) ok(record->Length == *(DWORD *)((BYTE *)buf + record->Length - sizeof(DWORD)), "Expected the closing DWORD to contain the length of the record\n");
- HeapFree(GetProcessHeap(), 0, buf); winetest_pop_context(); i++; } + HeapFree(GetProcessHeap(), 0, buf); CloseEventLog(handle);
/* Test clearing a real eventlog */
From: Francois Gouget fgouget@codeweavers.com
--- This should reduce the number and variability of the bug 53480 Windows 7 failures. https://bugs.winehq.org/show_bug.cgi?id=53480 --- dlls/advapi32/tests/eventlog.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/dlls/advapi32/tests/eventlog.c b/dlls/advapi32/tests/eventlog.c index 7bd0c5a7cd2..ee24771edcb 100644 --- a/dlls/advapi32/tests/eventlog.c +++ b/dlls/advapi32/tests/eventlog.c @@ -996,7 +996,11 @@ static void test_readwrite(void) ret = ReadEventLogA(handle, EVENTLOG_SEQUENTIAL_READ | EVENTLOG_FORWARDS_READ, 0, buf, needed, &read, &needed); ok(ret, "Expected success: %ld\n", GetLastError()); - + if (!ret) + { + winetest_pop_context(); + break; + } record = (EVENTLOGRECORD *)buf;
ok(record->Length == read,
None of the test failures are related to this MR: * amstream:amstream -> bug 55725 * msxml3:domdoc -> bug 55720 * quartz:filtergraph -> bug 55758