X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fkern%2Fsignal_test.c;h=ed799bcffc24fe8313b127961d1efa29a42bf203;hb=827fb5a9d45cdfcfcb90a4b5e3f9b4a14d727a89;hp=ddd26485e4092eeed0db271470a5cf7b71074643;hpb=ab5b34edd4fbb2eda01fa74a98796fb8c736bb80;p=bertos.git diff --git a/bertos/kern/signal_test.c b/bertos/kern/signal_test.c index ddd26485..ed799bcf 100644 --- a/bertos/kern/signal_test.c +++ b/bertos/kern/signal_test.c @@ -31,13 +31,20 @@ * --> * * \brief Signals test. - * + * * \version $Id$ - * + * * \author Daniele Basile + * + * $test$: cp bertos/cfg/cfg_proc.h $cfgdir/ + * $test$: echo "#undef CONFIG_KERN" >> $cfgdir/cfg_proc.h + * $test$: echo "#define CONFIG_KERN 1" >> $cfgdir/cfg_proc.h + * $test$: cp bertos/cfg/cfg_signal.h $cfgdir/ + * $test$: echo "#undef CONFIG_KERN_SIGNALS" >> $cfgdir/cfg_signal.h + * $test$: echo "#define CONFIG_KERN_SIGNALS 1" >> $cfgdir/cfg_signal.h */ -#include +#include "cfg/cfg_timer.h" #include #include @@ -56,7 +63,7 @@ int test_signal[] = { SIG_TIMEOUT, SIG_SYSTEM5, SIG_SYSTEM6, - SIG_SINGLE + SIG_SINGLE }; // Current signal to send @@ -65,6 +72,9 @@ int count = 0; sigmask_t sig_to_master; sigmask_t sig_to_slave; +/* + * These macros generate the code needed to create the test process functions. + */ #define PROC_TEST_SLAVE(index, signal) static void proc_test##index(void) \ { \ for(;;) \ @@ -88,6 +98,7 @@ sigmask_t sig_to_slave; #define PROC_TEST_SLAVE_STACK(index) static cpu_stack_t proc_test##index##_stack[CONFIG_KERN_MINSTACKSIZE / sizeof(cpu_stack_t)]; #define PROC_TEST_SLAVE_INIT(index, master_process) proc_new(proc_test##index, master_process, sizeof(proc_test##index##_stack), proc_test##index##_stack) +// Generate the code for signal test. PROC_TEST_SLAVE(0, SIG_USER0) PROC_TEST_SLAVE(1, SIG_USER1) PROC_TEST_SLAVE(2, SIG_USER2) @@ -139,13 +150,13 @@ int signal_testRun(void) MAIN_CHECK_SIGNAL(5, slave_5); MAIN_CHECK_SIGNAL(6, slave_6); MAIN_CHECK_SIGNAL(7, slave_7); - + if(count == countof(test_signal)) { kprintf("Signal test finished..ok!\n"); return 0; } - + kprintf("Signal test finished..fail!\n"); return -1; } @@ -163,7 +174,7 @@ int signal_testSetup(void) kprintf("Init Timer.."); timer_init(); kprintf("Done.\n"); - + kprintf("Init Process.."); proc_init(); kprintf("Done.\n"); @@ -176,4 +187,4 @@ int signal_testTearDown(void) return 0; } -TEST_MAIN(signal); \ No newline at end of file +TEST_MAIN(signal);