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

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

TECSレスのASP3の開発のため以下のtrunkからコピー
http://dev.toppers.jp/svn/asp3/branches/WO_TECS-3.C.0

File size: 16.9 KB
Line 
1/*
2 * TOPPERS Software
3 * Toyohashi Open Platform for Embedded Real-Time Systems
4 *
5 * Copyright (C) 2014-2015 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 310 2015-02-08 13:46:46Z 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(1000U) -> E_TMOUT
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(1000U) -> E_TMOUT
144 * == TASK1(続き)==
145 * 5: rcv_mbf(MBF1, buf1) -> 26
146 * assert(strncmp(buf1, string2, 26) == 0)
147 * act_tsk(TASK2)
148 * tslp_tsk(1000U) -> E_TMOUT
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(1000U) -> E_TMOUT
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(1000U) -> E_TMOUT
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(1000U) -> E_TMOUT
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(1000U) -> E_TMOUT
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, 1000U)
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(1000U) -> E_TMOUT
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(1000U) -> E_TMOUT
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, 1000U)
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, 1000U)
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, 1000U) -> E_TMOUT ... (D-1)
270 * == TASK3(続き)==
271 * 53: snd_mbf(MBF1, string2, 26)
272 * == TASK2-4(続き)==
273 * 54: tslp_tsk(1000U) -> E_TMOUT
274 * == TASK2-4(続き)==
275 * 55: rcv_mbf(MBF1, buf1) -> 26
276 * assert(strncmp(buf1, string2, 26) == 0)
277 * 56: tsnd_mbf(MBF1, string1, 26, 1000U) -> E_TMOUT ... (D-2)
278 * == TASK3(続き)==
279 * 57: snd_mbf(MBF1, string3, 10)
280 * == TASK2-4(続き)==
281 * 58: slp_tsk()
282 * == TASK3(続き)==
283 * 59: rcv_mbf(MBF1, buf1) -> 10
284 * assert(strncmp(buf1, string3, 10) == 0)
285 * 60: wup_tsk(TASK2)
286 * == TASK2-4(続き)==
287 * 61: tsnd_mbf(MBF1, string1, 26, 1000U) -> E_TMOUT ... (D-3)
288 * == TASK3(続き)==
289 * 62: wup_tsk(TASK1)
290 * == TASK1(続き)==
291 * 63: snd_mbf(MBF1, string3, 10)
292 * == TASK3(続き)==
293 * 64: slp_tsk()
294 * == TASK1(続き)==
295 * 65: rcv_mbf(MBF1, buf1) -> 10
296 * assert(strncmp(buf1, string3, 10) == 0)
297 * slp_tsk()
298 * == TASK2-4(続き)==
299 * 66: END
300 */
301
302#include <kernel.h>
303#include <t_syslog.h>
304#include "syssvc/test_svc.h"
305#include "kernel_cfg.h"
306#include "test_messagebuf2.h"
307#include <string.h>
308
309const char string1[26] = "abcdefghijklmnopqrstuvwxyz";
310const char string2[26] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
311const char string3[16] = "0123456789abcdef";
312
313char buf1[26];
314
315extern ER bit_kernel(void);
316
317/* DO NOT DELETE THIS LINE -- gentest depends on it. */
318
319static uint_t alarm1_count = 0;
320
321void
322alarm1_handler(intptr_t exinf)
323{
324 ER_UINT ercd;
325
326 switch (++alarm1_count) {
327 case 1:
328 check_point(35);
329 ercd = rel_wai(TASK2);
330 check_ercd(ercd, E_OK);
331
332 ercd = wup_tsk(TASK1);
333 check_ercd(ercd, E_OK);
334
335 return;
336
337 check_point(0);
338
339 case 2:
340 check_point(42);
341 ercd = rel_wai(TASK2);
342 check_ercd(ercd, E_OK);
343
344 return;
345
346 check_point(0);
347
348 case 3:
349 check_point(50);
350 ercd = rel_wai(TASK2);
351 check_ercd(ercd, E_OK);
352
353 return;
354
355 check_point(0);
356
357 default:
358 check_point(0);
359 }
360 check_point(0);
361}
362
363void
364task1(intptr_t exinf)
365{
366 ER_UINT ercd;
367
368 test_start(__FILE__);
369
370 set_bit_func(bit_kernel);
371
372 check_point(1);
373 ercd = act_tsk(TASK2);
374 check_ercd(ercd, E_OK);
375
376 ercd = act_tsk(TASK3);
377 check_ercd(ercd, E_OK);
378
379 ercd = tslp_tsk(1000U);
380 check_ercd(ercd, E_TMOUT);
381
382 check_point(4);
383 ercd = ter_tsk(TASK2);
384 check_ercd(ercd, E_OK);
385
386 ercd = tslp_tsk(1000U);
387 check_ercd(ercd, E_TMOUT);
388
389 check_point(5);
390 ercd = rcv_mbf(MBF1, buf1);
391 check_ercd(ercd, 26);
392
393 check_assert(strncmp(buf1, string2, 26) == 0);
394
395 ercd = act_tsk(TASK2);
396 check_ercd(ercd, E_OK);
397
398 ercd = tslp_tsk(1000U);
399 check_ercd(ercd, E_TMOUT);
400
401 check_point(8);
402 ercd = ter_tsk(TASK2);
403 check_ercd(ercd, E_OK);
404
405 ercd = slp_tsk();
406 check_ercd(ercd, E_OK);
407
408 check_point(13);
409 ercd = snd_mbf(MBF1, string3, 10);
410 check_ercd(ercd, E_OK);
411
412 check_point(15);
413 ercd = rcv_mbf(MBF1, buf1);
414 check_ercd(ercd, 10);
415
416 check_assert(strncmp(buf1, string3, 10) == 0);
417
418 ercd = act_tsk(TASK2);
419 check_ercd(ercd, E_OK);
420
421 ercd = tslp_tsk(1000U);
422 check_ercd(ercd, E_TMOUT);
423
424 check_point(18);
425 ercd = rel_wai(TASK2);
426 check_ercd(ercd, E_OK);
427
428 ercd = tslp_tsk(1000U);
429 check_ercd(ercd, E_TMOUT);
430
431 check_point(20);
432 ercd = rcv_mbf(MBF1, buf1);
433 check_ercd(ercd, 26);
434
435 check_assert(strncmp(buf1, string2, 26) == 0);
436
437 ercd = wup_tsk(TASK2);
438 check_ercd(ercd, E_OK);
439
440 ercd = tslp_tsk(1000U);
441 check_ercd(ercd, E_TMOUT);
442
443 check_point(23);
444 ercd = rel_wai(TASK2);
445 check_ercd(ercd, E_OK);
446
447 ercd = slp_tsk();
448 check_ercd(ercd, E_OK);
449
450 check_point(29);
451 ercd = snd_mbf(MBF1, string3, 10);
452 check_ercd(ercd, E_OK);
453
454 check_point(31);
455 ercd = rcv_mbf(MBF1, buf1);
456 check_ercd(ercd, 10);
457
458 check_assert(strncmp(buf1, string3, 10) == 0);
459
460 ercd = tslp_tsk(1000U);
461 check_ercd(ercd, E_TMOUT);
462
463 check_point(34);
464 ercd = sta_alm(ALM1, 1000U);
465 check_ercd(ercd, E_OK);
466
467 ercd = slp_tsk();
468 check_ercd(ercd, E_OK);
469
470 check_point(36);
471 ercd = tslp_tsk(1000U);
472 check_ercd(ercd, E_TMOUT);
473
474 check_point(38);
475 ercd = rcv_mbf(MBF1, buf1);
476 check_ercd(ercd, 26);
477
478 check_assert(strncmp(buf1, string2, 26) == 0);
479
480 ercd = wup_tsk(TASK2);
481 check_ercd(ercd, E_OK);
482
483 ercd = tslp_tsk(1000U);
484 check_ercd(ercd, E_TMOUT);
485
486 check_point(41);
487 ercd = sta_alm(ALM1, 1000U);
488 check_ercd(ercd, E_OK);
489
490 ercd = slp_tsk();
491 check_ercd(ercd, E_OK);
492
493 check_point(48);
494 ercd = snd_mbf(MBF1, string3, 10);
495 check_ercd(ercd, E_OK);
496
497 check_point(51);
498 ercd = rcv_mbf(MBF1, buf1);
499 check_ercd(ercd, 10);
500
501 check_assert(strncmp(buf1, string3, 10) == 0);
502
503 ercd = wup_tsk(TASK3);
504 check_ercd(ercd, E_OK);
505
506 ercd = slp_tsk();
507 check_ercd(ercd, E_OK);
508
509 check_point(63);
510 ercd = snd_mbf(MBF1, string3, 10);
511 check_ercd(ercd, E_OK);
512
513 check_point(65);
514 ercd = rcv_mbf(MBF1, buf1);
515 check_ercd(ercd, 10);
516
517 check_assert(strncmp(buf1, string3, 10) == 0);
518
519 ercd = slp_tsk();
520 check_ercd(ercd, E_OK);
521
522 check_point(0);
523}
524
525static uint_t task2_count = 0;
526
527void
528task2(intptr_t exinf)
529{
530 ER_UINT ercd;
531
532 switch (++task2_count) {
533 case 1:
534 check_point(2);
535 ercd = snd_mbf(MBF1, string1, 26);
536 check_ercd(ercd, E_OK);
537
538 check_point(0);
539
540 case 2:
541 check_point(6);
542 ercd = snd_mbf(MBF1, string1, 26);
543 check_ercd(ercd, E_OK);
544
545 check_point(0);
546
547 case 3:
548 check_point(11);
549 ercd = snd_mbf(MBF1, string1, 26);
550 check_ercd(ercd, E_OK);
551
552 check_point(0);
553
554 case 4:
555 check_point(16);
556 ercd = snd_mbf(MBF1, string1, 26);
557 check_ercd(ercd, E_RLWAI);
558
559 check_point(19);
560 ercd = slp_tsk();
561 check_ercd(ercd, E_OK);
562
563 check_point(21);
564 ercd = snd_mbf(MBF1, string1, 26);
565 check_ercd(ercd, E_RLWAI);
566
567 check_point(24);
568 ercd = slp_tsk();
569 check_ercd(ercd, E_OK);
570
571 check_point(27);
572 ercd = snd_mbf(MBF1, string1, 26);
573 check_ercd(ercd, E_RLWAI);
574
575 check_point(32);
576 ercd = snd_mbf(MBF1, string1, 26);
577 check_ercd(ercd, E_RLWAI);
578
579 check_point(37);
580 ercd = slp_tsk();
581 check_ercd(ercd, E_OK);
582
583 check_point(39);
584 ercd = snd_mbf(MBF1, string1, 26);
585 check_ercd(ercd, E_RLWAI);
586
587 check_point(43);
588 ercd = slp_tsk();
589 check_ercd(ercd, E_OK);
590
591 check_point(46);
592 ercd = snd_mbf(MBF1, string1, 26);
593 check_ercd(ercd, E_RLWAI);
594
595 check_point(52);
596 ercd = tsnd_mbf(MBF1, string1, 26, 1000U);
597 check_ercd(ercd, E_TMOUT);
598
599 check_point(54);
600 ercd = tslp_tsk(1000U);
601 check_ercd(ercd, E_TMOUT);
602
603 check_point(55);
604 ercd = rcv_mbf(MBF1, buf1);
605 check_ercd(ercd, 26);
606
607 check_assert(strncmp(buf1, string2, 26) == 0);
608
609 check_point(56);
610 ercd = tsnd_mbf(MBF1, string1, 26, 1000U);
611 check_ercd(ercd, E_TMOUT);
612
613 check_point(58);
614 ercd = slp_tsk();
615 check_ercd(ercd, E_OK);
616
617 check_point(61);
618 ercd = tsnd_mbf(MBF1, string1, 26, 1000U);
619 check_ercd(ercd, E_TMOUT);
620
621 check_finish(66);
622 check_point(0);
623
624 default:
625 check_point(0);
626 }
627 check_point(0);
628}
629
630void
631task3(intptr_t exinf)
632{
633 ER_UINT ercd;
634
635 check_point(3);
636 ercd = snd_mbf(MBF1, string2, 26);
637 check_ercd(ercd, E_OK);
638
639 check_point(7);
640 ercd = snd_mbf(MBF1, string3, 10);
641 check_ercd(ercd, E_OK);
642
643 check_point(9);
644 ercd = rcv_mbf(MBF1, buf1);
645 check_ercd(ercd, 10);
646
647 check_assert(strncmp(buf1, string3, 10) == 0);
648
649 check_point(10);
650 ercd = act_tsk(TASK2);
651 check_ercd(ercd, E_OK);
652
653 check_point(12);
654 ercd = wup_tsk(TASK1);
655 check_ercd(ercd, E_OK);
656
657 check_point(14);
658 ercd = ter_tsk(TASK2);
659 check_ercd(ercd, E_OK);
660
661 check_point(17);
662 ercd = snd_mbf(MBF1, string2, 26);
663 check_ercd(ercd, E_OK);
664
665 check_point(22);
666 ercd = snd_mbf(MBF1, string3, 10);
667 check_ercd(ercd, E_OK);
668
669 check_point(25);
670 ercd = rcv_mbf(MBF1, buf1);
671 check_ercd(ercd, 10);
672
673 check_assert(strncmp(buf1, string3, 10) == 0);
674
675 check_point(26);
676 ercd = wup_tsk(TASK2);
677 check_ercd(ercd, E_OK);
678
679 check_point(28);
680 ercd = wup_tsk(TASK1);
681 check_ercd(ercd, E_OK);
682
683 check_point(30);
684 ercd = rel_wai(TASK2);
685 check_ercd(ercd, E_OK);
686
687 check_point(33);
688 ercd = snd_mbf(MBF1, string2, 26);
689 check_ercd(ercd, E_OK);
690
691 check_point(40);
692 ercd = snd_mbf(MBF1, string3, 10);
693 check_ercd(ercd, E_OK);
694
695 check_point(44);
696 ercd = rcv_mbf(MBF1, buf1);
697 check_ercd(ercd, 10);
698
699 check_assert(strncmp(buf1, string3, 10) == 0);
700
701 check_point(45);
702 ercd = wup_tsk(TASK2);
703 check_ercd(ercd, E_OK);
704
705 check_point(47);
706 ercd = wup_tsk(TASK1);
707 check_ercd(ercd, E_OK);
708
709 check_point(49);
710 ercd = sta_alm(ALM1, 1000U);
711 check_ercd(ercd, E_OK);
712
713 ercd = slp_tsk();
714 check_ercd(ercd, E_OK);
715
716 check_point(53);
717 ercd = snd_mbf(MBF1, string2, 26);
718 check_ercd(ercd, E_OK);
719
720 check_point(57);
721 ercd = snd_mbf(MBF1, string3, 10);
722 check_ercd(ercd, E_OK);
723
724 check_point(59);
725 ercd = rcv_mbf(MBF1, buf1);
726 check_ercd(ercd, 10);
727
728 check_assert(strncmp(buf1, string3, 10) == 0);
729
730 check_point(60);
731 ercd = wup_tsk(TASK2);
732 check_ercd(ercd, E_OK);
733
734 check_point(62);
735 ercd = wup_tsk(TASK1);
736 check_ercd(ercd, E_OK);
737
738 check_point(64);
739 ercd = slp_tsk();
740 check_ercd(ercd, E_OK);
741
742 check_point(0);
743}
Note: See TracBrowser for help on using the repository browser.