From cd2beca38c5a44b7a2cfbae68fa7e157e6986c39 Mon Sep 17 00:00:00 2001 From: Giovanni Di Sirio Date: Sun, 6 Mar 2016 15:32:09 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@9041 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- test/nasa_osal/test_sequence_001.c | 453 ------------------------------------- test/nasa_osal/test_sequence_001.h | 22 -- 2 files changed, 475 deletions(-) delete mode 100644 test/nasa_osal/test_sequence_001.c delete mode 100644 test/nasa_osal/test_sequence_001.h diff --git a/test/nasa_osal/test_sequence_001.c b/test/nasa_osal/test_sequence_001.c deleted file mode 100644 index 0e4063289..000000000 --- a/test/nasa_osal/test_sequence_001.c +++ /dev/null @@ -1,453 +0,0 @@ -/* - ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -*/ - -#include "hal.h" -#include "ch.h" -#include "osapi.h" -#include "ch_test.h" - -/** - * @page test_sequence_001 Threads Functionality - * - * File: @ref test_sequence_001.c - * - *

Description

- * This sequence tests the NASA OSAL over ChibiOS/RT functionalities related - * to threading. - * - *

Test Cases

- * - @subpage test_001_001 - * . - */ - -/**************************************************************************** - * Shared code. - ****************************************************************************/ - -static void test_thread1(void) { - - test_emit_token('A'); -} - -static void test_thread2(void) { - - test_emit_token('B'); -} - -static void test_thread3(void) { - - test_emit_token('C'); -} - -static void test_thread4(void) { - - test_emit_token('D'); -} - -/**************************************************************************** - * Test cases. - ****************************************************************************/ - -#if TRUE || defined(__DOXYGEN__) -/** - * @page test_001_001 OS_TaskCreate() errors - * - *

Description

- * Parameters checking in OS_TaskCreate() is tested. - * - *

Conditions

- * None. - * - *

Test Steps

