ringbuffer_extend() for adding extra space to the last added entry
[nobug.git] / tests / 30resource.tests
blobcdd750a64e682bc06fe993b38c3956145bd799b5
2 TESTING "resource tracker" ./test_nobug_resources_mt_alpha
5 TEST "resource tracker, announce->forget, multithreading/alpha" resources_announce_forget <<END
6 err: RESOURCE_ANNOUNCE: .*: type1: test1@
7 err: RESOURCE_FORGET: .*: type1: test1@
8 END
10 TEST "resource tracker, enter exclusive->leave, multithreading/alpha"  resources_enter_exclusive_leave <<END
11 err: RESOURCE_ANNOUNCE: .*: type1: test1@
12 err: RESOURCE_ENTER: .*: type1: test1@.*: user1: exclusive
13 err: RESOURCE_LEAVE: .*: type1: test1@.*: user1: exclusive
14 err: RESOURCE_DUMP: .*: .* type1:test1: hold by 0 entities:
15 err: RESOURCE_FORGET: .*: type1: test1@
16 END
19 TEST "resource tracker, enter waiting->leave, multithreading/alpha"  resources_enter_waiting_leave <<END
20 err: RESOURCE_ANNOUNCE: .*: type1: test1@
21 err: RESOURCE_ENTER: .*: type1: test1@.*: user1: waiting
22 err: RESOURCE_LEAVE: .*: type1: test1@.*: user1: waiting
23 err: RESOURCE_DUMP: .*: .* type1:test1: hold by 0 entities:
24 err: RESOURCE_FORGET: .*: type1: test1@
25 END
28 TEST "resource tracker, enter recursive->leave, multithreading/alpha"  resources_enter_recursive_leave <<END
29 err: RESOURCE_ANNOUNCE: .*: type1: test1@
30 err: RESOURCE_ENTER: .*: type1: test1@.*: user1: recursive
31 err: RESOURCE_LEAVE: .*: type1: test1@.*: user1: recursive
32 err: RESOURCE_DUMP: .*: .* type1:test1: hold by 0 entities:
33 err: RESOURCE_FORGET: .*: type1: test1@
34 END
37 TEST "resource tracker, enter exclusive->leave twice, multithreading/alpha"  resources_enter_exclusive_leave2 <<END
38 err: RESOURCE_ANNOUNCE: .*: type1: test1@
39 err: RESOURCE_ENTER: .*: type1: test1@.*: user1: exclusive
40 err: RESOURCE_LEAVE: .*: type1: test1@.*: user1: exclusive
41 err: RESOURCE_LEAVE:
42 err: RESOURCE_ASSERT_LEAVE: .*: no handle
43 err: RESOURCE_DUMP: .* type1:test1: hold by 0 entities:
44 err: BACKTRACE:|.*
45 return: !0
46 END
49 TEST "resource tracker, enter waiting->leave twice, multithreading/alpha"  resources_enter_waiting_leave2 <<END
50 err: RESOURCE_ANNOUNCE: .*: type1: test1@
51 err: RESOURCE_ENTER: .*: type1: test1@.*: user1: waiting
52 err: RESOURCE_LEAVE: .*: type1: test1@.*: user1: waiting
53 err: RESOURCE_LEAVE:
54 err: RESOURCE_ASSERT_LEAVE: .*: no handle
55 err: RESOURCE_DUMP: .* type1:test1: hold by 0 entities:
56 err: BACKTRACE:|.*
57 return: !0
58 END
60 TEST "resource tracker, enter recursive->leave twice, multithreading/alpha"  resources_enter_recursive_leave2 <<END
61 err: RESOURCE_ANNOUNCE: .*: type1: test1@
62 err: RESOURCE_ENTER: .*: type1: test1@.*: user1: recursive
63 err: RESOURCE_LEAVE: .*: type1: test1@.*: user1: recursive
64 err: RESOURCE_LEAVE:
65 err: RESOURCE_ASSERT_LEAVE: .*: .*: no handle
66 err: RESOURCE_DUMP: .* type1:test1: hold by 0 entities:
67 err: BACKTRACE:|.*
68 return: !0
69 END
71 TEST "resource tracker, enter exclusive->no leave, multithreading/alpha"  resources_enter_exclusive <<END
72 err: RESOURCE_ANNOUNCE: .*: type1: test1@
73 err: RESOURCE_ENTER: .*: type1: test1@.*: user1: exclusive
74 err: RESOURCE_DUMP: .*: .* type1:test1: hold by 1 entities:
75 err: RESOURCE_DUMP: .*:        .*: user1 thread_1: exclusive
76 err: RESOURCE_FORGET: .*: type1: test1@
77 err: RESOURCE_ASSERT_FORGET: .*: type1: test1@.*: still in use
78 err: RESOURCE_DUMP: .*: .* type1:test1: hold by 1 entities:
79 err: RESOURCE_DUMP: .*:        .*: user1 thread_1: exclusive
80 err: BACKTRACE:|.*
81 return: !0
82 END
84 TEST "resource tracker, enter recursive->no leave, multithreading/alpha"  resources_enter_waiting <<END
85 err: RESOURCE_ANNOUNCE: .*: type1: test1@
86 err: RESOURCE_ENTER: .*: type1: test1@.*: user1: waiting
87 err: RESOURCE_DUMP: .*: .* type1:test1: hold by 1 entities:
88 err: RESOURCE_DUMP: .*:        .*: user1 thread_1:.* waiting
89 err: RESOURCE_FORGET: .*: type1: test1@
90 err: RESOURCE_ASSERT_FORGET: .*: still in use
91 err: RESOURCE_DUMP: .*: .* type1:test1: hold by 1 entities:
92 err: RESOURCE_DUMP: .*:        .*: user1 thread_1:.* waiting
93 err: BACKTRACE:|.*
94 return: !0
95 END
97 TEST "resource tracker, enter recursive->no leave, multithreading/alpha"  resources_enter_recursive <<END
98 err: RESOURCE_ANNOUNCE: .*: type1: test1@
99 err: RESOURCE_ENTER: .*: type1: test1@.*: user1: recursive
100 err: RESOURCE_DUMP: .*: .* type1:test1: hold by 1 entities:
101 err: RESOURCE_DUMP: .*:        .*: user1 thread_1:.* recursive
102 err: RESOURCE_FORGET: .*: type1: test1@
103 err: RESOURCE_ASSERT_FORGET: .*: still in use
104 err: RESOURCE_DUMP: .*: .* type1:test1: hold by 1 entities:
105 err: RESOURCE_DUMP: .*:        .*: user1 thread_1:.* recursive
106 err: BACKTRACE:|.*
107 return: !0
110 TEST "resource tracker, state exclusive, multithreading->alpha" resources_state_exclusive <<END
111 err: RESOURCE_ANNOUNCE: .*: type1: test1@
112 err: RESOURCE_STATE: .*: invalid->exclusive
113 err: RESOURCE_ASSERT_STATE: .*: no user handle
114 err: RESOURCE_DUMP: .* type1:test1: hold by 0 entities:
115 err: BACKTRACE:|.*
116 return: !0
119 TEST "resource tracker, state waiting, multithreading/alpha"  resources_state_waiting <<END
120 err: RESOURCE_ANNOUNCE: .*: type1: test1@
121 err: RESOURCE_STATE: .*: invalid->waiting
122 err: RESOURCE_ASSERT_STATE: .*: no user handle
123 err: RESOURCE_DUMP: .* type1:test1: hold by 0 entities:
124 err: BACKTRACE:|.*
125 return: !0
128 TEST "resource tracker, state recursive, multithreading/alpha"  resources_state_recursive <<END
129 err: RESOURCE_ANNOUNCE: .*: type1: test1@
130 err: RESOURCE_STATE: .*: invalid->recursive
131 err: RESOURCE_ASSERT_STATE: .*: no user handle
132 err: RESOURCE_DUMP: .* type1:test1: hold by 0 entities:
133 err: BACKTRACE:|.*
134 return: !0
138 TEST "resource tracker, enter waiting->state exclusive, multithreading/alpha"  resources_enter_waiting_state_exclusive <<END
139 err: RESOURCE_ANNOUNCE: .*: type1: test1@
140 err: RESOURCE_ENTER: .*: type1: test1@.*: user1: waiting
141 err: RESOURCE_STATE: .*: type1: test1@.*: user1: waiting->exclusive
142 err: RESOURCE_LEAVE: .*: type1: test1@.*: user1: exclusive
143 err: RESOURCE_DUMP: .*: .* type1:test1: hold by 0 entities:
144 err: RESOURCE_FORGET: .*: type1: test1@
148 TEST "resource tracker, enter waiting->state recursive, multithreading/alpha"  resources_enter_waiting_state_recursive <<END
149 err: RESOURCE_ANNOUNCE: .*: type1: test1@
150 err: RESOURCE_ENTER: .*: type1: test1@.*: user1: waiting
151 err: RESOURCE_STATE: .*: type1: test1@.*: user1: waiting->recursive
152 err: RESOURCE_LEAVE: .*: type1: test1@.*: user1: recursive
153 err: RESOURCE_DUMP: .*: .* type1:test1: hold by 0 entities:
154 err: RESOURCE_FORGET: .*: type1: test1@
158 TEST "resource tracker, enter waiting->enter waiting, multithreading/alpha"  resources_enter_waiting_enter_waiting <<END
159 err: RESOURCE_ANNOUNCE: .*: type1: test1@
160 err: RESOURCE_ENTER: .*: type1: test1@.*: user1: waiting$
161 err: RESOURCE_LEAVE: .*: type1: test1@.*: user1: waiting$
162 err: RESOURCE_DUMP: .*: .* type1:test1: hold by 0 entities:
163 err: RESOURCE_FORGET: .*: type1: test1@
167 TEST "resource tracker, enter waiting->enter recursive, multithreading/alpha" resources_enter_waiting_enter_recursive <<END
168 err: RESOURCE_ANNOUNCE: .*: type1: test1@
169 err: RESOURCE_ENTER: .*: type1: test1@.*: user1: waiting
170 err: RESOURCE_ENTER: .*: type1: test1@.*: user1: recursive
171 err: RESOURCE_LEAVE: .*: type1: test1@.*: user1: waiting
172 err: RESOURCE_LEAVE: .*: type1: test1@.*: user1: recursive
173 err: RESOURCE_FORGET: .*: type1: test1@
177 TEST "resource tracker, enter waiting->enter exclusive, multithreading/alpha" resources_enter_waiting_enter_exclusive <<END
178 err: RESOURCE_ANNOUNCE: .*: type1: test1@
179 err: RESOURCE_ENTER: .*: type1: test1@.*: user1: waiting
180 err: RESOURCE_ENTER: .*: type1: test1@.*: user1: exclusive
181 err: RESOURCE_LEAVE: .*: type1: test1@.*: user1: waiting
182 err: RESOURCE_LEAVE: .*: type1: test1@.*: user1: exclusive
183 err: RESOURCE_FORGET: .*: type1: test1@
187 TEST "resource tracker, enter exclusive->state waiting, multithreading/alpha"  resources_enter_exclusive_state_waiting <<END
188 err: RESOURCE_ANNOUNCE: .*: type1: test1@
189 err: RESOURCE_ENTER: .*: type1: test1@.*: user1: exclusive
190 err: RESOURCE_STATE: .*: type1: test1@.*: user1: exclusive->waiting$
191 err: RESOURCE_LEAVE: .*: type1: test1@.*: user1: waiting
192 err: RESOURCE_FORGET: .*: type1: test1@
196 TEST "resource tracker, enter exclusive->state recursive, multithreading/alpha"  resources_enter_exclusive_state_recursive <<END
197 err: RESOURCE_ANNOUNCE: .*: type1: test1@
198 err: RESOURCE_ENTER: .*: type1: test1@.*: user1: exclusive
199 err: RESOURCE_STATE: .*: type1: test1@.*: user1: exclusive->recursive$
200 err: RESOURCE_ASSERT_STATE: .*: type1: test1@.*: user1: exclusive->recursive: invalid state transistion
201 err: RESOURCE_DUMP: .* type1:test1: hold by 1 entities:
202 err: RESOURCE_DUMP: .*:        .*: user1 thread_1:.* exclusive
203 err: BACKTRACE:|.*
204 return: !0
208 TEST "resource tracker, enter exclusive->state exclusive, multithreading/alpha"  resources_enter_exclusive_state_exclusive <<END
209 err: RESOURCE_ANNOUNCE: .*: type1: test1@
210 err: RESOURCE_ENTER: .*: type1: test1@.*: user1: exclusive
211 err: RESOURCE_STATE: .*: type1: test1@.*: user1: exclusive->exclusive$
212 err: RESOURCE_ASSERT_STATE: .*: type1: test1@.*: user1: exclusive->exclusive: invalid state transistion
213 err: RESOURCE_DUMP: .* type1:test1: hold by 1 entities:
214 err: RESOURCE_DUMP: .*:        .*: user1 thread_1:.* exclusive
215 err: BACKTRACE:|.*
216 return: !0
220 TEST "resource tracker, enter exclusive->enter waiting, multithreading/alpha"  resources_enter_exclusive_enter_waiting <<END
221 err: RESOURCE_ANNOUNCE: .*: type1: test1@
222 err: RESOURCE_ENTER: .*: type1: test1@.*: user1: exclusive
223 err: RESOURCE_ENTER: .*: type1: test1@.*: user1: waiting
224 err: RESOURCE_LEAVE: .*: type1: test1@.*: user1: exclusive
225 err: RESOURCE_LEAVE: .*: type1: test1@.*: user1: waiting
226 err: RESOURCE_FORGET: .*: type1: test1@
230 TEST "resource tracker, enter exclusive->enter recursive, multithreading/alpha"  resources_enter_exclusive_enter_recursive <<END
231 err: RESOURCE_ANNOUNCE: .*: type1: test1@
232 err: RESOURCE_ENTER: .*: type1: test1@.*: user1: exclusive
233 err: RESOURCE_ENTER: .*: type1: test1@.*: user1: recursive
234 err: RESOURCE_ASSERT_ENTER: .*: type1: test1@.*: user1: recursive: invalid enter state
235 err: RESOURCE_DUMP: .* type1:test1: hold by 1 entities:
236 err: RESOURCE_DUMP: .*:        .*: user1 thread_1:.* exclusive
237 err: BACKTRACE:|.*
238 return: !0
241 TEST "resource tracker, enter exclusive->enter exclusive, multithreading/alpha"  resources_enter_exclusive_enter_exclusive <<END
242 err: RESOURCE_ANNOUNCE: .*: type1: test1@
243 err: RESOURCE_ENTER: .*: type1: test1@.*: user1: exclusive$
244 err: RESOURCE_ASSERT_ENTER: .*: type1: test1@.*: user1: exclusive: invalid enter state
245 err: RESOURCE_DUMP: .* type1:test1: hold by 1 entities:
246 err: RESOURCE_DUMP: .*:        .*: user1 thread_1:.* exclusive
247 err: BACKTRACE:|.*
248 return: !0
252 TEST "resource tracker, enter recursive->state waiting, multithreading/alpha"  resources_enter_recursive_state_waiting <<END
253 err: RESOURCE_ANNOUNCE: .*: type1: test1@
254 err: RESOURCE_ENTER: .*: type1: test1@.*: user1: recursive$
255 err: RESOURCE_STATE: .*: type1: test1@.*: user1: recursive->waiting$
256 err: RESOURCE_LEAVE: .*: type1: test1@.*: user1: waiting$
257 err: RESOURCE_FORGET: .*: type1: test1@
260 TEST "resource tracker, enter recursive->state recursive, multithreading/alpha" resources_enter_recursive_state_recursive <<END
261 err: RESOURCE_ANNOUNCE: .*: type1: test1@
262 err: RESOURCE_ENTER: .*: type1: test1@.*: user1: recursive$
263 err: RESOURCE_STATE: .*: type1: test1@.*: user1: recursive->recursive$
264 err: RESOURCE_ASSERT_STATE: .*: type1: test1@.*: user1: recursive->recursive: invalid state transistion
265 err: RESOURCE_DUMP: .* type1:test1: hold by 1 entities:
266 err: RESOURCE_DUMP: .*:        .*: user1 thread_1:.* recursive
267 err: BACKTRACE:|.*
268 return: !0
271 TEST "resource tracker, enter recursive->state exclusive, multithreading/alpha"  resources_enter_recursive_state_exclusive <<END
272 err: RESOURCE_ANNOUNCE: .*: type1: test1@
273 err: RESOURCE_ENTER: .*: type1: test1@.*: user1: recursive$
274 err: RESOURCE_STATE: .*: type1: test1@.*: user1: recursive->exclusive$
275 err: RESOURCE_ASSERT_STATE: .*: type1: test1@.*: user1: recursive->exclusive: invalid state transistion
276 err: RESOURCE_DUMP: .* type1:test1: hold by 1 entities:
277 err: RESOURCE_DUMP: .*:        .*: user1 thread_1:.* recursive
278 err: BACKTRACE:|.*
279 return: !0
284 TEST "resource tracker, enter recursive->enter waiting, multithreading/alpha"  resources_enter_recursive_enter_waiting <<END
285 err: RESOURCE_ANNOUNCE: .*: type1: test1@
286 err: RESOURCE_ENTER: .*: type1: test1@.*: user1: recursive
287 err: RESOURCE_ENTER: .*: type1: test1@.*: user1: waiting
288 err: RESOURCE_LEAVE: .*: type1: test1@.*: user1: recursive
289 err: RESOURCE_LEAVE: .*: type1: test1@.*: user1: waiting
290 err: RESOURCE_DUMP: .* type1:test1: hold by 0 entities:
291 err: RESOURCE_FORGET: .*: type1: test1@
295 TEST "resource tracker, enter recursive->enter exclusive, multithreading/alpha" resources_enter_recursive_enter_exclusive <<END
296 err: RESOURCE_ANNOUNCE: .*: type1: test1@
297 err: RESOURCE_ENTER: .*: type1: test1@.*: user1: recursive
298 err: RESOURCE_ENTER: .*: type1: test1@.*: user1: exclusive$
299 err: RESOURCE_ASSERT_ENTER: .*: type1: test1@.*: user1: exclusive: invalid enter state
300 err: RESOURCE_DUMP: .* type1:test1: hold by 1 entities:
301 err: RESOURCE_DUMP: .*:        .*: user1 thread_1:.* recursive
302 err: BACKTRACE:|.*
303 return: !0