| 225 | } |
| 226 | |
| 227 | static 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 | |
| 259 | static void test_cronAbort() { |
| 260 | // reset X = 1 |
nothing calls this directly
no test coverage detected