Dmitry Timoshkov : schedsvc: Add some tests for SchRpcGetTaskInfo.

Alexandre Julliard julliard at winehq.org
Wed Apr 9 13:52:05 CDT 2014


Module: wine
Branch: master
Commit: 9b9b07e4cdbf61daf1fb6fdc4695d5df5e1bf1a3
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=9b9b07e4cdbf61daf1fb6fdc4695d5df5e1bf1a3

Author: Dmitry Timoshkov <dmitry at baikal.ru>
Date:   Wed Apr  9 18:50:49 2014 +0900

schedsvc: Add some tests for SchRpcGetTaskInfo.

---

 dlls/schedsvc/tests/rpcapi.c |   50 ++++++++++++++++++++++++++++++++++++++++--
 include/wine/schrpc.idl      |    1 +
 2 files changed, 49 insertions(+), 2 deletions(-)

diff --git a/dlls/schedsvc/tests/rpcapi.c b/dlls/schedsvc/tests/rpcapi.c
index 2ef50c9..480aa83 100644
--- a/dlls/schedsvc/tests/rpcapi.c
+++ b/dlls/schedsvc/tests/rpcapi.c
@@ -93,7 +93,7 @@ START_TEST(rpcapi)
     };
     WCHAR xmlW[sizeof(xml1)], *xml;
     HRESULT hr;
-    DWORD version, start_index, count, i, enumed;
+    DWORD version, start_index, count, i, enumed, enabled, state;
     WCHAR *path;
     TASK_XML_ERROR_INFO *info;
     TASK_NAMES names;
@@ -407,7 +407,7 @@ START_TEST(rpcapi)
     ok(names != NULL, "names should not be NULL\n");
     /* returned name depends whether directory randomization is on */
     ok(!lstrcmpW(names[0], Task1) || !lstrcmpW(names[0], Task2),
-       "expected Task3, got %s\n", wine_dbgstr_w(names[0]));
+       "expected Task1, got %s\n", wine_dbgstr_w(names[0]));
     MIDL_user_free(names[0]);
     MIDL_user_free(names);
 
@@ -473,6 +473,52 @@ START_TEST(rpcapi)
     MIDL_user_free(names[0]);
     MIDL_user_free(names);
 
+    if (0) /* crashes under win7 */
+    {
+    hr = SchRpcGetTaskInfo(NULL, 0, NULL, NULL);
+    hr = SchRpcGetTaskInfo(Task1, 0, NULL, NULL);
+    hr = SchRpcGetTaskInfo(Task1, 0, &enabled, NULL);
+    hr = SchRpcGetTaskInfo(Task1, 0, NULL, &state);
+    }
+
+    hr = SchRpcGetTaskInfo(Task1, 0, &enabled, &state);
+todo_wine
+    ok(hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND), "expected ERROR_FILE_NOT_FOUND, got %#x\n", hr);
+
+    enabled = state = 0xdeadbeef;
+    hr = SchRpcGetTaskInfo(Wine_Task1, 0, &enabled, &state);
+todo_wine
+    ok(hr == S_OK, "expected S_OK, got %#x\n", hr);
+if (hr == S_OK)
+{
+    ok(enabled == 0, "expected 0, got %u\n", enabled);
+    ok(state == TASK_STATE_UNKNOWN, "expected TASK_STATE_UNKNOWN, got %u\n", state);
+}
+
+    enabled = state = 0xdeadbeef;
+    hr = SchRpcGetTaskInfo(Wine_Task1, SCH_FLAG_STATE, &enabled, &state);
+todo_wine
+    ok(hr == S_OK, "expected S_OK, got %#x\n", hr);
+if (hr == S_OK)
+{
+    ok(enabled == 0, "expected 0, got %u\n", enabled);
+    ok(state == TASK_STATE_DISABLED, "expected TASK_STATE_DISABLED, got %u\n", state);
+}
+
+    hr = SchRpcEnableTask(Wine_Task1, 0xdeadbeef);
+todo_wine
+    ok(hr == S_OK, "expected S_OK, got %#x\n", hr);
+
+    enabled = state = 0xdeadbeef;
+    hr = SchRpcGetTaskInfo(Wine_Task1, SCH_FLAG_STATE, &enabled, &state);
+todo_wine
+    ok(hr == S_OK, "expected S_OK, got %#x\n", hr);
+if (hr == S_OK)
+{
+    ok(enabled == 1, "expected 1, got %u\n", enabled);
+    ok(state == TASK_STATE_READY, "expected TASK_STATE_READY, got %u\n", state);
+}
+
     hr = SchRpcDelete(Wine_Task1+1, 0);
     ok(hr == S_OK, "expected S_OK, got %#x\n", hr);
     hr = SchRpcDelete(Wine_Task2+1, 0);
diff --git a/include/wine/schrpc.idl b/include/wine/schrpc.idl
index 55acb38..4af709d 100644
--- a/include/wine/schrpc.idl
+++ b/include/wine/schrpc.idl
@@ -19,6 +19,7 @@
  */
 
 cpp_quote("#define SCHEDSVC_TRANSPORT {'n','c','a','l','r','p','c',0}")
+cpp_quote("#define SCH_FLAG_STATE 0x10000000")
 
 import "oaidl.idl";
 import "ocidl.idl";




More information about the wine-cvs mailing list