Hans Leidekker : netprofm/tests: Add tests.
Alexandre Julliard
julliard at wine.codeweavers.com
Wed Sep 2 10:23:15 CDT 2015
Module: wine
Branch: master
Commit: d3857726a0c0e323dbb259a8ff928b68b3a0d6e6
URL: http://source.winehq.org/git/wine.git/?a=commit;h=d3857726a0c0e323dbb259a8ff928b68b3a0d6e6
Author: Hans Leidekker <hans at codeweavers.com>
Date: Wed Sep 2 10:44:59 2015 +0200
netprofm/tests: Add tests.
---
dlls/netprofm/tests/Makefile.in | 2 +-
dlls/netprofm/tests/list.c | 166 +++++++++++++++++++++++++++++++++++++++-
2 files changed, 165 insertions(+), 3 deletions(-)
diff --git a/dlls/netprofm/tests/Makefile.in b/dlls/netprofm/tests/Makefile.in
index 45b8809..3b5be5c 100644
--- a/dlls/netprofm/tests/Makefile.in
+++ b/dlls/netprofm/tests/Makefile.in
@@ -1,5 +1,5 @@
TESTDLL = netprofm.dll
-IMPORTS = ole32
+IMPORTS = oleaut32 ole32
C_SRCS = \
list.c
diff --git a/dlls/netprofm/tests/list.c b/dlls/netprofm/tests/list.c
index 1e1ba82..eb8477c 100644
--- a/dlls/netprofm/tests/list.c
+++ b/dlls/netprofm/tests/list.c
@@ -25,6 +25,138 @@
#include "netlistmgr.h"
#include "wine/test.h"
+static void test_INetwork( INetwork *network )
+{
+ NLM_NETWORK_CATEGORY category;
+ NLM_CONNECTIVITY connectivity;
+ NLM_DOMAIN_TYPE domain_type;
+ VARIANT_BOOL connected;
+ GUID id;
+ BSTR str;
+ HRESULT hr;
+
+ str = NULL;
+ hr = INetwork_GetName( network, &str );
+ todo_wine ok( hr == S_OK, "got %08x\n", hr );
+ todo_wine ok( str != NULL, "str not set\n" );
+ if (str) trace( "name %s\n", wine_dbgstr_w(str) );
+ SysFreeString( str );
+
+ str = NULL;
+ hr = INetwork_GetDescription( network, &str );
+ todo_wine ok( hr == S_OK, "got %08x\n", hr );
+ todo_wine ok( str != NULL, "str not set\n" );
+ if (str) trace( "description %s\n", wine_dbgstr_w(str) );
+ SysFreeString( str );
+
+ memset( &id, 0, sizeof(id) );
+ hr = INetwork_GetNetworkId( network, &id );
+ ok( hr == S_OK, "got %08x\n", hr );
+ trace("network id %s\n", wine_dbgstr_guid(&id));
+
+ domain_type = 0xdeadbeef;
+ hr = INetwork_GetDomainType( network, &domain_type );
+ ok( hr == S_OK, "got %08x\n", hr );
+ ok( domain_type != 0xdeadbeef, "domain_type not set\n" );
+ trace( "domain type %08x\n", domain_type );
+
+ category = 0xdeadbeef;
+ hr = INetwork_GetCategory( network, &category );
+ ok( hr == S_OK, "got %08x\n", hr );
+ ok( category != 0xdeadbeef, "category not set\n" );
+ trace( "category %08x\n", category );
+
+ connectivity = 0xdeadbeef;
+ hr = INetwork_GetConnectivity( network, &connectivity );
+ ok( hr == S_OK, "got %08x\n", hr );
+ ok( connectivity != 0xdeadbeef, "connectivity not set\n" );
+ trace( "connectivity %08x\n", connectivity );
+
+ connected = 0xdead;
+ hr = INetwork_get_IsConnected( network, &connected );
+ ok( hr == S_OK, "got %08x\n", hr );
+ trace("connected %d\n", connected);
+
+ connected = 0xdead;
+ hr = INetwork_get_IsConnectedToInternet( network, &connected );
+ ok( hr == S_OK, "got %08x\n", hr );
+ trace("connected to internet %d\n", connected);
+}
+
+static void test_INetworkConnection( INetworkConnection *conn )
+{
+ INetwork *network;
+ INetworkConnectionCost *conn_cost;
+ NLM_CONNECTIVITY connectivity;
+ NLM_DOMAIN_TYPE domain_type;
+ VARIANT_BOOL connected;
+ GUID id;
+ HRESULT hr;
+
+ memset( &id, 0, sizeof(id) );
+ hr = INetworkConnection_GetAdapterId( conn, &id );
+ ok( hr == S_OK, "got %08x\n", hr );
+ trace("adapter id %s\n", wine_dbgstr_guid(&id));
+
+ memset( &id, 0, sizeof(id) );
+ hr = INetworkConnection_GetConnectionId( conn, &id );
+ ok( hr == S_OK, "got %08x\n", hr );
+ trace("connection id %s\n", wine_dbgstr_guid(&id));
+
+ connectivity = 0xdeadbeef;
+ hr = INetworkConnection_GetConnectivity( conn, &connectivity );
+ ok( hr == S_OK, "got %08x\n", hr );
+ ok( connectivity != 0xdeadbeef, "connectivity not set\n" );
+ trace( "connectivity %08x\n", connectivity );
+
+ domain_type = 0xdeadbeef;
+ hr = INetworkConnection_GetDomainType( conn, &domain_type );
+ ok( hr == S_OK, "got %08x\n", hr );
+ ok( domain_type != 0xdeadbeef, "domain_type not set\n" );
+ trace( "domain type %08x\n", domain_type );
+
+ connected = 0xdead;
+ hr = INetworkConnection_get_IsConnected( conn, &connected );
+ ok( hr == S_OK, "got %08x\n", hr );
+ trace("connected %d\n", connected);
+
+ connected = 0xdead;
+ hr = INetworkConnection_get_IsConnectedToInternet( conn, &connected );
+ ok( hr == S_OK, "got %08x\n", hr );
+ trace("connected to internet %d\n", connected);
+
+ network = NULL;
+ hr = INetworkConnection_GetNetwork( conn, &network );
+ ok( hr == S_OK, "got %08x\n", hr );
+ if (network)
+ {
+ test_INetwork( network );
+ INetwork_Release( network );
+ }
+
+ conn_cost = NULL;
+ hr = INetworkConnection_QueryInterface( conn, &IID_INetworkConnectionCost, (void **)&conn_cost );
+ ok( hr == S_OK || broken(hr == E_NOINTERFACE), "got %08x\n", hr );
+ if (conn_cost)
+ {
+ DWORD cost;
+ NLM_DATAPLAN_STATUS status;
+
+ cost = 0xdeadbeef;
+ hr = INetworkConnectionCost_GetCost( conn_cost, &cost );
+ ok( hr == S_OK, "got %08x\n", hr );
+ ok( cost != 0xdeadbeef, "cost not set\n" );
+ trace("cost %08x\n", cost);
+
+ memset( &status, 0,sizeof(status) );
+ hr = INetworkConnectionCost_GetDataPlanStatus( conn_cost, &status );
+ ok( hr == S_OK, "got %08x\n", hr );
+ trace("InterfaceGuid %s\n", wine_dbgstr_guid(&status.InterfaceGuid));
+
+ INetworkConnectionCost_Release( conn_cost );
+ }
+}
+
static void test_INetworkListManager( void )
{
IConnectionPointContainer *cpc, *cpc2;
@@ -33,6 +165,10 @@ static void test_INetworkListManager( void )
NLM_CONNECTIVITY connectivity;
VARIANT_BOOL connected;
IConnectionPoint *pt;
+ IEnumNetworks *network_iter;
+ INetwork *network;
+ IEnumNetworkConnections *conn_iter;
+ INetworkConnection *conn;
HRESULT hr;
ULONG ref1, ref2;
IID iid;
@@ -62,9 +198,10 @@ static void test_INetworkListManager( void )
ok( connected == VARIANT_TRUE || connected == VARIANT_FALSE, "expected boolean value\n" );
/* INetworkCostManager is supported starting Win8 */
+ cost_mgr = NULL;
hr = INetworkListManager_QueryInterface( mgr, &IID_INetworkCostManager, (void **)&cost_mgr );
ok( hr == S_OK || broken(hr == E_NOINTERFACE), "got %08x\n", hr );
- if (hr == S_OK)
+ if (cost_mgr)
{
DWORD cost;
NLM_DATAPLAN_STATUS status;
@@ -119,8 +256,33 @@ static void test_INetworkListManager( void )
hr = IConnectionPointContainer_FindConnectionPoint( cpc, &IID_INetworkConnectionEvents, &pt );
ok( hr == S_OK || hr == CO_E_FAILEDTOIMPERSONATE, "got %08x\n", hr );
if (hr == S_OK) IConnectionPoint_Release( pt );
-
IConnectionPointContainer_Release( cpc );
+
+ network_iter = NULL;
+ hr = INetworkListManager_GetNetworks( mgr, NLM_ENUM_NETWORK_ALL, &network_iter );
+ ok( hr == S_OK, "got %08x\n", hr );
+ if (network_iter)
+ {
+ while ((hr = IEnumNetworks_Next( network_iter, 1, &network, NULL )) == S_OK)
+ {
+ test_INetwork( network );
+ INetwork_Release( network );
+ }
+ IEnumNetworks_Release( network_iter );
+ }
+
+ conn_iter = NULL;
+ hr = INetworkListManager_GetNetworkConnections( mgr, &conn_iter );
+ ok( hr == S_OK, "got %08x\n", hr );
+ if (conn_iter)
+ {
+ while ((hr = IEnumNetworkConnections_Next( conn_iter, 1, &conn, NULL )) == S_OK)
+ {
+ test_INetworkConnection( conn );
+ INetworkConnection_Release( conn );
+ }
+ IEnumNetworkConnections_Release( conn_iter );
+ }
INetworkListManager_Release( mgr );
}
More information about the wine-cvs
mailing list