This ok() call is wrong: it is missing the trailing '\n'.
+ ok(ret == ERROR_ALREADY_EXISTS, + "SHCreateDirectoryExW returned %d. Expected %d", + ret, ERROR_ALREADY_EXISTS);
Due to the missing trailing '\n' the test's "summary line" is concatenated to the end of the last error. It's the part that starts with "002c:shlfileop: 807 tests executed..."
=== debian9 (32 bit report) ===
shell32: shlfileop.c:2648: Test failed: SHCreateDirectoryExW returned 1223. Expected 183002c:shlfileop: 807 tests executed (24 marked as todo, 1 failure), 1 skipped.
Because it's not at the start of the line the TestBot does not recognize it and this is what causes these additional failures:
Report errors: shell32:shlfileop has no test summary line (early exit of the main process?) shell32:shlfileop has unaccounted for failure messages shell32:shlfileop has unaccounted for todo messages shell32:shlfileop has unaccounted for skip messages
So the fix is to: * Add the trailing '\n'. * Either fix the test or add a todo_wine so it does not fail on Wine.
* And for bonus points fix Wine's implementation if it is indeed wrong.