145
145
return TEST_SUCCESS;
148
test_return_t coalescence_by_data_hash_TEST(void *object)
150
gearman_client_st *client_one= (gearman_client_st *)object;
151
test_true(client_one);
153
Client client_two(client_one);
155
const char* unique_handle= "#";
157
gearman_function_t sleep_return_random_worker_FN= gearman_function_create(sleep_return_random_worker);
158
std::auto_ptr<worker_handle_st> handle(test_worker_start(libtest::default_port(),
161
sleep_return_random_worker_FN,
163
gearman_worker_options_t(),
167
gearman_return_t ret;
168
gearman_task_st *first_task= gearman_client_add_task(client_one,
169
NULL, // preallocated task
171
__func__, // function
172
unique_handle, // unique
173
test_literal_param(__func__), // workload
175
test_compare(GEARMAN_SUCCESS, ret);
176
test_truth(first_task);
177
test_true(gearman_task_unique(first_task));
178
test_compare(strlen("2285535048"), strlen(gearman_task_unique(first_task)));
181
gearman_task_st *second_task= gearman_client_add_task(&client_two,
182
NULL, // preallocated task
184
__func__, // function
185
unique_handle, // unique
186
test_literal_param(__func__), // workload
188
test_compare(GEARMAN_SUCCESS, ret);
189
test_truth(second_task);
190
test_true(gearman_task_unique(second_task));
191
test_compare(strlen("2285535048"), strlen(gearman_task_unique(second_task)));
193
test_strcmp(gearman_task_unique(first_task), gearman_task_unique(second_task));
194
test_strcmp("2285535048", gearman_task_unique(second_task));
197
ret= gearman_client_run_tasks(client_one);
198
gearman_client_run_tasks(&client_two);
199
} while (gearman_continue(ret));
202
ret= gearman_client_run_tasks(&client_two);
203
} while (gearman_continue(ret));
205
gearman_result_st* first_result= gearman_task_result(first_task);
206
gearman_result_st* second_result= gearman_task_result(second_task);
208
test_compare(GEARMAN_SUCCESS, gearman_task_return(first_task));
209
test_compare(GEARMAN_SUCCESS, gearman_task_return(second_task));
211
test_compare(gearman_result_value(first_result), gearman_result_value(second_result));
213
gearman_task_free(first_task);
214
gearman_task_free(second_task);
148
219
test_return_t coalescence_by_data_TEST(void *object)
150
221
gearman_client_st *client_one= (gearman_client_st *)object;