This source file includes following definitions.
- assert_recheck
- null_scheduler
- too_early
- first_time
- earlier_time
- later_time
1
2
3
4
5
6
7
8
9
10 #include <crm_internal.h>
11
12 #include <stdio.h>
13 #include <sys/types.h>
14
15 #include <crm/common/scheduler.h>
16 #include <crm/common/scheduler_internal.h>
17 #include <crm/common/unittest_internal.h>
18
19 static void
20 assert_recheck(time_t now_time, time_t orig_time, time_t update_time,
21 time_t expected_time, const char *reason)
22 {
23 pcmk_scheduler_t *scheduler = pcmk_new_scheduler();
24
25 scheduler->priv->now = pcmk__copy_timet(now_time);
26 scheduler->priv->recheck_by = orig_time;
27 pcmk__update_recheck_time(update_time, scheduler, reason);
28 assert_int_equal(scheduler->priv->recheck_by, expected_time);
29 pcmk_free_scheduler(scheduler);
30 }
31
32
33 static void
34 null_scheduler(void **state)
35 {
36 pcmk__assert_asserts(pcmk__update_recheck_time(0, NULL, "reasons"));
37 }
38
39
40 static void
41 too_early(void **state)
42 {
43
44 assert_recheck(1423548000, 0, 1423547900, 0, NULL);
45 assert_recheck(1423548000, 0, 1423548000, 0, NULL);
46
47
48 assert_recheck(1423548000, 1423548100, 1423547900, 1423548100, NULL);
49 assert_recheck(1423548000, 1423548100, 1423548000, 1423548100, NULL);
50 }
51
52
53 static void
54 first_time(void **state)
55 {
56
57 assert_recheck(1423548000, 0, 1423548100, 1423548100, NULL);
58 }
59
60
61 static void
62 earlier_time(void **state)
63 {
64 assert_recheck(1423548000, 1423548500, 1423548200, 1423548200, "reasons");
65 }
66
67
68 static void
69 later_time(void **state)
70 {
71 assert_recheck(1423548000, 1423548500, 1423548600, 1423548500, "reasons");
72 }
73
74 PCMK__UNIT_TEST(NULL, NULL,
75 cmocka_unit_test(null_scheduler),
76 cmocka_unit_test(too_early),
77 cmocka_unit_test(first_time),
78 cmocka_unit_test(earlier_time),
79 cmocka_unit_test(later_time))