#if !(UBINOS__UBIK_TEST__EXCLUDE_MSGQTESTSET == 1)
#include <stdio.h>
#define TASKWORKINGTIMEMS 500
#define TASKLOOPCOUNT 10
#define MSGSIZE 2
#define MSGCOUNT 10
static void msgqtest00_task1func(void * arg) {
unsigned int i;
unsigned char buf[MSGSIZE];
for (i=0; i<MSGSIZE; i++) {
buf[i] = i;
}
for (i=0; i<TASKLOOPCOUNT; i++) {
printf("task 1 produces one message\r\n");
}
}
static void msgqtest00_task2func(void * arg) {
unsigned int i;
unsigned char buf[MSGSIZE];
for (i=0; i<TASKLOOPCOUNT/2; i++) {
printf("task 2 waits message\r\n");
printf("task 2 consumes one message\r\n");
}
}
static void msgqtest00_task3func(void * arg) {
unsigned int i;
unsigned char buf[MSGSIZE];
for (i=0; i<TASKLOOPCOUNT/2; i++) {
printf("task 3 waits message\r\n");
printf("task 3 consumes one message\r\n");
}
}
int r;
int r2;
if (0 != r) {
printf("fail at msgq_create(), err=%d\r\n", r);
r = -1;
goto end0;
}
if (0 != r) {
printf("fail at task_create(), err=%d\r\n", r);
r = -1;
goto end1;
}
if (0 != r) {
printf("fail at task_create(), err=%d\r\n", r);
r = -1;
goto end2;
}
if (0 != r) {
printf("fail at task_create(), err=%d\r\n", r);
r = -1;
goto end2;
}
r = 0;
end2:
if (0 != r2) {
printf("fail at task_join(), err=%d\r\n", r2);
r = -1;
}
end1:
if (0 != r2) {
printf("fail at msgq_delete(), err=%d\r\n", r2);
r = -1;
}
end0:
return r;
}
#endif