aboutsummaryrefslogtreecommitdiffstats
path: root/test/nasa_osal
diff options
context:
space:
mode:
authorGiovanni Di Sirio <gdisirio@gmail.com>2016-03-06 15:32:09 +0000
committerGiovanni Di Sirio <gdisirio@gmail.com>2016-03-06 15:32:09 +0000
commitcd2beca38c5a44b7a2cfbae68fa7e157e6986c39 (patch)
treec20362987e3da8bcc0559909aa3a91022b2a01c5 /test/nasa_osal
parenteda15708d2e0bf07b22148de4138afef02373dca (diff)
downloadChibiOS-cd2beca38c5a44b7a2cfbae68fa7e157e6986c39.tar.gz
ChibiOS-cd2beca38c5a44b7a2cfbae68fa7e157e6986c39.tar.bz2
ChibiOS-cd2beca38c5a44b7a2cfbae68fa7e157e6986c39.zip
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@9041 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'test/nasa_osal')
-rw-r--r--test/nasa_osal/test_sequence_001.c453
-rw-r--r--test/nasa_osal/test_sequence_001.h22
2 files changed, 0 insertions, 475 deletions
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
- *
- * <h2>Description</h2>
- * This sequence tests the NASA OSAL over ChibiOS/RT functionalities related
- * to threading.
- *
- * <h2>Test Cases</h2>
- * - @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
- *
- * <h2>Description</h2>
- * Parameters checking in OS_TaskCreate() is tested.
- *
- * <h2>Conditions</h2>
- * None.
- *
- * <h2>Test Steps</h2>
- * - 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
- *
- * <h2>Description</h2>
- * Four tasks are created at different priorities and in different orders
- * then their execution order is tested.
- *
- * <h2>Conditions</h2>
- * None.
- *
- * <h2>Test Steps</h2>
- * - 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_ */