X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fkern%2Fsem_test.c;h=555f755d1562076e5dd857e304c403874f010bba;hb=b708b0cbae2dc58ef30943ade3d56c464b49a59c;hp=b6428c1be5f73314743c8ec4442b702096dfb895;hpb=36e3ba5ed4644b2abb3ce08c7ac68762d307a8cb;p=bertos.git diff --git a/bertos/kern/sem_test.c b/bertos/kern/sem_test.c index b6428c1b..555f755d 100644 --- a/bertos/kern/sem_test.c +++ b/bertos/kern/sem_test.c @@ -32,10 +32,16 @@ * \brief Semaphore test. * * \version $Id$ - * + * * \author Daniele Basile - * \author Stefano Fedrigo - * + * \author Stefano Fedrigo + * + * $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_sem.h $cfgdir/ + * $test$: echo "#undef CONFIG_KERN_SEMAPHORES" >> $cfgdir/cfg_sem.h + * $test$: echo "#define CONFIG_KERN_SEMAPHORES 1" >> $cfgdir/cfg_sem.h */ #include @@ -50,7 +56,7 @@ // Global settings for the test. #define MAX_GLOBAL_COUNT 1024 #define TEST_TIME_OUT_MS 6000 -#define DELAY 5 +#define DELAY 5 // Settings for the test process. //Process 1 @@ -83,8 +89,8 @@ unsigned int global_count = 0; /* * These macros generate the code needed to create the test process functions. - */ -#define PROC_TEST(num) static void proc_test##num(void) \ + */ +#define PROC_TEST(num) static void proc_semTest##num(void) \ { \ unsigned int local_count = 0; \ \ @@ -103,8 +109,8 @@ unsigned int global_count = 0; } \ } \ -#define PROC_TEST_STACK(num) static cpu_stack_t proc_test##num##_stack[CONFIG_KERN_MINSTACKSIZE / sizeof(cpu_stack_t)]; -#define PROC_TEST_INIT(num) proc_new(proc_test##num, NULL, sizeof(proc_test##num##_stack), proc_test##num##_stack); +#define PROC_TEST_STACK(num) PROC_DEFINE_STACK(proc_sem_test##num##_stack, KERN_MINSTACKSIZE * 2) +#define PROC_TEST_INIT(num) proc_new(proc_semTest##num, NULL, sizeof(proc_sem_test##num##_stack), proc_sem_test##num##_stack); // Define process PROC_TEST(1) @@ -134,7 +140,7 @@ int sem_testRun(void) ticks_t start_time = timer_clock(); kprintf("Run semaphore test..\n"); - + //Init the process tests PROC_TEST_INIT(1) PROC_TEST_INIT(2) @@ -145,11 +151,11 @@ int sem_testRun(void) PROC_TEST_INIT(7) PROC_TEST_INIT(8) kputs("> Main: Processes created\n"); - + /* - * Wait until all processes exit, if something goes wrong we return an + * Wait until all processes exit, if something goes wrong we return an * error after timeout_ms. - */ + */ while((timer_clock() - start_time) < ms_to_ticks(TEST_TIME_OUT_MS)) { if (sem_attempt(&sem)) @@ -165,7 +171,7 @@ int sem_testRun(void) } proc_yield(); } - + kputs("Semaphore Test fail..\n"); return -1; } @@ -177,21 +183,15 @@ int sem_testSetup(void) kprintf("Init Semaphore.."); sem_init(&sem); kprintf("Done.\n"); - - #if CONFIG_KERN_PREEMPT - kprintf("Init Interrupt (preempt mode).."); - irq_init(); - kprintf("Done.\n"); - #endif kprintf("Init Timer.."); timer_init(); kprintf("Done.\n"); - + kprintf("Init Process.."); proc_init(); kprintf("Done.\n"); - + return 0; } @@ -201,4 +201,4 @@ int sem_testTearDown(void) return 0; } -TEST_MAIN(sem); \ No newline at end of file +TEST_MAIN(sem);