aboutsummaryrefslogtreecommitdiffstats
path: root/test/nasa_osal
diff options
context:
space:
mode:
authorGiovanni Di Sirio <gdisirio@gmail.com>2016-03-08 08:38:54 +0000
committerGiovanni Di Sirio <gdisirio@gmail.com>2016-03-08 08:38:54 +0000
commit742a1d93c841fc87fd91ae4feca78a736e812388 (patch)
tree74f613fcca72475a65d2f0d2c83d3787e6d767b7 /test/nasa_osal
parentc3e44eb92936293097f1503e42ba6ccafaffac3d (diff)
downloadChibiOS-742a1d93c841fc87fd91ae4feca78a736e812388.tar.gz
ChibiOS-742a1d93c841fc87fd91ae4feca78a736e812388.tar.bz2
ChibiOS-742a1d93c841fc87fd91ae4feca78a736e812388.zip
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@9053 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'test/nasa_osal')
-rw-r--r--test/nasa_osal/configuration.xml79
-rw-r--r--test/nasa_osal/source/test/test_root.c4
-rw-r--r--test/nasa_osal/source/test/test_sequence_001.c64
3 files changed, 141 insertions, 6 deletions
diff --git a/test/nasa_osal/configuration.xml b/test/nasa_osal/configuration.xml
index 824637759..7eab9b5a9 100644
--- a/test/nasa_osal/configuration.xml
+++ b/test/nasa_osal/configuration.xml
@@ -10,7 +10,7 @@
<instance locked="false" id="org.chibios.spc5.components.chibios_unitary_tests_engine">
<description>
<introduction>
- <value>This document has been automatically generated.</value>
+ <value>Test suite for NASA OSAL implementation over ChibiOS/RT. The purpose of this suite is to perform unit tests on the OSAL module and to converge to 100% code coverage through successive improvements.</value>
</introduction>
</description>
<global_data_and_code>
@@ -44,7 +44,7 @@ THD_WORKING_AREA(wa_test4, TASKS_STACK_SIZE);]]></value>
<value>This sequence tests the NASA OSAL over ChibiOS/RT functionalities related to threading.</value>
</description>
<shared_code>
- <value><![CDATA[#include "osapi.h"
+ <value><![CDATA[#include "osapi.h"
static void test_thread1(void) {
@@ -60,10 +60,18 @@ static void test_thread3(void) {
test_emit_token('C');
}
+
+static void test_thread4(void) {
+
+ test_emit_token('D');
+}
+
+static void test_thread_delete(void) {
-static void test_thread4(void) {
-
- test_emit_token('D');
+ while (!OS_TaskDeleteCheck()) {
+ OS_TaskDelay(1);
+ }
+ test_emit_token('A');
}]]></value>
</shared_code>
<cases>
@@ -490,6 +498,67 @@ test_assert_sequence("ABCD", "task order violation");]]></value>
</step>
</steps>
</case>
+ <case>
+ <brief>
+ <value>OS_TaskDelete() errors</value>
+ </brief>
+ <description>
+ <value>Parameters checking in OS_TaskDelete() is tested.</value>
+ </description>
+ <condition>
+ <value />
+ </condition>
+ <various_code>
+ <setup_code>
+ <value />
+ </setup_code>
+ <teardown_code>
+ <value />
+ </teardown_code>
+ <local_variables>
+ <value />
+ </local_variables>
+ </various_code>
+ <steps>
+ <step>
+ <description>
+ <value>OS_TaskDelete() is invoked with task_id set to -1, an error is expected.</value>
+ </description>
+ <tags>
+ <value />
+ </tags>
+ <code>
+ <value><![CDATA[int32 err;
+
+err = OS_TaskDelete((uint32)-1);
+test_assert(err == OS_ERR_INVALID_ID, "wrong task id not detected");]]></value>
+ </code>
+ </step>
+ </steps>
+ </case>
+ <case>
+ <brief>
+ <value>OS_TaskDelete() and OS_TaskInstallDeleteHandler() functionality</value>
+ </brief>
+ <description>
+ <value>OS_TaskDelete() and OS_TaskInstallDeleteHandler() are tested for functionality.</value>
+ </description>
+ <condition>
+ <value />
+ </condition>
+ <various_code>
+ <setup_code>
+ <value />
+ </setup_code>
+ <teardown_code>
+ <value />
+ </teardown_code>
+ <local_variables>
+ <value />
+ </local_variables>
+ </various_code>
+ <steps />
+ </case>
</cases>
</sequence>
</sequences>
diff --git a/test/nasa_osal/source/test/test_root.c b/test/nasa_osal/source/test/test_root.c
index 5c5ef9316..0a1119188 100644
--- a/test/nasa_osal/source/test/test_root.c
+++ b/test/nasa_osal/source/test/test_root.c
@@ -16,7 +16,9 @@
/**
* @mainpage Test Suite Specification
- * This document has been automatically generated.
+ * Test suite for NASA OSAL implementation over ChibiOS/RT. The purpose
+ * of this suite is to perform unit tests on the OSAL module and to
+ * converge to 100% code coverage through successive improvements.
*
* <h2>Test Sequences</h2>
* - @subpage test_sequence_001
diff --git a/test/nasa_osal/source/test/test_sequence_001.c b/test/nasa_osal/source/test/test_sequence_001.c
index c5863f171..7c7829d8a 100644
--- a/test/nasa_osal/source/test/test_sequence_001.c
+++ b/test/nasa_osal/source/test/test_sequence_001.c
@@ -30,6 +30,8 @@
* <h2>Test Cases</h2>
* - @subpage test_001_001
* - @subpage test_001_002
+ * - @subpage test_001_003
+ * - @subpage test_001_004
* .
*/
@@ -57,6 +59,14 @@ static void test_thread3(void) {
static void test_thread4(void) {
test_emit_token('D');
+}
+
+static void test_thread_delete(void) {
+
+ while (!OS_TaskDeleteCheck()) {
+ OS_TaskDelay(1);
+ }
+ test_emit_token('A');
}
/****************************************************************************
@@ -448,6 +458,58 @@ static const testcase_t test_001_002 = {
test_001_002_execute
};
+/**
+ * @page test_001_003 OS_TaskDelete() errors
+ *
+ * <h2>Description</h2>
+ * Parameters checking in OS_TaskDelete() is tested.
+ *
+ * <h2>Test Steps</h2>
+ * - OS_TaskDelete() is invoked with task_id set to -1, an error is
+ * expected.
+ * .
+ */
+
+static void test_001_003_execute(void) {
+
+ /* OS_TaskDelete() is invoked with task_id set to -1, an error is
+ expected.*/
+ test_set_step(1);
+ {
+ int32 err;
+
+ err = OS_TaskDelete((uint32)-1);
+ test_assert(err == OS_ERR_INVALID_ID, "wrong task id not detected");
+ }
+}
+
+static const testcase_t test_001_003 = {
+ "OS_TaskDelete() errors",
+ NULL,
+ NULL,
+ test_001_003_execute
+};
+
+/**
+ * @page test_001_004 OS_TaskDelete() and OS_TaskInstallDeleteHandler() functionality
+ *
+ * <h2>Description</h2>
+ * OS_TaskDelete() and OS_TaskInstallDeleteHandler() are tested for
+ * functionality.
+ *
+ * <h2>Test Steps</h2>
+ */
+
+static void test_001_004_execute(void) {
+}
+
+static const testcase_t test_001_004 = {
+ "OS_TaskDelete() and OS_TaskInstallDeleteHandler() functionality",
+ NULL,
+ NULL,
+ test_001_004_execute
+};
+
/****************************************************************************
* Exported data.
****************************************************************************/
@@ -458,5 +520,7 @@ static const testcase_t test_001_002 = {
const testcase_t * const test_sequence_001[] = {
&test_001_001,
&test_001_002,
+ &test_001_003,
+ &test_001_004,
NULL
};