• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2013-2019 Huawei Technologies Co., Ltd. All rights reserved.
3  * Copyright (c) 2020-2021 Huawei Device Co., Ltd. All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without modification,
6  * are permitted provided that the following conditions are met:
7  *
8  * 1. Redistributions of source code must retain the above copyright notice, this list of
9  * conditions and the following disclaimer.
10  *
11  * 2. Redistributions in binary form must reproduce the above copyright notice, this list
12  * of conditions and the following disclaimer in the documentation and/or other materials
13  * provided with the distribution.
14  *
15  * 3. Neither the name of the copyright holder nor the names of its contributors may be used
16  * to endorse or promote products derived from this software without specific prior written
17  * permission.
18  *
19  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
21  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
23  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
24  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
25  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
26  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
27  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
28  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
29  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30  */
31 
32 #ifndef _IT_POSIX_MUTEX_H
33 #define _IT_POSIX_MUTEX_H
34 
35 #include "osTest.h"
36 #include "pthread.h"
37 #include "errno.h"
38 #include "sched.h"
39 #include "semaphore.h"
40 #include "unistd.h"
41 #include "los_task_pri.h"
42 
43 #ifdef __cplusplus
44 #if __cplusplus
45 extern "C" {
46 #endif /* __cplusplus */
47 #endif /* __cplusplus */
48 
49 #ifdef LOSCFG_DEBUG_DEADLOCK
50 #define TEST_MUTEX_INIT              \
51     {                                \
52         { 0, 0, 0, 0 },              \
53         {                            \
54             { 0, 0 }, { 0, 0 }, 0, 0 \
55         }                            \
56     }
57 #else
58 #define TEST_MUTEX_INIT    \
59     {                      \
60         { 0, 0, 0, 0 },    \
61         {                  \
62             { 0, 0 }, 0, 0 \
63         }                  \
64     }
65 #endif
66 #define MUTEX_TEST_NUM 100
67 
68 extern int g_retval;
69 extern int g_value;
70 extern int g_ctrl;
71 
72 long sysconf(int name);
73 
74 #if defined(LOSCFG_TEST_SMOKE)
75 VOID IT_FS_VNODE_001(void);
76 VOID IT_FS_NAMECACHE_001(void);
77 
78 VOID ItPosixMux001(void);
79 VOID ItPosixMux007(void);
80 VOID ItPosixMux012(void);
81 VOID ItPosixMux015(void);
82 VOID ItPosixMux016(void);
83 VOID ItPosixMux019(void);
84 VOID ItPosixMux020(void);
85 #endif
86 
87 #if defined(LOSCFG_TEST_FULL)
88 VOID ItPosixMux002(void);
89 VOID ItPosixMux003(void);
90 VOID ItPosixMux004(void);
91 VOID ItPosixMux005(void);
92 VOID ItPosixMux006(void);
93 VOID ItPosixMux008(void);
94 VOID ItPosixMux009(void);
95 VOID ItPosixMux010(void);
96 VOID ItPosixMux011(void);
97 VOID ItPosixMux013(void);
98 VOID ItPosixMux014(void);
99 VOID ItPosixMux017(void);
100 VOID ItPosixMux018(void);
101 VOID ItPosixMux021(void);
102 VOID ItPosixMux022(void);
103 VOID ItPosixMux023(void);
104 VOID ItPosixMux024(void);
105 VOID ItPosixMux025(void);
106 VOID ItPosixMux026(void);
107 VOID ItPosixMux027(void);
108 VOID ItPosixMux028(void);
109 VOID ItPosixMux029(void);
110 VOID ItPosixMux032(void);
111 VOID ItPosixMux033(void);
112 VOID ItPosixMux034(void);
113 VOID ItPosixMux035(void);
114 VOID ItPosixMux036(void);
115 VOID ItPosixMux037(void);
116 VOID ItPosixMux038(void);
117 VOID ItPosixMux039(void);
118 VOID ItPosixMux040(void);
119 VOID ItPosixMux041(void);
120 VOID ItPosixMux042(void);
121 VOID ItPosixMux043(void);
122 VOID ItPosixMux044(void);
123 VOID ItPosixMux045(void);
124 VOID ItPosixMux046(void);
125 VOID ItPosixMux047(void);
126 VOID ItPosixMux048(void);
127 VOID ItPosixMux049(void);
128 VOID ItPosixMux050(void);
129 VOID ItPosixMux054(void);
130 VOID ItPosixMux055(void);
131 VOID ItPosixMux056(void);
132 VOID ItPosixMux057(void);
133 VOID ItPosixMux058(void);
134 VOID ItPosixMux059(void);
135 VOID ItPosixMux060(void);
136 VOID ItPosixMux061(void);
137 VOID ItPosixMux062(void);
138 VOID ItPosixMux063(void);
139 VOID ItPosixMux064(void);
140 VOID ItPosixMux065(void);
141 VOID ItPosixMux066(void);
142 VOID ItPosixMux067(void);
143 VOID ItPosixMux068(void);
144 VOID ItPosixMux069(void);
145 VOID ItPosixMux070(void);
146 VOID ItPosixMux071(void);
147 VOID ItPosixMux072(void);
148 VOID ItPosixMux073(void);
149 VOID ItPosixMux074(void);
150 VOID ItPosixMux075(void);
151 VOID ItPosixMux076(void);
152 VOID ItPosixMux077(void);
153 VOID ItPosixMux078(void);
154 VOID ItPosixMux079(void);
155 VOID ItPosixMux080(void);
156 VOID ItPosixMux081(void);
157 VOID ItPosixMux082(void);
158 VOID ItPosixMux084(void);
159 VOID ItPosixMux085(void);
160 VOID ItPosixMux086(void);
161 VOID ItPosixMux087(void);
162 VOID ItPosixMux089(void);
163 VOID ItPosixMux090(void);
164 VOID ItPosixMux091(void);
165 VOID ItPosixMux092(void);
166 VOID ItPosixMux093(void);
167 VOID ItPosixMux094(void);
168 VOID ItPosixMux095(void);
169 VOID ItPosixMux097(void);
170 VOID ItPosixMux098(void);
171 VOID ItPosixMux099(void);
172 VOID ItPosixMux101(void);
173 #endif
174 
175 #if defined(LOSCFG_TEST_LLT)
176 VOID LltPosixMux001(VOID);
177 VOID LltPosixMux002(VOID);
178 VOID LltPosixMux003(VOID);
179 VOID LltPosixMux004(VOID);
180 VOID LltPosixMux005(VOID);
181 VOID ItPosixMux031(void);
182 VOID ItPosixMux083(void);
183 VOID ItPosixMux088(void);
184 VOID ItPosixMux096(void);
185 VOID ItPosixMux100(void);
186 VOID LltPosixMux006(void);
187 VOID LltPosixMux007(void);
188 #endif
189 
190 #if defined(LOSCFG_TEST_PRESSURE)
191 VOID ItPosixMux051(void);
192 VOID ItPosixMux052(void);
193 VOID ItPosixMux053(void);
194 #endif
195 
196 VOID ItSuitePosixMutex(void);
197 
198 
199 #ifdef __cplusplus
200 #if __cplusplus
201 }
202 #endif /* __cplusplus */
203 #endif /* __cplusplus */
204 
205 #endif /* _IT_POSIX_MUTEX_H */
206