[Tools] winetest: Add support for reports containing pids.

Francois Gouget fgouget at codeweavers.com
Wed Feb 8 22:45:05 CST 2017


On Wed, 8 Feb 2017, Alexandre Julliard wrote:
[...]
> > -    } elsif (/^(.*$unit.*: (\d+) tests executed \((\d+) marked as todo, (\d+) failures?\), (\d+) skipped\.)\r?$/) {
> > +    } elsif (/^($unit:(?:0x[0-9a-f]+)? (\d+) tests executed \((\d+) marked as todo, (\d+) failures?\), (\d+) skipped\.)\r?$/) {
> 
> This may be bikeshedding, but I feel that it would be nicer to use the
> %04x format we use for pid in other places.

Hmmm....

dlls/kernel32/console.c:1465:        TRACE("Started wineconsole pid=%08x tid=%08x\n",
dlls/kernel32/tests/console.c:1063:        ok(list[0] == pid, "Expected %d, got %d\n", pid, list[0]);
dlls/kernel32/tests/debugger.c:372:    ok(dbg_blackbox.pid == crash_blackbox.pid, "the child and debugged pids don't match: %d != %d\n", crash_blackbox.pid, dbg_blackbox.pid);
dlls/kernel32/tests/debugger.c:374:    ok(dbg_blackbox.attach_rc, "DebugActiveProcess(%d) failed err=%d\n", dbg_blackbox.pid, dbg_blackbox.attach_err);
dlls/kernel32/tests/debugger.c:376:    ok(dbg_blackbox.detach_rc, "DebugActiveProcessStop(%d) failed err=%d\n", dbg_blackbox.pid, dbg_blackbox.detach_err);
dlls/kernel32/tests/debugger.c:619:    sprintf(cmd, "%s%s%08x \"%s\"", argv[0], arguments, pid, blackbox_file);
dlls/msi/tests/automation.c:1627:        ok(hr == S_OK, "SummaryInfo_Property (pid %d) failed, hresult 0x%08x\n", entry->property, hr);
dlls/ole32/tests/marshal.c:3491:        ok(info->dwServerPid == GetCurrentProcessId(), "dwServerPid was 0x%x instead of 0x%x\n", info->dwServerPid, GetCurrentProcessId());
dlls/ole32/tests/marshal.c:3502:        ok(new_info->server_pid == GetCurrentProcessId(), "server pid was 0x%x instead of 0x%x\n", new_info->server_pid,
dlls/ole32/tests/marshal.c:3531:        ok(info->dwServerPid == GetCurrentProcessId(), "dwServerPid was 0x%x instead of 0x%x\n", info->dwServerPid, GetCurrentProcessId());
dlls/ole32/tests/marshal.c:3539:        ok(new_info->server_pid == GetCurrentProcessId(), "server pid was 0x%x instead of 0x%x\n", new_info->server_pid,
dlls/ole32/tests/marshal.c:3568:        ok(info->dwServerPid == GetCurrentProcessId(), "dwServerPid was 0x%x instead of 0x%x\n", info->dwServerPid, GetCurrentProcessId());
dlls/ole32/tests/marshal.c:3578:        ok(new_info->server_pid == GetCurrentProcessId(), "server pid was 0x%x instead of 0x%x\n", new_info->server_pid,
dlls/ole32/tests/marshal.c:3603:        ok(info->dwServerPid == GetCurrentProcessId(), "dwServerPid was 0x%x instead of 0x%x\n", info->dwServerPid, GetCurrentProcessId());
dlls/ole32/tests/marshal.c:3611:        ok(new_info->server_pid == GetCurrentProcessId(), "server pid was 0x%x instead of 0x%x\n", new_info->server_pid,
dlls/ole32/tests/marshal.c:3637:        ok(info->dwServerPid == GetCurrentProcessId(), "dwServerPid was 0x%x instead of 0x%x\n", info->dwServerPid, GetCurrentProcessId());
dlls/ole32/tests/marshal.c:3645:        ok(new_info->server_pid == GetCurrentProcessId(), "server pid was 0x%x instead of 0x%x\n", new_info->server_pid,
dlls/iphlpapi/tests/iphlpapi.c:1614:          trace( "%u: local %s:%u remote %s:%u state %u pid %u\n", i,
...

Oh! Those two:

dlls/kernel32/process.c:1044:            TRACE( "started wineboot pid %04x tid %04x\n", pi.dwProcessId, pi.dwThreadId );
dlls/kernel32/process.c:2449:        TRACE( "started process pid %04x tid %04x\n", info->dwProcessId, info->dwThreadId );

Sure no problem. More janitorial work?


So that would give us something like this:

drive.c:268: Test failed: This is a test failure
drive:0012 42 tests executed (0 marked as todo, 1 failures), 0 skipped.
drive:0010 0 tests executed (0 marked as todo, 0 failures), 0 skipped.
kernel32:drive:0010 done (0)

The start of the 'Test failed' and 'tests executed' lines looks a bit 
similar but even so they should be easy to distinguish.

Do you have an opinion on the colons in the 'tests executed' 
lines? We used to have

   drive: 0 tests executed...

And currently I've implemented

   drive:0010 0 tests executed...

rather than

   drive:0010: 0 tests executed...

The latter would actually be backward compatible with the TestBot's 
parsing (but not with test.winehq's dissect).

The 'Test failed' lines have the extra colon but the 'done' ones never 
did. While we're changing things maybe they should all have the trailing 
colon for consistency? Not sure if there's any impact?

-- 
Francois Gouget <fgouget at codeweavers.com>



More information about the wine-devel mailing list