1 // SPDX-License-Identifier: LGPL-2.1-or-later
3 * This file is part of the PCEPlib, a PCEP protocol library.
5 * Copyright (C) 2020 Volta Networks https://voltanet.io/
7 * Author : Brady Johnson <brady@voltanet.io>
17 #include <CUnit/CUnit.h>
19 #include "pcep_timers.h"
20 #include "pcep_timers_test.h"
22 /* Test case teardown called after each test.
23 * Declared in pcep_timers_tests.c */
24 void pcep_timers_test_teardown()
29 static void test_timer_expire_handler(void *data
, int timerId
)
36 void test_double_initialization(void)
38 CU_ASSERT_EQUAL(initialize_timers(test_timer_expire_handler
), true);
39 CU_ASSERT_EQUAL(initialize_timers(test_timer_expire_handler
), false);
43 void test_initialization_null_callback(void)
45 CU_ASSERT_EQUAL(initialize_timers(NULL
), false);
49 void test_not_initialized(void)
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);
59 void test_create_timer(void)
61 CU_ASSERT_EQUAL(initialize_timers(test_timer_expire_handler
), true);
63 int timer_id
= create_timer(0, NULL
);
64 CU_ASSERT_TRUE(timer_id
> -1);
68 void test_cancel_timer(void)
70 CU_ASSERT_EQUAL(initialize_timers(test_timer_expire_handler
), true);
72 int timer_id
= create_timer(10, NULL
);
73 CU_ASSERT_TRUE(timer_id
> -1);
75 CU_ASSERT_EQUAL(cancel_timer(timer_id
), true);
79 void test_cancel_timer_invalid(void)
81 CU_ASSERT_EQUAL(initialize_timers(test_timer_expire_handler
), true);
82 CU_ASSERT_EQUAL(cancel_timer(1), false);
86 void test_reset_timer(void)
88 CU_ASSERT_EQUAL(initialize_timers(test_timer_expire_handler
), true);
90 int timer_id
= create_timer(10, NULL
);
91 CU_ASSERT_TRUE(timer_id
> -1);
93 CU_ASSERT_EQUAL(reset_timer(timer_id
), true);
97 void test_reset_timer_invalid(void)
99 CU_ASSERT_EQUAL(initialize_timers(test_timer_expire_handler
), true);
100 CU_ASSERT_EQUAL(reset_timer(1), false);