Signed-off-by: Francois Gouget fgouget@codeweavers.com ---
v3: The derandomisation must be done in the ok*() functions, not before to not break the comparisons. The TestBot now shows the expected results: it still has failures but the TestBot will be able to see that they are not new.
dlls/shell32/tests/shlexec.c | 60 ++++++++++++++++++++++++++++-------- 1 file changed, 48 insertions(+), 12 deletions(-)
diff --git a/dlls/shell32/tests/shlexec.c b/dlls/shell32/tests/shlexec.c index 030ab54525a..3571b64cc9e 100644 --- a/dlls/shell32/tests/shlexec.c +++ b/dlls/shell32/tests/shlexec.c @@ -350,6 +350,42 @@ static void dump_child_(const char* file, int line) * ***/
+static void substTmpPath(char* str, const char *path, char rep) +{ + char *p; + + /* Only modify the last component of the path */ + p = strrchr(path, '\'); + if (p) path = p + 1; + p = strrchr(path, '/'); + if (p) path = p + 1; + + p = strstr(str, path); + while (p) + { + p += 2; /* skip the 'wt' prefix */ + /* and only replace the random part of the filename */ + while (*p && *p != '.') + *p++ = rep; + p = strstr(p, path); + } +} + +static const char* derandomizeString(const char* str) +{ + static char buffer[2][2048]; + static int current_buffer = 0; + + if (!str || strlen(str) >= sizeof(buffer[0])) + return str; + + current_buffer = current_buffer ? 0 : 1; + strcpy(buffer[current_buffer], str); + substTmpPath(buffer[current_buffer], tmpdir, 'D'); + substTmpPath(buffer[current_buffer], child_file, 'C'); + return buffer[current_buffer]; +} + static char shell_call[2048]; static void WINAPIV __WINE_PRINTF_ATTR(2,3) _okShell(int condition, const char *msg, ...) { @@ -378,12 +414,12 @@ static void okChildString_(const char* file, int line, const char* key, const ch result=getChildString("Child", key); if (!result) { - okShell_(file, line)(FALSE, "%s expected '%s', but key not found or empty\n", key, expected); + okShell_(file, line)(FALSE, "%s expected '%s', but key not found or empty\n", key, derandomizeString(expected)); return; } okShell_(file, line)(lstrcmpiA(result, expected) == 0 || broken(lstrcmpiA(result, bad) == 0), - "%s expected '%s', got '%s'\n", key, expected, result); + "%s expected '%s', got '%s'\n", key, derandomizeString(expected), derandomizeString(result)); } #define okChildString(key, expected) okChildString_(__FILE__, __LINE__, (key), (expected), (expected)) #define okChildStringBroken(key, expected, broken) okChildString_(__FILE__, __LINE__, (key), (expected), (broken)) @@ -432,7 +468,7 @@ static void okChildPath_(const char* file, int line, const char* key, const char result=getChildString("Child", key); if (!result) { - okShell_(file,line)(FALSE, "%s expected '%s', but key not found or empty\n", key, expected); + okShell_(file,line)(FALSE, "%s expected '%s', but key not found or empty\n", key, derandomizeString(expected)); return; } shortequal = FALSE; @@ -451,7 +487,7 @@ static void okChildPath_(const char* file, int line, const char* key, const char } } okShell_(file,line)(equal || broken(shortequal) /* XP SP1 */, - "%s expected '%s', got '%s'\n", key, expected, result); + "%s expected '%s', got '%s'\n", key, derandomizeString(expected), derandomizeString(result)); } #define okChildPath(key, expected) okChildPath_(__FILE__, __LINE__, (key), (expected))
@@ -507,9 +543,9 @@ static INT_PTR shell_execute_(const char* file, int line, LPCSTR verb, LPCSTR fi
strcpy(shell_call, "ShellExecute("); strcat_param(shell_call, "verb", verb); - strcat_param(shell_call, "file", filename); - strcat_param(shell_call, "params", parameters); - strcat_param(shell_call, "dir", directory); + strcat_param(shell_call, "file", derandomizeString(filename)); + strcat_param(shell_call, "params", derandomizeString(parameters)); + strcat_param(shell_call, "dir", derandomizeString(directory)); strcat(shell_call, ")"); strcat(shell_call, assoc_desc); if (winetest_debug > 1) @@ -591,9 +627,9 @@ static INT_PTR shell_execute_ex_(const char* file, int line, sprintf(smask, "0x%x", mask); strcat_param(shell_call, "mask", smask); strcat_param(shell_call, "verb", verb); - strcat_param(shell_call, "file", filename); - strcat_param(shell_call, "params", parameters); - strcat_param(shell_call, "dir", directory); + strcat_param(shell_call, "file", derandomizeString(filename)); + strcat_param(shell_call, "params", derandomizeString(parameters)); + strcat_param(shell_call, "dir", derandomizeString(directory)); strcat_param(shell_call, "class", class); strcat(shell_call, ")"); strcat(shell_call, assoc_desc); @@ -832,7 +868,7 @@ static void create_test_verb_dde(const char* classname, const char* verb, sprintf(shell, "%d", rawcmd); strcat_param(assoc_desc, "rawcmd", shell); strcat_param(assoc_desc, "cmdtail", cmdtail); - strcat_param(assoc_desc, "ddeexec", ddeexec); + strcat_param(assoc_desc, "ddeexec", derandomizeString(ddeexec)); strcat_param(assoc_desc, "app", application); strcat_param(assoc_desc, "topic", topic); strcat_param(assoc_desc, "ifexec", ifexec); @@ -2080,7 +2116,7 @@ static void test_find_executable(void) if (rc > 32) rc=33; todo_wine_if(test->todo & 0x10) - ok(rc==test->rc, "FindExecutable(%s) failed: rc=%ld\n", filename, rc); + ok(rc==test->rc, "FindExecutable(%s) failed: rc=%ld\n", derandomizeString(filename), rc); if (rc > 32) { BOOL equal;
On 3/15/20 7:18 PM, Francois Gouget wrote:
Signed-off-by: Francois Gouget fgouget@codeweavers.com
v3: The derandomisation must be done in the ok*() functions, not before to not break the comparisons. The TestBot now shows the expected results: it still has failures but the TestBot will be able to see that they are not new.
dlls/shell32/tests/shlexec.c | 60 ++++++++++++++++++++++++++++-------- 1 file changed, 48 insertions(+), 12 deletions(-)
diff --git a/dlls/shell32/tests/shlexec.c b/dlls/shell32/tests/shlexec.c index 030ab54525a..3571b64cc9e 100644 --- a/dlls/shell32/tests/shlexec.c +++ b/dlls/shell32/tests/shlexec.c @@ -350,6 +350,42 @@ static void dump_child_(const char* file, int line)
***/
+static void substTmpPath(char* str, const char *path, char rep) +{
- char *p;
- /* Only modify the last component of the path */
- p = strrchr(path, '\');
- if (p) path = p + 1;
- p = strrchr(path, '/');
- if (p) path = p + 1;
- p = strstr(str, path);
- while (p)
- {
p += 2; /* skip the 'wt' prefix */
/* and only replace the random part of the filename */
while (*p && *p != '.')
*p++ = rep;
p = strstr(p, path);
- }
+}
+static const char* derandomizeString(const char* str) +{
- static char buffer[2][2048];
- static int current_buffer = 0;
- if (!str || strlen(str) >= sizeof(buffer[0]))
return str;
- current_buffer = current_buffer ? 0 : 1;
- strcpy(buffer[current_buffer], str);
- substTmpPath(buffer[current_buffer], tmpdir, 'D');
- substTmpPath(buffer[current_buffer], child_file, 'C');
- return buffer[current_buffer];
+}
This seems an awful lot of effort to put in just to avoid a variable string being printed. Is there really anything we get out of having those strings printed in the first place? Would it be better to just remove them?
static char shell_call[2048]; static void WINAPIV __WINE_PRINTF_ATTR(2,3) _okShell(int condition, const char *msg, ...) { @@ -378,12 +414,12 @@ static void okChildString_(const char* file, int line, const char* key, const ch result=getChildString("Child", key); if (!result) {
okShell_(file, line)(FALSE, "%s expected '%s', but key not found or empty\n", key, expected);
okShell_(file, line)(FALSE, "%s expected '%s', but key not found or empty\n", key, derandomizeString(expected)); return; } okShell_(file, line)(lstrcmpiA(result, expected) == 0 || broken(lstrcmpiA(result, bad) == 0),
"%s expected '%s', got '%s'\n", key, expected, result);
} #define okChildString(key, expected) okChildString_(__FILE__, __LINE__, (key), (expected), (expected)) #define okChildStringBroken(key, expected, broken) okChildString_(__FILE__, __LINE__, (key), (expected), (broken))"%s expected '%s', got '%s'\n", key, derandomizeString(expected), derandomizeString(result));
@@ -432,7 +468,7 @@ static void okChildPath_(const char* file, int line, const char* key, const char result=getChildString("Child", key); if (!result) {
okShell_(file,line)(FALSE, "%s expected '%s', but key not found or empty\n", key, expected);
okShell_(file,line)(FALSE, "%s expected '%s', but key not found or empty\n", key, derandomizeString(expected)); return; } shortequal = FALSE;
@@ -451,7 +487,7 @@ static void okChildPath_(const char* file, int line, const char* key, const char } } okShell_(file,line)(equal || broken(shortequal) /* XP SP1 */,
"%s expected '%s', got '%s'\n", key, expected, result);
} #define okChildPath(key, expected) okChildPath_(__FILE__, __LINE__, (key), (expected))"%s expected '%s', got '%s'\n", key, derandomizeString(expected), derandomizeString(result));
@@ -507,9 +543,9 @@ static INT_PTR shell_execute_(const char* file, int line, LPCSTR verb, LPCSTR fi
strcpy(shell_call, "ShellExecute("); strcat_param(shell_call, "verb", verb);
- strcat_param(shell_call, "file", filename);
- strcat_param(shell_call, "params", parameters);
- strcat_param(shell_call, "dir", directory);
- strcat_param(shell_call, "file", derandomizeString(filename));
- strcat_param(shell_call, "params", derandomizeString(parameters));
- strcat_param(shell_call, "dir", derandomizeString(directory)); strcat(shell_call, ")"); strcat(shell_call, assoc_desc); if (winetest_debug > 1)
@@ -591,9 +627,9 @@ static INT_PTR shell_execute_ex_(const char* file, int line, sprintf(smask, "0x%x", mask); strcat_param(shell_call, "mask", smask); strcat_param(shell_call, "verb", verb);
- strcat_param(shell_call, "file", filename);
- strcat_param(shell_call, "params", parameters);
- strcat_param(shell_call, "dir", directory);
- strcat_param(shell_call, "file", derandomizeString(filename));
- strcat_param(shell_call, "params", derandomizeString(parameters));
- strcat_param(shell_call, "dir", derandomizeString(directory)); strcat_param(shell_call, "class", class); strcat(shell_call, ")"); strcat(shell_call, assoc_desc);
@@ -832,7 +868,7 @@ static void create_test_verb_dde(const char* classname, const char* verb, sprintf(shell, "%d", rawcmd); strcat_param(assoc_desc, "rawcmd", shell); strcat_param(assoc_desc, "cmdtail", cmdtail);
- strcat_param(assoc_desc, "ddeexec", ddeexec);
- strcat_param(assoc_desc, "ddeexec", derandomizeString(ddeexec)); strcat_param(assoc_desc, "app", application); strcat_param(assoc_desc, "topic", topic); strcat_param(assoc_desc, "ifexec", ifexec);
@@ -2080,7 +2116,7 @@ static void test_find_executable(void) if (rc > 32) rc=33; todo_wine_if(test->todo & 0x10)
ok(rc==test->rc, "FindExecutable(%s) failed: rc=%ld\n", filename, rc);
ok(rc==test->rc, "FindExecutable(%s) failed: rc=%ld\n", derandomizeString(filename), rc); if (rc > 32) { BOOL equal;
On Sun, 15 Mar 2020, Zebediah Figura wrote: [...]
This seems an awful lot of effort to put in just to avoid a variable string being printed. Is there really anything we get out of having those strings printed in the first place? Would it be better to just remove them?
They are absolutely necessary to figure out why the test failed.
shlexec.c:2507: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde") ^^^
This here is the file ShellExecute() is trying to open. What ShellExecute() does is driven in large part by that file's extension.
topic="dde" ddeExec expected '[open("C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde")]', got ''
And I don't know much about DDE, but I guess this is the path our DDE server should have received. I guess for this one we could write somethig like 'unexpectedly got an empty string', but of course this would not work if the string is not empty and not what we expect.
Francois Gouget fgouget@codeweavers.com writes:
On Sun, 15 Mar 2020, Zebediah Figura wrote: [...]
This seems an awful lot of effort to put in just to avoid a variable string being printed. Is there really anything we get out of having those strings printed in the first place? Would it be better to just remove them?
They are absolutely necessary to figure out why the test failed.
shlexec.c:2507: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde") ^^^
This here is the file ShellExecute() is trying to open. What ShellExecute() does is driven in large part by that file's extension.
topic="dde" ddeExec expected '[open("C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde")]', got ''
And I don't know much about DDE, but I guess this is the path our DDE server should have received. I guess for this one we could write somethig like 'unexpectedly got an empty string', but of course this would not work if the string is not empty and not what we expect.
I'd suggest to simply avoid GetTempFileName(). In general it's of course preferable to generate a filename instead of hardcoding it, but in such cases it doesn't seem worth the extra trouble.
Hi,
While running your changed tests, 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=67198
Your paranoid android.
=== w1064v1809 (32 bit report) ===
shell32: shlexec.c:2507: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde") Assoc class="shlexec.sde", verb="Open", rawcmd="0", cmdtail="", ddeexec="[open("%1")]", app="shlexec", topic="dde" ddeExec expected '[open("C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde")]', got '' shlexec.c:2507: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde") Assoc class="shlexec.sde", verb="Open", rawcmd="0", cmdtail=""%1"", ddeexec="[open("%1")]", app="shlexec", topic="dde" ddeExec expected '[open("C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde")]', got '' shlexec.c:2507: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde") Assoc class="shlexec.sde", verb="Open", rawcmd="0", cmdtail="%1", ddeexec="[open(%1)]", app="shlexec", topic="dde" ddeExec expected '[open(C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde)]', got '' shlexec.c:2507: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde") Assoc class="shlexec.sde", verb="Open", rawcmd="0", cmdtail="", ddeexec="[open("%1")]", app="shlexec", topic="dde", ifexec="[ifexec("%1")]" ddeExec expected '[ifexec("C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde")]', got '' shlexec.c:2507: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde") Assoc class="shlexec.sde", verb="Open", rawcmd="0", cmdtail="", ddeexec="[open("%1")]", app="shlexec" ddeExec expected '[open("C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde")]', got '' shlexec.c:2507: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde") Assoc class="shlexec.sde", verb="Open", rawcmd="0", cmdtail="", ddeexec="[open("%1")]", topic="dde" ddeExec expected '[open("C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde")]', got ''
=== w1064v1809_2scr (32 bit report) ===
shell32: shlexec.c:2507: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde") Assoc class="shlexec.sde", verb="Open", rawcmd="0", cmdtail="", ddeexec="[open("%1")]", app="shlexec", topic="dde" ddeExec expected '[open("C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde")]', got '' shlexec.c:2507: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde") Assoc class="shlexec.sde", verb="Open", rawcmd="0", cmdtail=""%1"", ddeexec="[open("%1")]", app="shlexec", topic="dde" ddeExec expected '[open("C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde")]', got '' shlexec.c:2507: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde") Assoc class="shlexec.sde", verb="Open", rawcmd="0", cmdtail="%1", ddeexec="[open(%1)]", app="shlexec", topic="dde" ddeExec expected '[open(C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde)]', got '' shlexec.c:2507: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde") Assoc class="shlexec.sde", verb="Open", rawcmd="0", cmdtail="", ddeexec="[open("%1")]", app="shlexec", topic="dde", ifexec="[ifexec("%1")]" ddeExec expected '[ifexec("C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde")]', got '' shlexec.c:2507: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde") Assoc class="shlexec.sde", verb="Open", rawcmd="0", cmdtail="", ddeexec="[open("%1")]", app="shlexec" ddeExec expected '[open("C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde")]', got '' shlexec.c:2507: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde") Assoc class="shlexec.sde", verb="Open", rawcmd="0", cmdtail="", ddeexec="[open("%1")]", topic="dde" ddeExec expected '[open("C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde")]', got ''
=== w1064v1809_ar (32 bit report) ===
shell32: shlexec.c:1186: Test failed: ShellExecuteEx(mask="0x8640", file=""%TMPDIR%\simple.shlexec"") WaitForSingleObject(hProcess) returned 258 shlexec.c:1186: Test failed: ShellExecuteEx(mask="0x8640", file=""%TMPDIR%\simple.shlexec"") child returned 259 shlexec.c:2507: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde") Assoc class="shlexec.sde", verb="Open", rawcmd="0", cmdtail="", ddeexec="[open("%1")]", app="shlexec", topic="dde" ddeExec expected '[open("C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde")]', got '' shlexec.c:2507: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde") Assoc class="shlexec.sde", verb="Open", rawcmd="0", cmdtail=""%1"", ddeexec="[open("%1")]", app="shlexec", topic="dde" ddeExec expected '[open("C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde")]', got '' shlexec.c:2507: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde") Assoc class="shlexec.sde", verb="Open", rawcmd="0", cmdtail="%1", ddeexec="[open(%1)]", app="shlexec", topic="dde" ddeExec expected '[open(C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde)]', got ''
=== w1064v1809_ar (testbot log) ===
The task timed out
=== w1064v1809_he (32 bit report) ===
shell32: shlexec.c:1682: Test failed: ShellExecute(verb="", file="C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.noassoc.shlexec") WaitForSingleObject returned 258 shlexec.c:1704: Test failed: ShellExecute(file="C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.noassoc.shlexec") argvA3 expected 'Open', but key not found or empty shlexec.c:1706: Test failed: ShellExecute(file="C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.noassoc.shlexec") argvA4 expected 'C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.noassoc.shlexec', but key not found or empty shlexec.c:1704: Test failed: ShellExecute(verb="QuotedLowerL", file="C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.shlexec") argvA3 expected 'QuotedLowerL', got 'Open' shlexec.c:1706: Test failed: ShellExecute(verb="QuotedLowerL", file="C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.shlexec") argvA4 expected 'C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.shlexec', got 'C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.noassoc.shlexec' shlexec.c:2507: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde") Assoc class="shlexec.sde", verb="Open", rawcmd="0", cmdtail="", ddeexec="[open("%1")]", app="shlexec", topic="dde" ddeExec expected '[open("C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde")]', got '' shlexec.c:2507: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde") Assoc class="shlexec.sde", verb="Open", rawcmd="0", cmdtail=""%1"", ddeexec="[open("%1")]", app="shlexec", topic="dde" ddeExec expected '[open("C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde")]', got '' shlexec.c:2507: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde") Assoc class="shlexec.sde", verb="Open", rawcmd="0", cmdtail="%1", ddeexec="[open(%1)]", app="shlexec", topic="dde" ddeExec expected '[open(C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde)]', got '' shlexec.c:2507: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde") Assoc class="shlexec.sde", verb="Open", rawcmd="0", cmdtail="", ddeexec="[open("%1")]", app="shlexec", topic="dde", ifexec="[ifexec("%1")]" ddeExec expected '[ifexec("C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde")]', got '' shlexec.c:2507: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde") Assoc class="shlexec.sde", verb="Open", rawcmd="0", cmdtail="", ddeexec="[open("%1")]", app="shlexec" ddeExec expected '[open("C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde")]', got '' shlexec.c:2507: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde") Assoc class="shlexec.sde", verb="Open", rawcmd="0", cmdtail="", ddeexec="[open("%1")]", topic="dde" ddeExec expected '[open("C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde")]', got ''
=== w1064v1809_ja (32 bit report) ===
shell32: shlexec.c:2295: Test failed: ShellExecuteEx(mask="0x8441", file="C:\Users\winetest\Documents\shell32_test.exe", class=".shlexec") WaitForSingleObject(hProcess) returned 258 shlexec.c:2295: Test failed: ShellExecuteEx(mask="0x8441", file="C:\Users\winetest\Documents\shell32_test.exe", class=".shlexec") child returned 259
=== w1064v1809_ja (testbot log) ===
The task timed out
=== w1064v1809_zh_CN (32 bit report) ===
shell32: shlexec.c:1162: Test failed: ShellExecute(verb="", file="""C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\simple.shlexec""") WaitForSingleObject returned 258 shlexec.c:2507: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde") Assoc class="shlexec.sde", verb="Open", rawcmd="0", cmdtail="", ddeexec="[open("%1")]", app="shlexec", topic="dde" ddeExec expected '[open("C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde")]', got '' shlexec.c:2471: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde") Assoc class="shlexec.sde", verb="Open", rawcmd="0", cmdtail=""%1"", ddeexec="[open("%1")]", app="shlexec", topic="dde" WaitForSingleObject(hProcess) returned 258 shlexec.c:2471: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde") Assoc class="shlexec.sde", verb="Open", rawcmd="0", cmdtail=""%1"", ddeexec="[open("%1")]", app="shlexec", topic="dde" child returned 259 shlexec.c:2507: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde") Assoc class="shlexec.sde", verb="Open", rawcmd="0", cmdtail=""%1"", ddeexec="[open("%1")]", app="shlexec", topic="dde" ddeExec expected '[open("C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde")]', got '' shlexec.c:2471: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde") Assoc class="shlexec.sde", verb="Open", rawcmd="0", cmdtail="%1", ddeexec="[open(%1)]", app="shlexec", topic="dde" WaitForSingleObject(hProcess) returned 258 shlexec.c:2471: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde") Assoc class="shlexec.sde", verb="Open", rawcmd="0", cmdtail="%1", ddeexec="[open(%1)]", app="shlexec", topic="dde" child returned 259 shlexec.c:2507: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde") Assoc class="shlexec.sde", verb="Open", rawcmd="0", cmdtail="%1", ddeexec="[open(%1)]", app="shlexec", topic="dde" ddeExec expected '[open(C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde)]', got '' shlexec.c:2507: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde") Assoc class="shlexec.sde", verb="Open", rawcmd="0", cmdtail="", ddeexec="[open("%1")]", app="shlexec", topic="dde", ifexec="[ifexec("%1")]" ddeExec expected '[ifexec("C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde")]', got '' shlexec.c:2507: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde") Assoc class="shlexec.sde", verb="Open", rawcmd="0", cmdtail="", ddeexec="[open("%1")]", app="shlexec" ddeExec expected '[open("C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde")]', got '' shlexec.c:2507: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde") Assoc class="shlexec.sde", verb="Open", rawcmd="0", cmdtail="", ddeexec="[open("%1")]", topic="dde" ddeExec expected '[open("C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde")]', got ''
=== w1064v1809_zh_CN (testbot log) ===
The task timed out
=== w1064v1809 (64 bit report) ===
shell32: shlexec.c:2507: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde") Assoc class="shlexec.sde", verb="Open", rawcmd="0", cmdtail="", ddeexec="[open("%1")]", app="shlexec", topic="dde" ddeExec expected '[open("C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde")]', got '' shlexec.c:2507: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde") Assoc class="shlexec.sde", verb="Open", rawcmd="0", cmdtail=""%1"", ddeexec="[open("%1")]", app="shlexec", topic="dde" ddeExec expected '[open("C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde")]', got '' shlexec.c:2507: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde") Assoc class="shlexec.sde", verb="Open", rawcmd="0", cmdtail="%1", ddeexec="[open(%1)]", app="shlexec", topic="dde" ddeExec expected '[open(C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde)]', got '' shlexec.c:2507: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde") Assoc class="shlexec.sde", verb="Open", rawcmd="0", cmdtail="", ddeexec="[open("%1")]", app="shlexec", topic="dde", ifexec="[ifexec("%1")]" ddeExec expected '[ifexec("C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde")]', got '' shlexec.c:2507: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde") Assoc class="shlexec.sde", verb="Open", rawcmd="0", cmdtail="", ddeexec="[open("%1")]", app="shlexec" ddeExec expected '[open("C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde")]', got '' shlexec.c:2507: Test failed: ShellExecuteEx(mask="0x8540", file="C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde") Assoc class="shlexec.sde", verb="Open", rawcmd="0", cmdtail="", ddeexec="[open("%1")]", topic="dde" ddeExec expected '[open("C:\Users\winetest\AppData\Local\Temp\wtDDDD.tmp\test file.sde")]', got ''