What happened is that the folder got overwritten by a task even if the method returned an error. This was clearly a Windows bug.
Fixing this test failure may give us yellow squares on test.winehq.org when the stars align.
From: Sven Baars sbaars@codeweavers.com
--- dlls/taskschd/tests/scheduler.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-)
diff --git a/dlls/taskschd/tests/scheduler.c b/dlls/taskschd/tests/scheduler.c index e6efd3aa1af..4e156e7ef33 100644 --- a/dlls/taskschd/tests/scheduler.c +++ b/dlls/taskschd/tests/scheduler.c @@ -775,12 +775,23 @@ static void test_GetTask(void) hr = ITaskFolder_CreateFolder(root, Wine, v_null, &folder); ok(hr == S_OK, "CreateFolder error %#lx\n", hr);
+ MultiByteToWideChar(CP_ACP, 0, xml1, -1, xmlW, ARRAY_SIZE(xmlW)); + + hr = ITaskFolder_RegisterTask(root, Wine, xmlW, TASK_CREATE, v_null, v_null, TASK_LOGON_NONE, v_null, NULL); + todo_wine + ok(hr == HRESULT_FROM_WIN32(ERROR_ACCESS_DENIED) || broken(hr == HRESULT_FROM_WIN32(ERROR_ALREADY_EXISTS)) /* Vista */, "expected ERROR_ACCESS_DENIED, got %#lx\n", hr); + + /* Delete the folder and recreate it to prevent a crash on w1064v1507 */ + hr = ITaskFolder_DeleteFolder(root, Wine, 0); + ok(hr == S_OK, "DeleteTask error %#lx\n", hr); + + hr = ITaskFolder_CreateFolder(root, Wine, v_null, &folder); + ok(hr == S_OK, "CreateFolder error %#lx\n", hr); + hr = ITaskFolder_GetTask(root, Wine, &task1); ok(hr == HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND) || hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND) /* win7 */, "expected ERROR_PATH_NOT_FOUND, got %#lx\n", hr);
- MultiByteToWideChar(CP_ACP, 0, xml1, -1, xmlW, ARRAY_SIZE(xmlW)); - for (i = 0; i < ARRAY_SIZE(create_new_task); i++) { hr = ITaskFolder_RegisterTask(root, Wine_Task1, xmlW, create_new_task[i].flags, v_null, v_null, TASK_LOGON_NONE, v_null, &task1); @@ -799,10 +810,6 @@ static void test_GetTask(void) hr = ITaskFolder_RegisterTask(root, Wine, xmlW, TASK_VALIDATE_ONLY, v_null, v_null, TASK_LOGON_NONE, v_null, NULL); ok(hr == S_OK, "RegisterTask error %#lx\n", hr);
- hr = ITaskFolder_RegisterTask(root, Wine, xmlW, TASK_CREATE, v_null, v_null, TASK_LOGON_NONE, v_null, NULL); - todo_wine - ok(hr == HRESULT_FROM_WIN32(ERROR_ACCESS_DENIED) || broken(hr == HRESULT_FROM_WIN32(ERROR_ALREADY_EXISTS)) /* Vista */, "expected ERROR_ACCESS_DENIED, got %#lx\n", hr); - hr = ITaskFolder_RegisterTask(root, Wine_Task1, xmlW, TASK_CREATE, v_null, v_null, TASK_LOGON_NONE, v_null, NULL); ok(hr == S_OK, "RegisterTask error %#lx\n", hr);
Hi,
It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated.
The tests also ran into some preexisting test failures. If you know how to fix them that would be helpful. See the TestBot job for the details:
The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=127349
Your paranoid android.
=== w7u_adm (32 bit report) ===
taskschd: scheduler.c:802: Test failed: DeleteTask error 0x80070005 scheduler.c:798: Test failed: 1: expected 0, got 0x800700b7 scheduler.c:798: Test failed: 2: expected 0x80070002, got 0 scheduler.c:802: Test failed: DeleteTask error 0x80070005 scheduler.c:802: Test failed: DeleteTask error 0x80070005 scheduler.c:814: Test failed: RegisterTask error 0x800700b7 scheduler.c:960: Test failed: DeleteTask error 0x80070005 scheduler.c:962: Test failed: DeleteTask error 0x80070005 scheduler.c:965: Test failed: expected ERROR_FILE_NOT_FOUND, got 0x80070005
=== w1064v1809 (32 bit report) ===
taskschd: scheduler.c:786: Test failed: DeleteTask error 0x80070002
=== w1064_tsign (32 bit report) ===
taskschd: scheduler.c:786: Test failed: DeleteTask error 0x80070002
=== w10pro64 (32 bit report) ===
taskschd: scheduler.c:786: Test failed: DeleteTask error 0x80070002
=== w1064v1809 (64 bit report) ===
taskschd: scheduler.c:786: Test failed: DeleteTask error 0x80070002
=== w1064_2qxl (64 bit report) ===
taskschd: scheduler.c:786: Test failed: DeleteTask error 0x80070002
=== w1064_adm (64 bit report) ===
taskschd: scheduler.c:786: Test failed: DeleteTask error 0x80070002
=== w1064_tsign (64 bit report) ===
taskschd: scheduler.c:786: Test failed: DeleteTask error 0x80070002
=== w10pro64 (64 bit report) ===
taskschd: scheduler.c:786: Test failed: DeleteTask error 0x80070002
=== w10pro64_en_AE_u8 (64 bit report) ===
taskschd: scheduler.c:786: Test failed: DeleteTask error 0x80070002
=== w10pro64_ar (64 bit report) ===
taskschd: scheduler.c:786: Test failed: DeleteTask error 0x80070002
=== w10pro64_ja (64 bit report) ===
taskschd: scheduler.c:786: Test failed: DeleteTask error 0x80070002
=== w10pro64_zh_CN (64 bit report) ===
taskschd: scheduler.c:786: Test failed: DeleteTask error 0x80070002
On Wed Dec 7 17:10:06 2022 +0000, **** wrote:
Marvin replied on the mailing list:
Hi, It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated. The tests also ran into some preexisting test failures. If you know how to fix them that would be helpful. See the TestBot job for the details: The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=127349 Your paranoid android. === w7u_adm (32 bit report) === taskschd: scheduler.c:802: Test failed: DeleteTask error 0x80070005 scheduler.c:798: Test failed: 1: expected 0, got 0x800700b7 scheduler.c:798: Test failed: 2: expected 0x80070002, got 0 scheduler.c:802: Test failed: DeleteTask error 0x80070005 scheduler.c:802: Test failed: DeleteTask error 0x80070005 scheduler.c:814: Test failed: RegisterTask error 0x800700b7 scheduler.c:960: Test failed: DeleteTask error 0x80070005 scheduler.c:962: Test failed: DeleteTask error 0x80070005 scheduler.c:965: Test failed: expected ERROR_FILE_NOT_FOUND, got 0x80070005 === w1064v1809 (32 bit report) === taskschd: scheduler.c:786: Test failed: DeleteTask error 0x80070002 === w1064_tsign (32 bit report) === taskschd: scheduler.c:786: Test failed: DeleteTask error 0x80070002 === w10pro64 (32 bit report) === taskschd: scheduler.c:786: Test failed: DeleteTask error 0x80070002 === w1064v1809 (64 bit report) === taskschd: scheduler.c:786: Test failed: DeleteTask error 0x80070002 === w1064_2qxl (64 bit report) === taskschd: scheduler.c:786: Test failed: DeleteTask error 0x80070002 === w1064_adm (64 bit report) === taskschd: scheduler.c:786: Test failed: DeleteTask error 0x80070002 === w1064_tsign (64 bit report) === taskschd: scheduler.c:786: Test failed: DeleteTask error 0x80070002 === w10pro64 (64 bit report) === taskschd: scheduler.c:786: Test failed: DeleteTask error 0x80070002 === w10pro64_en_AE_u8 (64 bit report) === taskschd: scheduler.c:786: Test failed: DeleteTask error 0x80070002 === w10pro64_ar (64 bit report) === taskschd: scheduler.c:786: Test failed: DeleteTask error 0x80070002 === w10pro64_ja (64 bit report) === taskschd: scheduler.c:786: Test failed: DeleteTask error 0x80070002 === w10pro64_zh_CN (64 bit report) === taskschd: scheduler.c:786: Test failed: DeleteTask error 0x80070002
Wild. I'll fix this and some other minor issues.