- * - Testing NULL task_id. - * - Testing NULL task_name. - * - Testing NULL stack_pointer. - * - Testing long task name. - * - Testing priority limits. - * - Testing insufficient stack size. - * - Testing task name or task stack conflict. - * . - */ - -static void test_001_001_execute(void) { - - /* Testing NULL task_id.*/ - test_set_step(1); - { - int32 err; - - err = OS_TaskCreate(NULL, /* Error.*/ - "failing thread", - test_thread1, - (uint32 *)wa_test1, - sizeof wa_test1, - TASKS_BASE_PRIORITY, - 0); - test_assert(err == OS_INVALID_POINTER, "NULL not detected"); - test_assert_sequence("", "task executed"); - } - - /* Testing NULL task_name.*/ - test_set_step(2); - { - int32 err; - uint32 tid; - - err = OS_TaskCreate(&tid, - NULL, /* Error.*/ - test_thread1, - (uint32 *)wa_test1, - sizeof wa_test1, - TASKS_BASE_PRIORITY, - 0); - test_assert(err == OS_INVALID_POINTER, "NULL not detected"); - test_assert_sequence("", "task executed"); - } - - /* Testing NULL stack_pointer.*/ - test_set_step(3); - { - int32 err; - uint32 tid; - - err = OS_TaskCreate(&tid, - "failing thread", - test_thread1, - (uint32 *)NULL, /* Error.*/ - sizeof wa_test1, - TASKS_BASE_PRIORITY, - 0); - test_assert(err == OS_INVALID_POINTER, "NULL not detected"); - test_assert_sequence("", "task executed"); - } - - /* Testing long task name.*/ - test_set_step(4); - { - int32 err; - uint32 tid; - - err = OS_TaskCreate(&tid, - "this is a very very long task name", /* Error.*/ - test_thread1, - (uint32 *)wa_test1, - sizeof wa_test1, - TASKS_BASE_PRIORITY, - 0); - test_assert(err == OS_ERR_NAME_TOO_LONG, "name limit not detected"); - test_assert_sequence("", "task executed"); - } - - /* Testing priority limits.*/ - test_set_step(5); - { - int32 err; - uint32 tid; - - err = OS_TaskCreate(&tid, - "failing thread", - test_thread1, - (uint32 *)wa_test1, - sizeof wa_test1, - 0, /* Error.*/ - 0); - test_assert(err == OS_ERR_INVALID_PRIORITY, "priority error not detected"); - test_assert_sequence("", "task executed"); - - err = OS_TaskCreate(&tid, - "failing thread", - test_thread1, - (uint32 *)wa_test1, - sizeof wa_test1, - 256, /* Error.*/ - 0); - test_assert(err == OS_ERR_INVALID_PRIORITY, "priority error not detected"); - test_assert_sequence("", "task executed"); - } - - /* Testing insufficient stack size.*/ - test_set_step(6); - { - int32 err; - uint32 tid; - - err = OS_TaskCreate(&tid, - "failing thread", - test_thread1, - (uint32 *)wa_test1, - 16, /* Error.*/ - TASKS_BASE_PRIORITY, - 0); - test_assert(err == OS_INVALID_INT_NUM, "stack insufficient size not detected"); - test_assert_sequence("", "task executed"); - } - - /* Testing task name or task stack conflict.*/ - test_set_step(7); - { - int32 err; - uint32 tid; - - err = OS_TaskCreate(&tid, - "running thread", - test_thread1, - (uint32 *)wa_test1, - sizeof wa_test1, - TASKS_BASE_PRIORITY, - 0); - test_assert(err == OS_SUCCESS, "task creation failed"); - - err = OS_TaskCreate(&tid, - "running thread", - test_thread2, - (uint32 *)wa_test2, - sizeof wa_test2, - TASKS_BASE_PRIORITY, - 0); - test_assert(err == OS_ERR_NAME_TAKEN, "name conflict not detected"); - - err = OS_TaskCreate(&tid, - "another running thread", - test_thread1, - (uint32 *)wa_test1, - sizeof wa_test1, - TASKS_BASE_PRIORITY, - 0); - test_assert(err == OS_ERR_NO_FREE_IDS, "stack conflict not detected"); - - OS_TaskDelay(5); - test_assert_sequence("A", "task not executed"); - - err = OS_TaskCreate(&tid, - "running thread", - test_thread1, - (uint32 *)wa_test1, - sizeof wa_test1, - TASKS_BASE_PRIORITY, - 0); - test_assert(err == OS_SUCCESS, "task creation failed"); - - OS_TaskDelay(5); - test_assert_sequence("A", "task not executed"); - } -} - -static const testcase_t test_001_001 = { - "OS_TaskCreate() errors", - NULL, - NULL, - test_001_001_execute -}; -#endif /* TRUE */ - -#if TRUE || defined(__DOXYGEN__) -/** - * @page test_001_001 OS_TaskCreate() priority ordering - * - *

Description

- * Four tasks are created at different priorities and in different orders - * then their execution order is tested. - * - *

Conditions

- * None. - * - *

Test Steps

