Commit 3826fc84 authored by Dmitry Timoshkov's avatar Dmitry Timoshkov Committed by Alexandre Julliard

taskschd/tests: Use IP 0.0.0.0 as a bad server name and test that unsuccessful…

taskschd/tests: Use IP 0.0.0.0 as a bad server name and test that unsuccessful connection attempt shouldn't trash an existing connection.
parent 134697b6
...@@ -30,13 +30,14 @@ ...@@ -30,13 +30,14 @@
static void test_Connect(void) static void test_Connect(void)
{ {
static const WCHAR deadbeefW[] = { 'd','e','a','d','b','e','e','f',0 }; static const WCHAR deadbeefW[] = { '0','.','0','.','0','.','0',0 };
WCHAR comp_name[MAX_COMPUTERNAME_LENGTH + 1]; WCHAR comp_name[MAX_COMPUTERNAME_LENGTH + 1];
DWORD len; DWORD len;
HRESULT hr; HRESULT hr;
BSTR bstr; BSTR bstr;
VARIANT v_null, v_comp; VARIANT v_null, v_comp;
VARIANT_BOOL vbool; VARIANT_BOOL vbool;
BOOL was_connected;
ITaskService *service; ITaskService *service;
hr = CoCreateInstance(&CLSID_TaskScheduler, NULL, CLSCTX_INPROC_SERVER, &IID_ITaskService, (void **)&service); hr = CoCreateInstance(&CLSID_TaskScheduler, NULL, CLSCTX_INPROC_SERVER, &IID_ITaskService, (void **)&service);
...@@ -73,17 +74,20 @@ static void test_Connect(void) ...@@ -73,17 +74,20 @@ static void test_Connect(void)
hr = ITaskService_Connect(service, v_comp, v_null, v_null, v_null); hr = ITaskService_Connect(service, v_comp, v_null, v_null, v_null);
ok(hr == S_OK || hr == E_ACCESSDENIED /* not an administrator */, "Connect error %#x\n", hr); ok(hr == S_OK || hr == E_ACCESSDENIED /* not an administrator */, "Connect error %#x\n", hr);
was_connected = hr == S_OK;
SysFreeString(V_BSTR(&v_comp)); SysFreeString(V_BSTR(&v_comp));
V_BSTR(&v_comp) = SysAllocString(deadbeefW); V_BSTR(&v_comp) = SysAllocString(deadbeefW);
hr = ITaskService_Connect(service, v_comp, v_null, v_null, v_null); hr = ITaskService_Connect(service, v_comp, v_null, v_null, v_null);
ok(hr == HRESULT_FROM_WIN32(ERROR_BAD_NETPATH), "expected ERROR_BAD_NETPATH, got %#x\n", hr); todo_wine
ok(hr == HRESULT_FROM_WIN32(RPC_S_INVALID_NET_ADDR), "expected RPC_S_INVALID_NET_ADDR, got %#x\n", hr);
vbool = 0xdead; vbool = 0xdead;
hr = ITaskService_get_Connected(service, &vbool); hr = ITaskService_get_Connected(service, &vbool);
ok(hr == S_OK, "get_Connected error %#x\n", hr); ok(hr == S_OK, "get_Connected error %#x\n", hr);
ok(vbool == VARIANT_TRUE, "expected VARIANT_TRUE, got %d\n", vbool); ok(vbool == VARIANT_FALSE || (was_connected && vbool == VARIANT_TRUE),
"Connect shouldn't trash an existing connection, got %d (was connected %d)\n", vbool, was_connected);
hr = ITaskService_Connect(service, v_null, v_null, v_null, v_null); hr = ITaskService_Connect(service, v_null, v_null, v_null, v_null);
ok(hr == S_OK, "Connect error %#x\n", hr); ok(hr == S_OK, "Connect error %#x\n", hr);
...@@ -95,12 +99,12 @@ static void test_Connect(void) ...@@ -95,12 +99,12 @@ static void test_Connect(void)
hr = ITaskService_get_TargetServer(service, &bstr); hr = ITaskService_get_TargetServer(service, &bstr);
ok(hr == S_OK, "get_TargetServer error %#x\n", hr); ok(hr == S_OK, "get_TargetServer error %#x\n", hr);
if (hr == S_OK) ok(!lstrcmpW(comp_name, bstr), "compname %s != server name %s\n", wine_dbgstr_w(comp_name), wine_dbgstr_w(bstr));
{ SysFreeString(bstr);
ok(!lstrcmpW(comp_name, bstr), "compname %s != server name %s\n", wine_dbgstr_w(comp_name), wine_dbgstr_w(bstr));
SysFreeString(bstr);
}
SysFreeString(V_BSTR(&v_comp)); SysFreeString(V_BSTR(&v_comp));
ITaskService_Release(service);
} }
START_TEST(scheduler) START_TEST(scheduler)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment