mstask/tests: Conformance test for (Set|Get)MaxRunTime.
diff --git a/dlls/mstask/tests/task.c b/dlls/mstask/tests/task.c
index 749eb55..b1f194c 100644
--- a/dlls/mstask/tests/task.c
+++ b/dlls/mstask/tests/task.c
@@ -370,6 +370,63 @@
return;
}
+static void test_SetMaxRunTime_GetMaxRunTime(void)
+{
+ BOOL setup;
+ HRESULT hres;
+ DWORD max_run_time;
+
+ setup = setup_task();
+ ok(setup, "Failed to setup test_task\n");
+ if (!setup)
+ {
+ skip("Failed to create task. Skipping tests.\n");
+ return;
+ }
+
+ /* Default time is 3 days:
+ * 3 days * 24 hours * 60 minutes * 60 seconds * 1000 ms = 259200000 */
+ max_run_time = 0;
+ hres = ITask_GetMaxRunTime(test_task, &max_run_time);
+ todo_wine ok(hres == S_OK, "Failed to get max runtime: 0x%08x\n", hres);
+ todo_wine ok(max_run_time == 259200000, "Expected 259200000: %d\n", max_run_time);
+
+ /* Basic set test */
+ max_run_time = 0;
+ hres = ITask_SetMaxRunTime(test_task, 1234);
+ todo_wine ok(hres == S_OK, "Failed to set max runtime: 0x%08x\n", hres);
+ hres = ITask_GetMaxRunTime(test_task, &max_run_time);
+ todo_wine ok(hres == S_OK, "Failed to get max runtime: 0x%08x\n", hres);
+ todo_wine ok(max_run_time == 1234, "Expected 1234: %d\n", max_run_time);
+
+ /* Verify that time can be set to zero */
+ max_run_time = 1;
+ hres = ITask_SetMaxRunTime(test_task, 0);
+ todo_wine ok(hres == S_OK, "Failed to set max runtime: 0x%08x\n", hres);
+ hres = ITask_GetMaxRunTime(test_task, &max_run_time);
+ todo_wine ok(hres == S_OK, "Failed to get max runtime: 0x%08x\n", hres);
+ todo_wine ok(max_run_time == 0, "Expected 0: %d\n", max_run_time);
+
+ /* Check resolution by setting time to one */
+ max_run_time = 0;
+ hres = ITask_SetMaxRunTime(test_task, 1);
+ todo_wine ok(hres == S_OK, "Failed to set max runtime: 0x%08x\n", hres);
+ hres = ITask_GetMaxRunTime(test_task, &max_run_time);
+ todo_wine ok(hres == S_OK, "Failed to get max runtime: 0x%08x\n", hres);
+ todo_wine ok(max_run_time == 1, "Expected 1: %d\n", max_run_time);
+
+ /* Verify that time can be set to INFINITE */
+ max_run_time = 0;
+ hres = ITask_SetMaxRunTime(test_task, INFINITE);
+ todo_wine ok(hres == S_OK, "Failed to set max runtime: 0x%08x\n", hres);
+ hres = ITask_GetMaxRunTime(test_task, &max_run_time);
+ todo_wine ok(hres == S_OK, "Failed to get max runtime: 0x%08x\n", hres);
+ todo_wine ok(max_run_time == INFINITE, "Expected INFINITE: %d\n", max_run_time);
+
+ cleanup_task();
+ return;
+}
+
START_TEST(task)
{
CoInitialize(NULL);
@@ -377,5 +434,6 @@
test_CreateTrigger();
test_SetParameters_GetParameters();
test_SetComment_GetComment();
+ test_SetMaxRunTime_GetMaxRunTime();
CoUninitialize();
}