Hi,
While running your changed tests on Windows, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check? Full results can be found at https://testbot.winehq.org/JobDetails.pl?Key=19704
Your paranoid android.
=== wvistau64 (32 bit shlexec) === shlexec.c:141: Test failed: ShellExecute(verb="", file="C:\Users\winetest\AppData\Local\Temp\wtE2DF.tmp\test file.noassoc.shlexec") WaitForSingleObject returned 258 shlexec.c:1576: Test failed: argvA3 expected 'QuotedUpperL', got 'Open' shlexec.c:1584: Test failed: argvA4 expected 'C:\Users\winetest\AppData\Local\Temp\wtE2DF.tmp\test file.shlexec', got 'C:\Users\winetest\AppData\Local\Temp\wtE2DF.tmp\test file.noassoc.shlexec'
=== w1064 (32 bit shlexec) === shlexec.c:2299: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wt11AE.tmp\test file.sde") failed: rc=29 err=2 shlexec.c:2299: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wt11AE.tmp\test file.sde") failed: rc=29 err=2 shlexec.c:2299: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wt11AE.tmp\test file.sde") failed: rc=29 err=2 shlexec.c:2299: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wt11AE.tmp\test file.sde") failed: rc=29 err=2
=== w1064 (64 bit shlexec) === shlexec.c:2299: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtC4FE.tmp\test file.sde") failed: rc=29 err=2 shlexec.c:2299: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtC4FE.tmp\test file.sde") failed: rc=29 err=2 shlexec.c:2299: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtC4FE.tmp\test file.sde") failed: rc=29 err=2 shlexec.c:2311: Test failed: ddeExec expected '[ifexec("C:\Users\winetest\AppData\Local\Temp\wtC4FE.tmp\test file.sde")]', got '[open("C:\Users\winetest\AppData\Local\Temp\wtC4FE.tmp\test file.sde")]' shlexec.c:2299: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtC4FE.tmp\test file.sde") failed: rc=29 err=2 shlexec.c:2299: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtC4FE.tmp\test file.sde") failed: rc=29 err=2
On Thu, 14 Jan 2016, Marvin wrote: [...]
=== wvistau64 (32 bit shlexec) === shlexec.c:141: Test failed: ShellExecute(verb="", file="C:\Users\winetest\AppData\Local\Temp\wtE2DF.tmp\test file.noassoc.shlexec") WaitForSingleObject returned 258 shlexec.c:1576: Test failed: argvA3 expected 'QuotedUpperL', got 'Open' shlexec.c:1584: Test failed: argvA4 expected 'C:\Users\winetest\AppData\Local\Temp\wtE2DF.tmp\test file.shlexec', got 'C:\Users\winetest\AppData\Local\Temp\wtE2DF.tmp\test file.noassoc.shlexec'
=== w1064 (32 bit shlexec) === shlexec.c:2299: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wt11AE.tmp\test file.sde") failed: rc=29 err=2 shlexec.c:2299: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wt11AE.tmp\test file.sde") failed: rc=29 err=2 shlexec.c:2299: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wt11AE.tmp\test file.sde") failed: rc=29 err=2 shlexec.c:2299: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wt11AE.tmp\test file.sde") failed: rc=29 err=2
=== w1064 (64 bit shlexec) === shlexec.c:2299: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtC4FE.tmp\test file.sde") failed: rc=29 err=2 shlexec.c:2299: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtC4FE.tmp\test file.sde") failed: rc=29 err=2 shlexec.c:2299: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtC4FE.tmp\test file.sde") failed: rc=29 err=2 shlexec.c:2311: Test failed: ddeExec expected '[ifexec("C:\Users\winetest\AppData\Local\Temp\wtC4FE.tmp\test file.sde")]', got '[open("C:\Users\winetest\AppData\Local\Temp\wtC4FE.tmp\test file.sde")]' shlexec.c:2299: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtC4FE.tmp\test file.sde") failed: rc=29 err=2 shlexec.c:2299: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtC4FE.tmp\test file.sde") failed: rc=29 err=2
These are the usual unrelated set of failures. The Vista one is really annoying since it's not systematic. I wonder if it means the 5 second timeout is too short.
Independently from that, the okChildXxx() functions are pretty short, much more so that the shell_execute{_ex}() ones, but I take it you still prefer the existing approach of passing the file and line numbers around. So presumably I should drop this patch?