Discord calls this function when hanging up a call.
-- v3: qwave: Add tests for QOSCloseHandle(). qwave: Add QOSCloseHandle() stub.
From: Aida Jonikienė aidas957@gmail.com
Discord calls this function when hanging up a call. --- dlls/qwave/main.c | 6 ++++++ dlls/qwave/qwave.spec | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/dlls/qwave/main.c b/dlls/qwave/main.c index a8755d993d1..e29b19b116b 100644 --- a/dlls/qwave/main.c +++ b/dlls/qwave/main.c @@ -43,3 +43,9 @@ BOOL WINAPI QOSAddSocketToFlow(HANDLE handle, SOCKET socket, PSOCKADDR addr, SetLastError(ERROR_NOT_SUPPORTED); return FALSE; } + +BOOL WINAPI QOSCloseHandle(HANDLE handle) +{ + FIXME("%p stub!\n", handle); + return FALSE; +} diff --git a/dlls/qwave/qwave.spec b/dlls/qwave/qwave.spec index 83dfc6787cc..ff2994d11fb 100644 --- a/dlls/qwave/qwave.spec +++ b/dlls/qwave/qwave.spec @@ -2,7 +2,7 @@ @ stub QDLHStartDiagnosingPath @ stdcall QOSAddSocketToFlow(ptr long ptr long long ptr) @ stub QOSCancel -@ stub QOSCloseHandle +@ stdcall QOSCloseHandle(ptr) @ stdcall QOSCreateHandle(ptr ptr) @ stub QOSEnumerateFlows @ stub QOSNotifyFlow
From: Aida Jonikienė aidas957@gmail.com
--- dlls/qwave/tests/qos.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+)
diff --git a/dlls/qwave/tests/qos.c b/dlls/qwave/tests/qos.c index 7e8fddf64c4..efbc82e693d 100644 --- a/dlls/qwave/tests/qos.c +++ b/dlls/qwave/tests/qos.c @@ -64,7 +64,35 @@ static void test_QOSCreateHandle(void) ok(GetLastError() == ERROR_INVALID_PARAMETER, "Expected ERROR_INVALID_PARAMETER, got %ld\n", GetLastError()); }
+static void test_QOSCloseHandle(void) +{ + QOS_VERSION ver; + HANDLE h; + BOOL ret; + + SetLastError(0xdeadbeef); + ret = QOSCloseHandle(NULL); + ok(ret == FALSE, "Expected FALSE, got %d\n", ret); + todo_wine ok(GetLastError() == ERROR_INVALID_HANDLE, "Expected ERROR_INVALID_HANDLE, got %ld\n", GetLastError()); + + ver.MajorVersion = 1; + ver.MinorVersion = 0; + ret = QOSCreateHandle(&ver, &h); + todo_wine ok(ret == TRUE, "Expected TRUE, got %d\n", ret); + + SetLastError(0xdeadbeef); + ret = QOSCloseHandle(h); + todo_wine ok(ret == TRUE, "Expected TRUE, got %d\n", ret); + todo_wine ok(GetLastError() == 0xdeadbeef, "Expected 0xdeadbeef, got %ld\n", GetLastError()); + + SetLastError(0xdeadbeef); + ret = QOSCloseHandle((HANDLE)0xdeadbeef); + ok(ret == FALSE, "Expected FALSE, got %d\n", ret); + todo_wine ok(GetLastError() == ERROR_INVALID_HANDLE, "Expected ERROR_INVALID_HANDLE, got %ld\n", GetLastError()); +} + START_TEST(qos) { test_QOSCreateHandle(); + test_QOSCloseHandle(); }
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=143395
Your paranoid android.
=== debian11 (32 bit report) ===
qwave: qos.c:86: Test succeeded inside todo block: Expected 0xdeadbeef, got -559038737
=== debian11 (32 bit ar:MA report) ===
qwave: qos.c:86: Test succeeded inside todo block: Expected 0xdeadbeef, got -559038737
=== debian11 (32 bit de report) ===
qwave: qos.c:86: Test succeeded inside todo block: Expected 0xdeadbeef, got -559038737
=== debian11 (32 bit fr report) ===
qwave: qos.c:86: Test succeeded inside todo block: Expected 0xdeadbeef, got -559038737
=== debian11 (32 bit he:IL report) ===
qwave: qos.c:86: Test succeeded inside todo block: Expected 0xdeadbeef, got -559038737
=== debian11 (32 bit hi:IN report) ===
qwave: qos.c:86: Test succeeded inside todo block: Expected 0xdeadbeef, got -559038737
=== debian11 (32 bit ja:JP report) ===
qwave: qos.c:86: Test succeeded inside todo block: Expected 0xdeadbeef, got -559038737
=== debian11 (32 bit zh:CN report) ===
qwave: qos.c:86: Test succeeded inside todo block: Expected 0xdeadbeef, got -559038737
=== debian11b (32 bit WoW report) ===
qwave: qos.c:86: Test succeeded inside todo block: Expected 0xdeadbeef, got -559038737
=== debian11b (64 bit WoW report) ===
qwave: qos.c:86: Test succeeded inside todo block: Expected 0xdeadbeef, got -559038737
On Sun Feb 25 17:54:05 2024 +0000, Aida Jonikienė wrote:
That means I have to add a lot more `todo_wine`s for no reason
I simplified the function in my MR update