MCPcopy Create free account
hub / github.com/RedisGraph/RedisGraph / test_cronExec

Function test_cronExec

tests/unit/test_cron.c:227–257  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

225}
226
227static void test_cronExec() {
228 // Add two tasks to CRON
229 // one adds 2 to X
230 // second multiply X by 2
231
232 X = 1;
233 int Y = 2;
234 int Z = 2;
235
236 // Introduce tasks
237 // X = 1.
238 // X *= Y, X = 2
239 // X += Z, X = 4
240 // if CRON executes the tasks in the wrong order
241 // X += Z, X = 3
242 // X *= Y, X = 6
243 AddTaskData add_task_data = _AddTaskData_New(add_task, (void *)&Z);
244 AddTaskData mul_task_data = _AddTaskData_New(mul_task, (void *)&Y);
245
246 Cron_AddTask(15, _AddTaskData_Execute, NULL, &add_task_data);
247 Cron_AddTask(5, _AddTaskData_Execute, NULL, &mul_task_data);
248
249 _AddTaskData_Wait(add_task_data);
250 _AddTaskData_Wait(mul_task_data);
251
252 _AddTaskData_Free(add_task_data);
253 _AddTaskData_Free(mul_task_data);
254
255 // verify X = (X * 2) + 2
256 TEST_ASSERT(X == 4);
257}
258
259static void test_cronAbort() {
260 // reset X = 1

Callers

nothing calls this directly

Calls 4

_AddTaskData_NewFunction · 0.85
Cron_AddTaskFunction · 0.85
_AddTaskData_WaitFunction · 0.85
_AddTaskData_FreeFunction · 0.85

Tested by

no test coverage detected