]> git.proxmox.com Git - mirror_frr.git/blob - pceplib/test/pcep_timers_test.c
Merge pull request #12805 from karlquan/kquan_self_orig
[mirror_frr.git] / pceplib / test / pcep_timers_test.c
1 // SPDX-License-Identifier: LGPL-2.1-or-later
2 /*
3 * This file is part of the PCEPlib, a PCEP protocol library.
4 *
5 * Copyright (C) 2020 Volta Networks https://voltanet.io/
6 *
7 * Author : Brady Johnson <brady@voltanet.io>
8 *
9 */
10
11
12 #ifdef HAVE_CONFIG_H
13 #include "config.h"
14 #endif
15
16 #include <stdbool.h>
17 #include <CUnit/CUnit.h>
18
19 #include "pcep_timers.h"
20 #include "pcep_timers_test.h"
21
22 /* Test case teardown called after each test.
23 * Declared in pcep_timers_tests.c */
24 void pcep_timers_test_teardown()
25 {
26 teardown_timers();
27 }
28
29 static void test_timer_expire_handler(void *data, int timerId)
30 {
31 (void)data;
32 (void)timerId;
33 }
34
35
36 void test_double_initialization(void)
37 {
38 CU_ASSERT_EQUAL(initialize_timers(test_timer_expire_handler), true);
39 CU_ASSERT_EQUAL(initialize_timers(test_timer_expire_handler), false);
40 }
41
42
43 void test_initialization_null_callback(void)
44 {
45 CU_ASSERT_EQUAL(initialize_timers(NULL), false);
46 }
47
48
49 void test_not_initialized(void)
50 {
51 /* All of these should fail if initialize_timers() hasnt been called */
52 CU_ASSERT_EQUAL(create_timer(5, NULL), -1);
53 CU_ASSERT_EQUAL(cancel_timer(7), false);
54 CU_ASSERT_EQUAL(reset_timer(7), false);
55 CU_ASSERT_EQUAL(teardown_timers(), false);
56 }
57
58
59 void test_create_timer(void)
60 {
61 CU_ASSERT_EQUAL(initialize_timers(test_timer_expire_handler), true);
62
63 int timer_id = create_timer(0, NULL);
64 CU_ASSERT_TRUE(timer_id > -1);
65 }
66
67
68 void test_cancel_timer(void)
69 {
70 CU_ASSERT_EQUAL(initialize_timers(test_timer_expire_handler), true);
71
72 int timer_id = create_timer(10, NULL);
73 CU_ASSERT_TRUE(timer_id > -1);
74
75 CU_ASSERT_EQUAL(cancel_timer(timer_id), true);
76 }
77
78
79 void test_cancel_timer_invalid(void)
80 {
81 CU_ASSERT_EQUAL(initialize_timers(test_timer_expire_handler), true);
82 CU_ASSERT_EQUAL(cancel_timer(1), false);
83 }
84
85
86 void test_reset_timer(void)
87 {
88 CU_ASSERT_EQUAL(initialize_timers(test_timer_expire_handler), true);
89
90 int timer_id = create_timer(10, NULL);
91 CU_ASSERT_TRUE(timer_id > -1);
92
93 CU_ASSERT_EQUAL(reset_timer(timer_id), true);
94 }
95
96
97 void test_reset_timer_invalid(void)
98 {
99 CU_ASSERT_EQUAL(initialize_timers(test_timer_expire_handler), true);
100 CU_ASSERT_EQUAL(reset_timer(1), false);
101 }