[PATCH] wbemprox/tests: Add a simple test for semi-synchronous mode behaviour.

Nikolay Sivov nsivov at codeweavers.com
Fri Feb 15 11:04:52 CST 2019


Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
 dlls/wbemprox/tests/query.c | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/dlls/wbemprox/tests/query.c b/dlls/wbemprox/tests/query.c
index ae0106a341..e8ddbccbe6 100644
--- a/dlls/wbemprox/tests/query.c
+++ b/dlls/wbemprox/tests/query.c
@@ -1084,6 +1084,34 @@ static void test_query_async( IWbemServices *services )
     SysFreeString( query );
 }
 
+static void test_query_semisync( IWbemServices *services )
+{
+    static const WCHAR queryW[] =
+        {'S','E','L','E','C','T',' ','*',' ','F','R','O','M',' ','W','i','n','3','2','_','D','u','m','m','y',0};
+    BSTR wql = SysAllocString( wqlW ), query = SysAllocString( queryW );
+    IEnumWbemClassObject *result;
+    IWbemClassObject *obj;
+    ULONG count;
+    HRESULT hr;
+
+    hr = IWbemServices_ExecQuery( services, wql, query, WBEM_FLAG_RETURN_IMMEDIATELY | WBEM_FLAG_FORWARD_ONLY,
+            NULL, &result );
+    ok( hr == S_OK, "got %08x\n", hr );
+
+    count = 1;
+    obj = (void *)0xdeadbeef;
+    hr = IEnumWbemClassObject_Next( result, -1, 1, &obj, &count );
+todo_wine
+    ok( hr == WBEM_E_INVALID_CLASS, "Unexpected hr %#x.\n", hr );
+    ok( count == 0, "Unexpected count %u.\n", count );
+    ok( obj == (void *)0xdeadbeef, "Got object %p\n", obj );
+
+    IEnumWbemClassObject_Release( result );
+
+    SysFreeString( wql );
+    SysFreeString( query );
+}
+
 static void test_GetNames( IWbemServices *services )
 {
     static const WCHAR queryW[] =
@@ -1950,6 +1978,7 @@ START_TEST(query)
     test_StdRegProv( services );
     test_notification_query_async( services );
     test_query_async( services );
+    test_query_semisync( services );
     test_GetNames( services );
     test_SystemSecurity( services );
     test_Win32_OperatingSystem( services );
-- 
2.20.1




More information about the wine-devel mailing list