X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fkern%2Fmsg_test.c;h=2cc34eeed467fe365a4b11c8a4139841ac83d75f;hb=70a451db3b503f9984d31e247400fb0dd810e691;hp=7cc65b03022cb34dcc04f8f5a966543e1cea5954;hpb=23a9c310a7e81d359eeac54101fa7c98c4a7a468;p=bertos.git diff --git a/bertos/kern/msg_test.c b/bertos/kern/msg_test.c index 7cc65b03..2cc34eee 100644 --- a/bertos/kern/msg_test.c +++ b/bertos/kern/msg_test.c @@ -44,17 +44,28 @@ * $test$: echo "#define CONFIG_KERN_SIGNALS 1" >> $cfgdir/cfg_signal.h */ -#include +#include "cfg/cfg_timer.h" #include #include #include #include #include -#include +#include + +#include #include +/* + * In the nightly build test, signals are disables, so this + * code won't compile. + * Since this code is used when we run "make check" it will be + * compiled and therefor tested there. + */ +#if CONFIG_KERN_SIGNALS + + // Global settings for the test. #define MAX_GLOBAL_COUNT 11040 #define TEST_TIME_OUT_MS 10 @@ -83,21 +94,22 @@ /* * These macros generate the code needed to create the test process functions. */ -#define RECV_PROC(num, sig) static void receiver_proc##num(void) \ - { \ - TestMsg *rec_msg; \ - for (;;) \ - { \ - sig_wait(sig); \ - kprintf("Proc[%d]..get message\n", num); \ - rec_msg = containerof(msg_get(&test_port##num), TestMsg, msg); \ - timer_delay(rec_msg->delay); \ - rec_msg->result += rec_msg->val; \ - kprintf("Proc[%d]..process message val[%d],delay[%d],res[%d]\n", num, rec_msg->val, rec_msg->delay, rec_msg->result); \ - msg_reply(&rec_msg->msg); \ - kprintf("Proc[%d] reply\n", num); \ - } \ - } +#define RECV_PROC(num, sig) \ +static void receiver_proc##num(void) \ +{ \ + TestMsg *rec_msg; \ + for (;;) \ + { \ + sig_wait(sig); \ + kprintf("Proc[%d]..get message\n", num); \ + rec_msg = containerof(msg_get(&test_port##num), TestMsg, msg); \ + timer_delay(rec_msg->delay); \ + rec_msg->result += rec_msg->val; \ + kprintf("Proc[%d]..process message val[%d],delay[%d],res[%d]\n", num, rec_msg->val, rec_msg->delay, rec_msg->result); \ + msg_reply(&rec_msg->msg); \ + kprintf("Proc[%d] reply\n", num); \ + } \ +} #define SEND_MSG(num) \ do { \ @@ -108,7 +120,7 @@ #define RECV_STACK(num) static cpu_stack_t receiver_stack##num[CONFIG_KERN_MINSTACKSIZE / sizeof(cpu_stack_t)] #define RECV_INIT_PROC(num) proc_new(receiver_proc##num, NULL, sizeof(receiver_stack##num), receiver_stack##num) -#define RECV_INIT_MSG(num, proc,sig) msg_initPort(&test_port##num, event_createSignal(proc, sig)) +#define RECV_INIT_MSG(num, proc, sig) msg_initPort(&test_port##num, event_createSignal(proc, sig)) // A test message with the parameters and a result. typedef struct @@ -179,7 +191,6 @@ int msg_testRun(void) TestMsg msg4; TestMsg msg5; TestMsg *reply; - ticks_t start_time = timer_clock(); // Allocate and start the test process struct Process *recv0 = RECV_INIT_PROC(0); @@ -269,3 +280,5 @@ int msg_testTearDown(void) } TEST_MAIN(msg); + +#endif /* CONFIG_KERN_SIGNALS */