Gijs Vermeulen : wbemprox/tests: Fix test failures.
Alexandre Julliard
julliard at winehq.org
Mon Jul 27 16:35:15 CDT 2020
Module: wine
Branch: master
Commit: 850b289ce9b8b975786fb7d261ac74485296b0b1
URL: https://source.winehq.org/git/wine.git/?a=commit;h=850b289ce9b8b975786fb7d261ac74485296b0b1
Author: Gijs Vermeulen <gijsvrm at gmail.com>
Date: Fri Jul 17 17:33:10 2020 +0200
wbemprox/tests: Fix test failures.
Signed-off-by: Gijs Vermeulen <gijsvrm at gmail.com>
Signed-off-by: Hans Leidekker <hans at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/wbemprox/tests/query.c | 34 +++++++++++++++++++++++++++-------
1 file changed, 27 insertions(+), 7 deletions(-)
diff --git a/dlls/wbemprox/tests/query.c b/dlls/wbemprox/tests/query.c
index da47773da2..0fa091b739 100644
--- a/dlls/wbemprox/tests/query.c
+++ b/dlls/wbemprox/tests/query.c
@@ -1144,8 +1144,10 @@ static void test_Win32_PhysicalMemory( IWbemServices *services )
BSTR wql = SysAllocString( L"wql" ), query = SysAllocString( L"SELECT * FROM Win32_PhysicalMemory" );
IEnumWbemClassObject *result;
IWbemClassObject *obj;
- HRESULT hr;
+ CIMTYPE type;
+ VARIANT val;
DWORD count;
+ HRESULT hr;
hr = IWbemServices_ExecQuery( services, wql, query, 0, NULL, &result );
if (hr != S_OK)
@@ -1154,21 +1156,39 @@ static void test_Win32_PhysicalMemory( IWbemServices *services )
return;
}
- hr = IEnumWbemClassObject_Next( result, 10000, 1, &obj, &count );
- ok( hr == S_OK, "got %08x\n", hr );
-
- if (count > 0)
+ for (;;)
{
+ hr = IEnumWbemClassObject_Next( result, 10000, 1, &obj, &count );
+ if (hr != S_OK) break;
+
check_property( obj, L"BankLabel", VT_BSTR, CIM_STRING );
check_property( obj, L"Capacity", VT_BSTR, CIM_UINT64 );
check_property( obj, L"Caption", VT_BSTR, CIM_STRING );
check_property( obj, L"DeviceLocator", VT_BSTR, CIM_STRING );
check_property( obj, L"FormFactor", VT_I4, CIM_UINT16 );
check_property( obj, L"MemoryType", VT_I4, CIM_UINT16 );
- check_property( obj, L"PartNumber", VT_NULL, CIM_STRING );
- check_property( obj, L"SerialNumber", VT_NULL, CIM_STRING );
+
+ type = 0xdeadbeef;
+ VariantInit( &val );
+ hr = IWbemClassObject_Get( obj, L"PartNumber", 0, &val, &type, NULL );
+ ok( hr == S_OK, "got %08x\n", hr );
+ ok( V_VT( &val ) == VT_BSTR || V_VT( &val ) == VT_NULL, "unexpected variant type 0x%x\n", V_VT( &val ) );
+ ok( type == CIM_STRING, "unexpected type 0x%x\n", type );
+ trace( "PartNumber %s\n", wine_dbgstr_w(V_BSTR( &val )) );
+ VariantClear( &val );
+
+ type = 0xdeadbeef;
+ VariantInit( &val );
+ hr = IWbemClassObject_Get( obj, L"SerialNumber", 0, &val, &type, NULL );
+ ok( hr == S_OK, "got %08x\n", hr );
+ ok( V_VT( &val ) == VT_BSTR || V_VT( &val ) == VT_NULL, "unexpected variant type 0x%x\n", V_VT( &val ) );
+ ok( type == CIM_STRING, "unexpected type 0x%x\n", type );
+ trace( "SerialNumber %s\n", wine_dbgstr_w(V_BSTR( &val )) );
+ VariantClear( &val );
+
IWbemClassObject_Release( obj );
}
+
IEnumWbemClassObject_Release( result );
SysFreeString( query );
SysFreeString( wql );
More information about the wine-cvs
mailing list