|
@@ -57,6 +57,8 @@ test_return_t gearman_execute_test(void *object)
|
|
|
|
|
|
test_true_got(task= gearman_execute(client, gearman_c_str_param(worker_function), NULL, 0, NULL, &value), gearman_client_error(client));
|
|
|
test_compare(gearman_literal_param_size("test load"), gearman_result_size(gearman_task_result(task)));
|
|
|
+ test_false(gearman_task_is_known(task));
|
|
|
+ test_false(gearman_task_is_running(task));
|
|
|
|
|
|
gearman_task_free(task);
|
|
|
|
|
@@ -74,6 +76,8 @@ test_return_t gearman_execute_fail_test(void *object)
|
|
|
|
|
|
test_true_got(task= gearman_execute(client, gearman_c_str_param(worker_function), NULL, 0, NULL, &value), gearman_client_error(client));
|
|
|
test_compare_got(GEARMAN_WORK_FAIL, gearman_task_error(task), gearman_strerror(gearman_task_error(task)));
|
|
|
+ test_false(gearman_task_is_known(task));
|
|
|
+ test_false(gearman_task_is_running(task));
|
|
|
|
|
|
gearman_task_free(task);
|
|
|
|
|
@@ -112,6 +116,35 @@ test_return_t gearman_execute_epoch_test(void *object)
|
|
|
test_true_got(task= gearman_execute(client, gearman_c_str_param(worker_function), NULL, 0, &workload, &value), gearman_client_error(client));
|
|
|
test_truth(task);
|
|
|
test_truth(gearman_task_job_handle(task));
|
|
|
+ test_true(gearman_task_is_known(task));
|
|
|
+ test_false(gearman_task_is_running(task));
|
|
|
+ gearman_task_free(task);
|
|
|
+
|
|
|
+ return TEST_SUCCESS;
|
|
|
+}
|
|
|
+
|
|
|
+test_return_t gearman_execute_epoch_check_job_handle_test(void *object)
|
|
|
+{
|
|
|
+ gearman_client_st *client= (gearman_client_st *)object;
|
|
|
+ const char *worker_function= (const char *)gearman_client_context(client);
|
|
|
+ assert(worker_function);
|
|
|
+
|
|
|
+ gearman_work_t workload= gearman_work_epoch(time(NULL) +5, GEARMAN_JOB_PRIORITY_NORMAL);
|
|
|
+
|
|
|
+ gearman_task_st *task;
|
|
|
+ gearman_argument_t value= gearman_argument_make(gearman_literal_param("test load"));
|
|
|
+ test_true_got(task= gearman_execute(client, gearman_c_str_param(worker_function), NULL, 0, &workload, &value), gearman_client_error(client));
|
|
|
+
|
|
|
+ test_truth(task);
|
|
|
+ test_truth(gearman_task_job_handle(task));
|
|
|
+
|
|
|
+ gearman_return_t rc;
|
|
|
+ bool is_known;
|
|
|
+ do {
|
|
|
+ rc= gearman_client_job_status(client, gearman_task_job_handle(task), &is_known, NULL, NULL, NULL);
|
|
|
+ } while (gearman_continue(rc) or is_known);
|
|
|
+ test_compare(GEARMAN_SUCCESS, rc);
|
|
|
+
|
|
|
gearman_task_free(task);
|
|
|
|
|
|
return TEST_SUCCESS;
|