Fixed xUnit output durations
[platform/upstream/cmocka.git] / test_ordering_fail.c
1 #include "config.h"
2
3 #include <stdarg.h>
4 #include <stddef.h>
5 #include <setjmp.h>
6 #include <cmocka.h>
7 #include <cmocka_private.h>
8
9 static void mock_test_a_called(void)
10 {
11     function_called();
12 }
13
14 static void mock_test_b_called(void)
15 {
16     function_called();
17 }
18
19 static void mock_test_c_called(void)
20 {
21     function_called();
22 }
23
24 static void test_does_fail_for_unexpected_call(void **state)
25 {
26     (void)state;
27     expect_function_call(mock_test_a_called);
28     expect_function_call(mock_test_a_called);
29
30     mock_test_a_called();
31     mock_test_a_called();
32     mock_test_a_called();
33 }
34
35 static void test_does_fail_for_unmade_expected_call(void **state)
36 {
37     (void)state;
38     expect_function_call(mock_test_a_called);
39     expect_function_call(mock_test_a_called);
40
41     mock_test_a_called();
42 }
43
44 static void test_ordering_fails_out_of_order(void **state)
45 {
46     (void)state;
47     expect_function_call(mock_test_a_called);
48     expect_function_call(mock_test_b_called);
49     expect_function_call(mock_test_a_called);
50
51     mock_test_b_called();
52 }
53
54 static void test_ordering_fails_out_of_order_for_at_least_once_calls(void **state)
55 {
56     (void)state;
57     expect_function_call_any(mock_test_a_called);
58     ignore_function_calls(mock_test_b_called);
59
60     mock_test_b_called();
61     mock_test_c_called();
62 }
63
64 /* Primarily used to test error message */
65 static void test_fails_out_of_order_if_no_calls_found_on_any(void **state)
66 {
67     (void)state;
68     expect_function_call_any(mock_test_a_called);
69     ignore_function_calls(mock_test_b_called);
70
71     mock_test_a_called();
72     mock_test_c_called();
73 }
74
75 static void test_fails_if_zero_count_used(void **state)
76 {
77     (void)state;
78     expect_function_calls(mock_test_a_called, 0);
79
80     mock_test_a_called();
81 }
82
83 int main(void) {
84     const struct CMUnitTest tests[] = {
85         cmocka_unit_test(test_does_fail_for_unexpected_call)
86         ,cmocka_unit_test(test_does_fail_for_unmade_expected_call)
87         ,cmocka_unit_test(test_does_fail_for_unmade_expected_call)
88         ,cmocka_unit_test(test_ordering_fails_out_of_order)
89         ,cmocka_unit_test(test_ordering_fails_out_of_order_for_at_least_once_calls)
90         ,cmocka_unit_test(test_fails_out_of_order_if_no_calls_found_on_any)
91         ,cmocka_unit_test(test_fails_if_zero_count_used)
92     };
93
94     return cmocka_run_group_tests(tests, NULL, NULL);
95 }