- * - Tasks are created in priority order from low to high. - * - Tasks are made runnable atomically and their execution order tested. - * - Tasks are created in priority order from high to low. - * - Tasks are made runnable atomically and their execution order tested. - * - Tasks are created in an not ordered way. - * - Tasks are made runnable atomically and their execution order tested. - * . - */ - -static void test_001_002_execute(void) { - - /* Tasks are created in priority order from low to high.*/ - test_set_step(1); - { - int32 err; - uint32 tid1, tid2, tid3, tid4; - - err = OS_TaskCreate(&tid4, - "running thread 4", - test_thread4, - (uint32 *)wa_test4, - sizeof wa_test4, - TASKS_BASE_PRIORITY - 0, - 0); - test_assert(err == OS_SUCCESS, "task 4 creation failed"); - - err = OS_TaskCreate(&tid3, - "running thread 3", - test_thread3, - (uint32 *)wa_test3, - sizeof wa_test3, - TASKS_BASE_PRIORITY - 1, - 0); - test_assert(err == OS_SUCCESS, "task 3 creation failed"); - - err = OS_TaskCreate(&tid2, - "running thread 2", - test_thread2, - (uint32 *)wa_test2, - sizeof wa_test2, - TASKS_BASE_PRIORITY - 2, - 0); - test_assert(err == OS_SUCCESS, "task 2 creation failed"); - - err = OS_TaskCreate(&tid1, - "running thread 1", - test_thread1, - (uint32 *)wa_test1, - sizeof wa_test1, - TASKS_BASE_PRIORITY - 3, - 0); - test_assert(err == OS_SUCCESS, "task 1 creation failed"); - } - - /* Tasks are made runnable atomically and their execution order tested.*/ - test_set_step(2); - { - OS_TaskDelay(5); - test_assert_sequence("ABCD", "task order violation"); - } - - /* Tasks are created in priority order from high to low.*/ - test_set_step(3); - { - int32 err; - uint32 tid1, tid2, tid3, tid4; - - err = OS_TaskCreate(&tid1, - "running thread 1", - test_thread1, - (uint32 *)wa_test1, - sizeof wa_test1, - TASKS_BASE_PRIORITY - 3, - 0); - test_assert(err == OS_SUCCESS, "task 1 creation failed"); - - err = OS_TaskCreate(&tid2, - "running thread 2", - test_thread2, - (uint32 *)wa_test2, - sizeof wa_test2, - TASKS_BASE_PRIORITY - 2, - 0); - test_assert(err == OS_SUCCESS, "task 2 creation failed"); - - err = OS_TaskCreate(&tid3, - "running thread 3", - test_thread3, - (uint32 *)wa_test3, - sizeof wa_test3, - TASKS_BASE_PRIORITY - 1, - 0); - test_assert(err == OS_SUCCESS, "task 3 creation failed"); - - err = OS_TaskCreate(&tid4, - "running thread 4", - test_thread4, - (uint32 *)wa_test4, - sizeof wa_test4, - TASKS_BASE_PRIORITY - 0, - 0); - test_assert(err == OS_SUCCESS, "task 4 creation failed"); - } - - /* Tasks are made runnable atomically and their execution order tested.*/ - test_set_step(4); - { - OS_TaskDelay(5); - test_assert_sequence("ABCD", "task order violation"); - } - - /* Tasks are created in an not ordered way.*/ - test_set_step(5); - { - int32 err; - uint32 tid1, tid2, tid3, tid4; - - err = OS_TaskCreate(&tid2, - "running thread 2", - test_thread2, - (uint32 *)wa_test2, - sizeof wa_test2, - TASKS_BASE_PRIORITY - 2, - 0); - test_assert(err == OS_SUCCESS, "task 2 creation failed"); - - err = OS_TaskCreate(&tid1, - "running thread 1", - test_thread1, - (uint32 *)wa_test1, - sizeof wa_test1, - TASKS_BASE_PRIORITY - 3, - 0); - test_assert(err == OS_SUCCESS, "task 1 creation failed"); - - err = OS_TaskCreate(&tid4, - "running thread 4", - test_thread4, - (uint32 *)wa_test4, - sizeof wa_test4, - TASKS_BASE_PRIORITY - 0, - 0); - test_assert(err == OS_SUCCESS, "task 4 creation failed"); - - err = OS_TaskCreate(&tid3, - "running thread 3", - test_thread3, - (uint32 *)wa_test3, - sizeof wa_test3, - TASKS_BASE_PRIORITY - 1, - 0); - test_assert(err == OS_SUCCESS, "task 3 creation failed"); - } - - /* Tasks are made runnable atomically and their execution order tested.*/ - test_set_step(6); - { - OS_TaskDelay(5); - test_assert_sequence("ABCD", "task order violation"); - } -} - -static const testcase_t test_001_002 = { - "OS_TaskCreate() priority ordering", - NULL, - NULL, - test_001_002_execute -}; -#endif /* TRUE */ - -/**************************************************************************** - * Exported data. - ****************************************************************************/ - -/** - * @brief Sequence brief description. - */ -const testcase_t * const test_sequence_001[] = { -#if TRUE || defined(__DOXYGEN__) - &test_001_001, -#endif -#if TRUE || defined(__DOXYGEN__) - &test_001_002, -#endif - NULL -}; diff --git a/test/nasa_osal/test_sequence_001.h b/test/nasa_osal/test_sequence_001.h deleted file mode 100644 index 91c2181d0..000000000 --- a/test/nasa_osal/test_sequence_001.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -*/ - -#ifndef _TEST_SEQUENCE_001_H_ -#define _TEST_SEQUENCE_001_H_ - -extern const testcase_t * const test_sequence_001[]; - -#endif /* _TEST_SEQUENCE_001_H_ */ -- cgit v1.2.3