1 /*
2  * Copyright (c) 2018 Intel Corporation
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
7 #include <ztest.h>
8 #include <pthread.h>
9 
10 extern void test_posix_clock(void);
11 extern void test_posix_mqueue(void);
12 extern void test_posix_normal_mutex(void);
13 extern void test_posix_recursive_mutex(void);
14 extern void test_posix_semaphore(void);
15 extern void test_posix_rw_lock(void);
16 extern void test_posix_realtime(void);
17 extern void test_posix_timer(void);
18 extern void test_posix_pthread_execution(void);
19 extern void test_posix_pthread_error_condition(void);
20 extern void test_posix_pthread_create_negative(void);
21 extern void test_posix_pthread_termination(void);
22 extern void test_posix_multiple_threads_single_key(void);
23 extern void test_posix_single_thread_multiple_keys(void);
24 extern void test_pthread_descriptor_leak(void);
25 extern void test_nanosleep_NULL_NULL(void);
26 extern void test_nanosleep_NULL_notNULL(void);
27 extern void test_nanosleep_notNULL_NULL(void);
28 extern void test_nanosleep_notNULL_notNULL(void);
29 extern void test_nanosleep_req_is_rem(void);
30 extern void test_nanosleep_n1_0(void);
31 extern void test_nanosleep_0_n1(void);
32 extern void test_nanosleep_n1_n1(void);
33 extern void test_nanosleep_0_1(void);
34 extern void test_nanosleep_0_1001(void);
35 extern void test_nanosleep_0_1000000000(void);
36 extern void test_nanosleep_0_500000000(void);
37 extern void test_nanosleep_1_0(void);
38 extern void test_nanosleep_1_1(void);
39 extern void test_nanosleep_1_1001(void);
40 extern void test_sleep(void);
41 extern void test_usleep(void);
42 extern void test_sched_policy(void);
43 
test_main(void)44 void test_main(void)
45 {
46 	ztest_test_suite(posix_apis,
47 			ztest_unit_test(test_posix_pthread_execution),
48 			ztest_unit_test(test_posix_pthread_error_condition),
49 			ztest_unit_test(test_posix_pthread_termination),
50 			ztest_unit_test(test_posix_multiple_threads_single_key),
51 			ztest_unit_test(test_posix_single_thread_multiple_keys),
52 			ztest_unit_test(test_pthread_descriptor_leak),
53 			ztest_unit_test(test_posix_clock),
54 			ztest_unit_test(test_posix_semaphore),
55 			ztest_unit_test(test_posix_normal_mutex),
56 			ztest_unit_test(test_posix_recursive_mutex),
57 			ztest_unit_test(test_posix_mqueue),
58 			ztest_unit_test(test_posix_realtime),
59 			ztest_unit_test(test_posix_timer),
60 			ztest_unit_test(test_posix_rw_lock),
61 			ztest_unit_test(test_nanosleep_NULL_NULL),
62 			ztest_unit_test(test_nanosleep_NULL_notNULL),
63 			ztest_unit_test(test_nanosleep_notNULL_NULL),
64 			ztest_unit_test(test_nanosleep_notNULL_notNULL),
65 			ztest_unit_test(test_nanosleep_req_is_rem),
66 			ztest_unit_test(test_nanosleep_n1_0),
67 			ztest_unit_test(test_nanosleep_0_n1),
68 			ztest_unit_test(test_nanosleep_n1_n1),
69 			ztest_unit_test(test_nanosleep_0_1),
70 			ztest_unit_test(test_nanosleep_0_1001),
71 			ztest_unit_test(test_nanosleep_0_500000000),
72 			ztest_unit_test(test_nanosleep_1_0),
73 			ztest_unit_test(test_nanosleep_1_1),
74 			ztest_unit_test(test_nanosleep_1_1001),
75 			ztest_unit_test(test_posix_pthread_create_negative),
76 			ztest_unit_test(test_sleep),
77 			ztest_unit_test(test_usleep),
78 			ztest_unit_test(test_sched_policy)
79 			);
80 	ztest_run_test_suite(posix_apis);
81 }
82