source: asp3_wo_tecs/trunk/extension/messagebuf/test/test_messagebuf2.c@ 306

Last change on this file since 306 was 306, checked in by ertl-honda, 7 years ago

3.1.0を反映

File size: 17.8 KB
Line 
1/*
2 * TOPPERS Software
3 * Toyohashi Open Platform for Embedded Real-Time Systems
4 *
5 * Copyright (C) 2014-2016 by Embedded and Real-Time Systems Laboratory
6 * Graduate School of Information Science, Nagoya Univ., JAPAN
7 *
8 * 上記著作権者
9は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ
10 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
11 * 変・再é…
12å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
13 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
14 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
15 * スコード中に含まれていること.
16 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
17 * 用できる形で再é…
18å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é…
19å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
20 * 者
21マニュアルなど)に,上記の著作権表示,この利用条件および下記
22 * の無保証規定を掲載すること.
23 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
24 * 用できない形で再é…
25å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
26 * と.
27 * (a) 再é…
28å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€…
29マニュアルなど)に,上記の著
30 * 作権表示,この利用条件および下記の無保証規定を掲載すること.
31 * (b) 再é…
32å¸ƒã®å½¢æ…
33‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
34 * 報告すること.
35 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
36 * 害からも,上記著作権者
37およびTOPPERSプロジェクトをå…
38è²¬ã™ã‚‹ã“と.
39 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
40 * 由に基づく請求からも,上記著作権者
41およびTOPPERSプロジェクトを
42 * å…
43è²¬ã™ã‚‹ã“と.
44 *
45 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者
46お
47 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
48 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
49 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
50 * の責任を負わない.
51 *
52 * $Id: test_messagebuf2.c 738 2016-04-05 14:19:24Z ertl-hiro $
53 */
54
55/*
56 * メッセージバッファのテスト(2)
57 *
58 * 【テストの目的】
59 *
60 * FIFO順メッセージバッファの送信待
61ちタスクが,強制的に待
62ち解除された
63 * 場合を一通りテストする.
64 *
65 * 【テスト項
66目】
67 *
68 * (A) 送信待
69ちタスクが強制終了(ter_tsk)
70 * (A-1) 送信待
71ちタスクの待
72ち解除なし
73 * (A-2) 送信待
74ちタスク(1つまたは複数)が待
75ち解除(タスク切換えなし)
76 * (A-3) 送信待
77ちタスク(1つまたは複数)が待
78ち解除(タスク切換えあり)
79 * (B) 送信待
80ちタスクが強制待
81ち解除(タスクコンテキストからのrel_wai)
82 * (B-1) 送信待
83ちタスクの待
84ち解除なし
85 * (B-2) 送信待
86ちタスク(1つまたは複数)が待
87ち解除(タスク切換えなし)
88 * (B-3) 送信待
89ちタスク(1つまたは複数)が待
90ち解除(タスク切換えあり)
91 * (C) 送信待
92ちタスクが強制待
93ち解除(非タスクコンテキストからのrel_wai)
94 * (C-1) 送信待
95ちタスクの待
96ち解除なし
97 * (C-2) 送信待
98ちタスク(1つまたは複数)が待
99ち解除(タスク切換えなし)
100 * (C-3) 送信待
101ちタスク(1つまたは複数)が待
102ち解除(タスク切換えあり)
103 * (D) 送信待
104ちタスクがタイムアウトで待
105ち解除
106 * (D-1) 送信待
107ちタスクの待
108ち解除なし
109 * (D-2) 送信待
110ちタスク(1つまたは複数)が待
111ち解除(タスク切換えなし)
112 * (D-3) 送信待
113ちタスク(1つまたは複数)が待
114ち解除(タスク切換えあり)
115 *
116 * 【使用リソース】
117 *
118 * TASK1: 高優å…
119ˆåº¦ã‚¿ã‚¹ã‚¯ï¼Œãƒ¡ã‚¤ãƒ³ã‚¿ã‚¹ã‚¯ï¼Œæœ€åˆã‹ã‚‰èµ·å‹•
120 * TASK2: 中優å…
121ˆåº¦ã‚¿ã‚¹ã‚¯
122 * TASK3: 低優å…
123ˆåº¦ã‚¿ã‚¹ã‚¯
124 * MBF1: メッセージバッファ(TA_NULL属性,最大メッセージサイズ:26,メッ
125 * セージバッファ管理領域のサイズ:26→実際には28)
126 *
127 * 【テストシーケンス】
128 *
129 * == TASK1(優å…
130ˆåº¦ï¼šé«˜ï¼‰==
131 * call(set_bit_func(bit_kernel))
132 * 1: act_tsk(TASK2)
133 * act_tsk(TASK3)
134 * tslp_tsk(2 * TEST_TIME_CP) -> E_TMOUT ... TASK1が実行再開するまで
135 * == TASK2-1(優å…
136ˆåº¦ï¼šä¸­ï¼‰1回め ==
137 * 2: snd_mbf(MBF1, string1, 26)
138 * == TASK3(優å…
139ˆåº¦ï¼šä½Žï¼‰==
140 * 3: snd_mbf(MBF1, string2, 26)
141 * == TASK1(続き)==
142 * 4: ter_tsk(TASK2) ... (A-1)
143 * tslp_tsk(2 * TEST_TIME_PROC) -> E_TMOUT ... TASK1が実行再開するまで
144 * == TASK1(続き)==
145 * 5: rcv_mbf(MBF1, buf1) -> 26
146 * assert(strncmp(buf1, string2, 26) == 0)
147 * act_tsk(TASK2)
148 * tslp_tsk(2 * TEST_TIME_CP) -> E_TMOUT ... TASK1が実行再開するまで
149 * == TASK2-2(優å…
150ˆåº¦ï¼šä¸­ï¼‰2回め ==
151 * 6: snd_mbf(MBF1, string1, 26)
152 * == TASK3(続き)==
153 * 7: snd_mbf(MBF1, string3, 10)
154 * == TASK1(続き)==
155 * 8: ter_tsk(TASK2) ... (A-2)
156 * slp_tsk()
157 * == TASK3(続き)==
158 * 9: rcv_mbf(MBF1, buf1) -> 10
159 * assert(strncmp(buf1, string3, 10) == 0)
160 * 10: act_tsk(TASK2)
161 * == TASK2-3(優å…
162ˆåº¦ï¼šä¸­ï¼‰3回め ==
163 * 11: snd_mbf(MBF1, string1, 26)
164 * == TASK3(続き)==
165 * 12: wup_tsk(TASK1)
166 * == TASK1(続き)==
167 * 13: snd_mbf(MBF1, string3, 10)
168 * == TASK3(続き)==
169 * 14: ter_tsk(TASK2) ... (A-3)
170 * == TASK1(続き)==
171 * 15: rcv_mbf(MBF1, buf1) -> 10
172 * assert(strncmp(buf1, string3, 10) == 0)
173 * act_tsk(TASK2)
174 * tslp_tsk(2 * TEST_TIME_CP) -> E_TMOUT ... TASK1が実行再開するまで
175 * == TASK2-4(優å…
176ˆåº¦ï¼šä¸­ï¼‰4回め ==
177 * 16: snd_mbf(MBF1, string1, 26) -> E_RLWAI
178 * == TASK3(続き)==
179 * 17: snd_mbf(MBF1, string2, 26)
180 * == TASK1(続き)==
181 * 18: rel_wai(TASK2) ... (B-1)
182 * tslp_tsk(TEST_TIME_CP) -> E_TMOUT ... TASK1が実行再開するまで
183 * == TASK2-4(続き)==
184 * 19: slp_tsk()
185 * == TASK1(続き)==
186 * 20: rcv_mbf(MBF1, buf1) -> 26
187 * assert(strncmp(buf1, string2, 26) == 0)
188 * wup_tsk(TASK2)
189 * tslp_tsk(2 * TEST_TIME_CP) -> E_TMOUT ... TASK1が実行再開するまで
190 * == TASK2-4(続き)==
191 * 21: snd_mbf(MBF1, string1, 26) -> E_RLWAI
192 * == TASK3(続き)==
193 * 22: snd_mbf(MBF1, string3, 10)
194 * == TASK1(続き)==
195 * 23: rel_wai(TASK2) ... (B-2)
196 * slp_tsk()
197 * == TASK2-4(続き)==
198 * 24: slp_tsk()
199 * == TASK3(続き)==
200 * 25: rcv_mbf(MBF1, buf1) -> 10
201 * assert(strncmp(buf1, string3, 10) == 0)
202 * 26: wup_tsk(TASK2)
203 * == TASK2-4(続き)==
204 * 27: snd_mbf(MBF1, string1, 26) -> E_RLWAI
205 * == TASK3(続き)==
206 * 28: wup_tsk(TASK1)
207 * == TASK1(続き)==
208 * 29: snd_mbf(MBF1, string3, 10)
209 * == TASK3(続き)==
210 * 30: rel_wai(TASK2) ... (B-3)
211 * == TASK1(続き)==
212 * 31: rcv_mbf(MBF1, buf1) -> 10
213 * assert(strncmp(buf1, string3, 10) == 0)
214 * tslp_tsk(2 * TEST_TIME_CP) -> E_TMOUT ... TASK1が実行再開するまで
215 * == TASK2-4(続き)==
216 * 32: snd_mbf(MBF1, string1, 26) -> E_RLWAI
217 * == TASK3(続き)==
218 * 33: snd_mbf(MBF1, string2, 26)
219 * == TASK1(続き)==
220 * 34: sta_alm(ALM1, TEST_TIME_PROC) ... ALM1-1が実行開始するまで
221 * slp_tsk()
222 * == ALM1-1 ==
223 * 35: rel_wai(TASK2) ... (C-1)
224 * wup_tsk(TASK1)
225 * RETURN
226 * == TASK1(続き)==
227 * 36: tslp_tsk(TEST_TIME_CP) -> E_TMOUT ... TASK1が実行再開するまで
228 * == TASK2-4(続き)==
229 * 37: slp_tsk()
230 * == TASK1(続き)==
231 * 38: rcv_mbf(MBF1, buf1) -> 26
232 * assert(strncmp(buf1, string2, 26) == 0)
233 * wup_tsk(TASK2)
234 * tslp_tsk(2 * TEST_TIME_CP) -> E_TMOUT ... TASK1が実行再開するまで
235 * == TASK2-4(続き)==
236 * 39: snd_mbf(MBF1, string1, 26) -> E_RLWAI
237 * == TASK3(続き)==
238 * 40: snd_mbf(MBF1, string3, 10)
239 * == TASK1(続き)==
240 * 41: sta_alm(ALM1, TEST_TIME_PROC) ... ALM1-2が実行開始するまで
241 * slp_tsk()
242 * == ALM1-2 ==
243 * 42: rel_wai(TASK2) ... (C-2)
244 * RETURN
245 * == TASK2-4(続き)==
246 * 43: slp_tsk()
247 * == TASK3(続き)==
248 * 44: rcv_mbf(MBF1, buf1) -> 10
249 * assert(strncmp(buf1, string3, 10) == 0)
250 * 45: wup_tsk(TASK2)
251 * == TASK2-4(続き)==
252 * 46: snd_mbf(MBF1, string1, 26) -> E_RLWAI
253 * == TASK3(続き)==
254 * 47: wup_tsk(TASK1)
255 * == TASK1(続き)==
256 * 48: snd_mbf(MBF1, string3, 10)
257 * == TASK3(続き)==
258 * 49: sta_alm(ALM1, TEST_TIME_PROC) ... ALM1-3が実行開始するまで
259 * slp_tsk()
260 * == ALM1-3 ==
261 * 50: rel_wai(TASK2) ... (C-3)
262 * RETURN
263 * == TASK1(続き)==
264 * 51: rcv_mbf(MBF1, buf1) -> 10
265 * assert(strncmp(buf1, string3, 10) == 0)
266 * wup_tsk(TASK3)
267 * slp_tsk()
268 * == TASK2-4(続き)==
269 * 52: tsnd_mbf(MBF1, string1, 26, TEST_TIME_CP) -> E_TMOUT ... (D-1)
270 * ... TASK2-4が実行再開するまで
271 * == TASK3(続き)==
272 * 53: snd_mbf(MBF1, string2, 26)
273 * == TASK2-4(続き)==
274 * 54: tslp_tsk(2 * TEST_TIME_PROC) -> E_TMOUT ... TASK2-4が実行再開するまで
275 * == TASK2-4(続き)==
276 * 55: rcv_mbf(MBF1, buf1) -> 26
277 * assert(strncmp(buf1, string2, 26) == 0)
278 * 56: tsnd_mbf(MBF1, string1, 26, TEST_TIME_CP) -> E_TMOUT ... (D-2)
279 * ... TASK2-4が実行再開するまで
280 * == TASK3(続き)==
281 * 57: snd_mbf(MBF1, string3, 10)
282 * == TASK2-4(続き)==
283 * 58: slp_tsk()
284 * == TASK3(続き)==
285 * 59: rcv_mbf(MBF1, buf1) -> 10
286 * assert(strncmp(buf1, string3, 10) == 0)
287 * 60: wup_tsk(TASK2)
288 * == TASK2-4(続き)==
289 * 61: tsnd_mbf(MBF1, string1, 26, 4 * TEST_TIME_CP) -> E_TMOUT ... (D-3)
290 * ... TASK2-4が実行再開するまで
291 * == TASK3(続き)==
292 * 62: wup_tsk(TASK1)
293 * == TASK1(続き)==
294 * 63: snd_mbf(MBF1, string3, 10)
295 * == TASK3(続き)==
296 * 64: slp_tsk()
297 * == TASK1(続き)==
298 * 65: rcv_mbf(MBF1, buf1) -> 10
299 * assert(strncmp(buf1, string3, 10) == 0)
300 * slp_tsk()
301 * == TASK2-4(続き)==
302 * 66: END
303 */
304
305#include <kernel.h>
306#include <t_syslog.h>
307#include "syssvc/test_svc.h"
308#include "kernel_cfg.h"
309#include "test_messagebuf2.h"
310#include <string.h>
311
312const char string1[26] = "abcdefghijklmnopqrstuvwxyz";
313const char string2[26] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
314const char string3[16] = "0123456789abcdef";
315
316char buf1[26];
317
318extern ER bit_kernel(void);
319
320/* DO NOT DELETE THIS LINE -- gentest depends on it. */
321
322static uint_t alarm1_count = 0;
323
324void
325alarm1_handler(intptr_t exinf)
326{
327 ER_UINT ercd;
328
329 switch (++alarm1_count) {
330 case 1:
331 check_point(35);
332 ercd = rel_wai(TASK2);
333 check_ercd(ercd, E_OK);
334
335 ercd = wup_tsk(TASK1);
336 check_ercd(ercd, E_OK);
337
338 return;
339
340 check_point(0);
341
342 case 2:
343 check_point(42);
344 ercd = rel_wai(TASK2);
345 check_ercd(ercd, E_OK);
346
347 return;
348
349 check_point(0);
350
351 case 3:
352 check_point(50);
353 ercd = rel_wai(TASK2);
354 check_ercd(ercd, E_OK);
355
356 return;
357
358 check_point(0);
359
360 default:
361 check_point(0);
362 }
363 check_point(0);
364}
365
366void
367task1(intptr_t exinf)
368{
369 ER_UINT ercd;
370
371 test_start(__FILE__);
372
373 set_bit_func(bit_kernel);
374
375 check_point(1);
376 ercd = act_tsk(TASK2);
377 check_ercd(ercd, E_OK);
378
379 ercd = act_tsk(TASK3);
380 check_ercd(ercd, E_OK);
381
382 ercd = tslp_tsk(2 * TEST_TIME_CP);
383 check_ercd(ercd, E_TMOUT);
384
385 check_point(4);
386 ercd = ter_tsk(TASK2);
387 check_ercd(ercd, E_OK);
388
389 ercd = tslp_tsk(TEST_TIME_PROC);
390 check_ercd(ercd, E_TMOUT);
391
392 check_point(5);
393 ercd = rcv_mbf(MBF1, buf1);
394 check_ercd(ercd, 26);
395
396 check_assert(strncmp(buf1, string2, 26) == 0);
397
398 ercd = act_tsk(TASK2);
399 check_ercd(ercd, E_OK);
400
401 ercd = tslp_tsk(2 * TEST_TIME_CP);
402 check_ercd(ercd, E_TMOUT);
403
404 check_point(8);
405 ercd = ter_tsk(TASK2);
406 check_ercd(ercd, E_OK);
407
408 ercd = slp_tsk();
409 check_ercd(ercd, E_OK);
410
411 check_point(13);
412 ercd = snd_mbf(MBF1, string3, 10);
413 check_ercd(ercd, E_OK);
414
415 check_point(15);
416 ercd = rcv_mbf(MBF1, buf1);
417 check_ercd(ercd, 10);
418
419 check_assert(strncmp(buf1, string3, 10) == 0);
420
421 ercd = act_tsk(TASK2);
422 check_ercd(ercd, E_OK);
423
424 ercd = tslp_tsk(2 * TEST_TIME_CP);
425 check_ercd(ercd, E_TMOUT);
426
427 check_point(18);
428 ercd = rel_wai(TASK2);
429 check_ercd(ercd, E_OK);
430
431 ercd = tslp_tsk(TEST_TIME_CP);
432 check_ercd(ercd, E_TMOUT);
433
434 check_point(20);
435 ercd = rcv_mbf(MBF1, buf1);
436 check_ercd(ercd, 26);
437
438 check_assert(strncmp(buf1, string2, 26) == 0);
439
440 ercd = wup_tsk(TASK2);
441 check_ercd(ercd, E_OK);
442
443 ercd = tslp_tsk(2 * TEST_TIME_CP);
444 check_ercd(ercd, E_TMOUT);
445
446 check_point(23);
447 ercd = rel_wai(TASK2);
448 check_ercd(ercd, E_OK);
449
450 ercd = slp_tsk();
451 check_ercd(ercd, E_OK);
452
453 check_point(29);
454 ercd = snd_mbf(MBF1, string3, 10);
455 check_ercd(ercd, E_OK);
456
457 check_point(31);
458 ercd = rcv_mbf(MBF1, buf1);
459 check_ercd(ercd, 10);
460
461 check_assert(strncmp(buf1, string3, 10) == 0);
462
463 ercd = tslp_tsk(2 * TEST_TIME_CP);
464 check_ercd(ercd, E_TMOUT);
465
466 check_point(34);
467 ercd = sta_alm(ALM1, TEST_TIME_PROC);
468 check_ercd(ercd, E_OK);
469
470 ercd = slp_tsk();
471 check_ercd(ercd, E_OK);
472
473 check_point(36);
474 ercd = tslp_tsk(TEST_TIME_CP);
475 check_ercd(ercd, E_TMOUT);
476
477 check_point(38);
478 ercd = rcv_mbf(MBF1, buf1);
479 check_ercd(ercd, 26);
480
481 check_assert(strncmp(buf1, string2, 26) == 0);
482
483 ercd = wup_tsk(TASK2);
484 check_ercd(ercd, E_OK);
485
486 ercd = tslp_tsk(2 * TEST_TIME_CP);
487 check_ercd(ercd, E_TMOUT);
488
489 check_point(41);
490 ercd = sta_alm(ALM1, TEST_TIME_PROC);
491 check_ercd(ercd, E_OK);
492
493 ercd = slp_tsk();
494 check_ercd(ercd, E_OK);
495
496 check_point(48);
497 ercd = snd_mbf(MBF1, string3, 10);
498 check_ercd(ercd, E_OK);
499
500 check_point(51);
501 ercd = rcv_mbf(MBF1, buf1);
502 check_ercd(ercd, 10);
503
504 check_assert(strncmp(buf1, string3, 10) == 0);
505
506 ercd = wup_tsk(TASK3);
507 check_ercd(ercd, E_OK);
508
509 ercd = slp_tsk();
510 check_ercd(ercd, E_OK);
511
512 check_point(63);
513 ercd = snd_mbf(MBF1, string3, 10);
514 check_ercd(ercd, E_OK);
515
516 check_point(65);
517 ercd = rcv_mbf(MBF1, buf1);
518 check_ercd(ercd, 10);
519
520 check_assert(strncmp(buf1, string3, 10) == 0);
521
522 ercd = slp_tsk();
523 check_ercd(ercd, E_OK);
524
525 check_point(0);
526}
527
528static uint_t task2_count = 0;
529
530void
531task2(intptr_t exinf)
532{
533 ER_UINT ercd;
534
535 switch (++task2_count) {
536 case 1:
537 check_point(2);
538 ercd = snd_mbf(MBF1, string1, 26);
539 check_ercd(ercd, E_OK);
540
541 check_point(0);
542
543 case 2:
544 check_point(6);
545 ercd = snd_mbf(MBF1, string1, 26);
546 check_ercd(ercd, E_OK);
547
548 check_point(0);
549
550 case 3:
551 check_point(11);
552 ercd = snd_mbf(MBF1, string1, 26);
553 check_ercd(ercd, E_OK);
554
555 check_point(0);
556
557 case 4:
558 check_point(16);
559 ercd = snd_mbf(MBF1, string1, 26);
560 check_ercd(ercd, E_RLWAI);
561
562 check_point(19);
563 ercd = slp_tsk();
564 check_ercd(ercd, E_OK);
565
566 check_point(21);
567 ercd = snd_mbf(MBF1, string1, 26);
568 check_ercd(ercd, E_RLWAI);
569
570 check_point(24);
571 ercd = slp_tsk();
572 check_ercd(ercd, E_OK);
573
574 check_point(27);
575 ercd = snd_mbf(MBF1, string1, 26);
576 check_ercd(ercd, E_RLWAI);
577
578 check_point(32);
579 ercd = snd_mbf(MBF1, string1, 26);
580 check_ercd(ercd, E_RLWAI);
581
582 check_point(37);
583 ercd = slp_tsk();
584 check_ercd(ercd, E_OK);
585
586 check_point(39);
587 ercd = snd_mbf(MBF1, string1, 26);
588 check_ercd(ercd, E_RLWAI);
589
590 check_point(43);
591 ercd = slp_tsk();
592 check_ercd(ercd, E_OK);
593
594 check_point(46);
595 ercd = snd_mbf(MBF1, string1, 26);
596 check_ercd(ercd, E_RLWAI);
597
598 check_point(52);
599 ercd = tsnd_mbf(MBF1, string1, 26, TEST_TIME_CP);
600 check_ercd(ercd, E_TMOUT);
601
602 check_point(54);
603 ercd = tslp_tsk(TEST_TIME_PROC);
604 check_ercd(ercd, E_TMOUT);
605
606 check_point(55);
607 ercd = rcv_mbf(MBF1, buf1);
608 check_ercd(ercd, 26);
609
610 check_assert(strncmp(buf1, string2, 26) == 0);
611
612 check_point(56);
613 ercd = tsnd_mbf(MBF1, string1, 26, TEST_TIME_CP);
614 check_ercd(ercd, E_TMOUT);
615
616 check_point(58);
617 ercd = slp_tsk();
618 check_ercd(ercd, E_OK);
619
620 check_point(61);
621 ercd = tsnd_mbf(MBF1, string1, 26, 4 * TEST_TIME_CP);
622 check_ercd(ercd, E_TMOUT);
623
624 check_finish(66);
625 check_point(0);
626
627 default:
628 check_point(0);
629 }
630 check_point(0);
631}
632
633void
634task3(intptr_t exinf)
635{
636 ER_UINT ercd;
637
638 check_point(3);
639 ercd = snd_mbf(MBF1, string2, 26);
640 check_ercd(ercd, E_OK);
641
642 check_point(7);
643 ercd = snd_mbf(MBF1, string3, 10);
644 check_ercd(ercd, E_OK);
645
646 check_point(9);
647 ercd = rcv_mbf(MBF1, buf1);
648 check_ercd(ercd, 10);
649
650 check_assert(strncmp(buf1, string3, 10) == 0);
651
652 check_point(10);
653 ercd = act_tsk(TASK2);
654 check_ercd(ercd, E_OK);
655
656 check_point(12);
657 ercd = wup_tsk(TASK1);
658 check_ercd(ercd, E_OK);
659
660 check_point(14);
661 ercd = ter_tsk(TASK2);
662 check_ercd(ercd, E_OK);
663
664 check_point(17);
665 ercd = snd_mbf(MBF1, string2, 26);
666 check_ercd(ercd, E_OK);
667
668 check_point(22);
669 ercd = snd_mbf(MBF1, string3, 10);
670 check_ercd(ercd, E_OK);
671
672 check_point(25);
673 ercd = rcv_mbf(MBF1, buf1);
674 check_ercd(ercd, 10);
675
676 check_assert(strncmp(buf1, string3, 10) == 0);
677
678 check_point(26);
679 ercd = wup_tsk(TASK2);
680 check_ercd(ercd, E_OK);
681
682 check_point(28);
683 ercd = wup_tsk(TASK1);
684 check_ercd(ercd, E_OK);
685
686 check_point(30);
687 ercd = rel_wai(TASK2);
688 check_ercd(ercd, E_OK);
689
690 check_point(33);
691 ercd = snd_mbf(MBF1, string2, 26);
692 check_ercd(ercd, E_OK);
693
694 check_point(40);
695 ercd = snd_mbf(MBF1, string3, 10);
696 check_ercd(ercd, E_OK);
697
698 check_point(44);
699 ercd = rcv_mbf(MBF1, buf1);
700 check_ercd(ercd, 10);
701
702 check_assert(strncmp(buf1, string3, 10) == 0);
703
704 check_point(45);
705 ercd = wup_tsk(TASK2);
706 check_ercd(ercd, E_OK);
707
708 check_point(47);
709 ercd = wup_tsk(TASK1);
710 check_ercd(ercd, E_OK);
711
712 check_point(49);
713 ercd = sta_alm(ALM1, TEST_TIME_PROC);
714 check_ercd(ercd, E_OK);
715
716 ercd = slp_tsk();
717 check_ercd(ercd, E_OK);
718
719 check_point(53);
720 ercd = snd_mbf(MBF1, string2, 26);
721 check_ercd(ercd, E_OK);
722
723 check_point(57);
724 ercd = snd_mbf(MBF1, string3, 10);
725 check_ercd(ercd, E_OK);
726
727 check_point(59);
728 ercd = rcv_mbf(MBF1, buf1);
729 check_ercd(ercd, 10);
730
731 check_assert(strncmp(buf1, string3, 10) == 0);
732
733 check_point(60);
734 ercd = wup_tsk(TASK2);
735 check_ercd(ercd, E_OK);
736
737 check_point(62);
738 ercd = wup_tsk(TASK1);
739 check_ercd(ercd, E_OK);
740
741 check_point(64);
742 ercd = slp_tsk();
743 check_ercd(ercd, E_OK);
744
745 check_point(0);
746}
Note: See TracBrowser for help on using the repository browser.