diff options
author | Giovanni Di Sirio <gdisirio@gmail.com> | 2016-03-11 16:20:58 +0000 |
---|---|---|
committer | Giovanni Di Sirio <gdisirio@gmail.com> | 2016-03-11 16:20:58 +0000 |
commit | d962e4e16350563b8c5878b3231c35f308613f1f (patch) | |
tree | e382015973a6b7039bc1457a8a64d56e427ed8d9 /test/nasa_osal/configuration.xml | |
parent | c27d4ae937cdfd4829ed8290efd8e079181d3bc5 (diff) | |
download | ChibiOS-d962e4e16350563b8c5878b3231c35f308613f1f.tar.gz ChibiOS-d962e4e16350563b8c5878b3231c35f308613f1f.tar.bz2 ChibiOS-d962e4e16350563b8c5878b3231c35f308613f1f.zip |
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@9080 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'test/nasa_osal/configuration.xml')
-rw-r--r-- | test/nasa_osal/configuration.xml | 391 |
1 files changed, 389 insertions, 2 deletions
diff --git a/test/nasa_osal/configuration.xml b/test/nasa_osal/configuration.xml index 323193671..9cc1b47b0 100644 --- a/test/nasa_osal/configuration.xml +++ b/test/nasa_osal/configuration.xml @@ -1451,7 +1451,7 @@ uint32 bsid;]]></value> <cases>
<case>
<brief>
- <value>OS_TimerCreate() and OS_TimerDelete() errors</value>
+ <value>OS_BinSemCreate() and OS_BinSemDelete() errors</value>
</brief>
<description>
<value>Parameters checking in OS_BinSemCreate() and OS_BinSemDelete() is tested.</value>
@@ -1557,7 +1557,7 @@ test_assert(err == OS_ERR_INVALID_ID, "wrong semaphore id not detected");]]></va </step>
<step>
<description>
- <value>OS_TimerCreate() is invoked twice with duplicated name, an error is expected, then the queue is deleted using OS_TimerDelete().</value>
+ <value>OS_BinSemCreate() is invoked twice with duplicated name, an error is expected, then the queue is deleted using OS_BinSemDelete().</value>
</description>
<tags>
<value />
@@ -1858,6 +1858,393 @@ test_assert(err == OS_SEM_TIMEOUT, "unexpected error code");]]></value> </case>
</cases>
</sequence>
+ <sequence>
+ <type index="0">
+ <value>Internal Tests</value>
+ </type>
+ <brief>
+ <value>Counter Semaphores Functionality</value>
+ </brief>
+ <description>
+ <value>This sequence tests the NASA OSAL over ChibiOS/RT functionalities related to counter semaphores.</value>
+ </description>
+ <shared_code>
+ <value><![CDATA[#include "osapi.h" + +uint32 csid;]]></value>
+ </shared_code>
+ <cases>
+ <case>
+ <brief>
+ <value>OS_CountSemCreate() and OS_CountSemDelete() errors</value>
+ </brief>
+ <description>
+ <value>Parameters checking in OS_CountSemCreate() and OS_CountSemDelete() 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_CountSemCreate() is invoked with sem_id set to NULL, an error is expected.</value>
+ </description>
+ <tags>
+ <value />
+ </tags>
+ <code>
+ <value><![CDATA[int32 err; + +err = OS_CountSemCreate(NULL, /* Error.*/ + "failing semaphore", + 0, + 0); +test_assert(err == OS_INVALID_POINTER, "NULL not detected");]]></value>
+ </code>
+ </step>
+ <step>
+ <description>
+ <value>OS_CountSemCreate() is invoked with sem_name set to NULL, an error is expected.</value>
+ </description>
+ <tags>
+ <value />
+ </tags>
+ <code>
+ <value><![CDATA[int32 err; + +err = OS_CountSemCreate(&csid, + NULL, /* Error.*/ + 0, + 0); +test_assert(err == OS_INVALID_POINTER, "NULL not detected");]]></value>
+ </code>
+ </step>
+ <step>
+ <description>
+ <value>OS_CountSemCreate() is invoked with an invalid sem_initial_value, an error is expected.</value>
+ </description>
+ <tags>
+ <value />
+ </tags>
+ <code>
+ <value><![CDATA[int32 err; + +err = OS_CountSemCreate(&csid, + "failing semaphore", + (uint32)-1, /* Error.*/ + 0); +test_assert(err == OS_INVALID_INT_NUM, "counter error not detected");]]></value>
+ </code>
+ </step>
+ <step>
+ <description>
+ <value>OS_CountSemCreate() is invoked with a very long timer name, an error is expected.</value>
+ </description>
+ <tags>
+ <value />
+ </tags>
+ <code>
+ <value><![CDATA[#if 0 /* Semaphore name currently not implemented.*/ +int32 err; + +err = OS_CountSemCreate(&csid, + "very very long semaphore name",/* Error.*/ + 0, + 0); +test_assert(err == OS_ERR_NAME_TOO_LONG, "name limit not detected"); +#endif]]></value>
+ </code>
+ </step>
+ <step>
+ <description>
+ <value>OS_CountSemDelete() is invoked with timer_id set to -1, an error is expected.</value>
+ </description>
+ <tags>
+ <value />
+ </tags>
+ <code>
+ <value><![CDATA[int32 err; + +err = OS_CountSemDelete((uint32)-1); +test_assert(err == OS_ERR_INVALID_ID, "wrong semaphore id not detected");]]></value>
+ </code>
+ </step>
+ <step>
+ <description>
+ <value>OS_CountSemCreate() is invoked twice with duplicated name, an error is expected, then the queue is deleted using OS_CountSemDelete().</value>
+ </description>
+ <tags>
+ <value />
+ </tags>
+ <code>
+ <value><![CDATA[int32 err; +uint32 csid1; /*, csid2;*/ + +err = OS_CountSemCreate(&csid1, "my semaphore", 0, 0); +test_assert(err == OS_SUCCESS, "semaphore creation failed"); + +#if 0 /* Semaphore name currently not implemented.*/ +err = OS_CountSemCreate(&csid2, "my semaphore", 0, 0); +test_assert(err == OS_ERR_NAME_TAKEN, "name conflict not detected"); +#endif + +err = OS_CountSemDelete(csid1); +test_assert(err == OS_SUCCESS, "semaphore deletion failed");]]></value>
+ </code>
+ </step>
+ </steps>
+ </case>
+ <case>
+ <brief>
+ <value>OS_CountSemGive() errors</value>
+ </brief>
+ <description>
+ <value>Parameters checking in OS_CountSemGive() 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_CountSemGive() is invoked with sem_id set to -1, an error is expected.</value>
+ </description>
+ <tags>
+ <value />
+ </tags>
+ <code>
+ <value><![CDATA[int32 err; + +err = OS_CountSemGive((uint32)-1); +test_assert(err == OS_ERR_INVALID_ID, "invalid sem_id not detected");]]></value>
+ </code>
+ </step>
+ </steps>
+ </case>
+ <case>
+ <brief>
+ <value>OS_CountSemTake() errors</value>
+ </brief>
+ <description>
+ <value>Parameters checking in OS_CountSemTake() 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_BinSemTake() is invoked with sem_id set to -1, an error is expected.</value>
+ </description>
+ <tags>
+ <value />
+ </tags>
+ <code>
+ <value><![CDATA[int32 err; + +err = OS_BinSemTake((uint32)-1); +test_assert(err == OS_ERR_INVALID_ID, "invalid sem_id not detected");]]></value>
+ </code>
+ </step>
+ </steps>
+ </case>
+ <case>
+ <brief>
+ <value>OS_CountSemTimedWait() errors</value>
+ </brief>
+ <description>
+ <value>Parameters checking in OS_CountSemTimedWait() is tested.</value>
+ </description>
+ <condition>
+ <value />
+ </condition>
+ <various_code>
+ <setup_code>
+ <value><![CDATA[csid = 0; +(void) OS_CountSemCreate(&csid, "test semaphore", 0, 0);]]></value>
+ </setup_code>
+ <teardown_code>
+ <value><![CDATA[if (csid > 0) { + (void) OS_CountSemDelete(csid); +}]]></value>
+ </teardown_code>
+ <local_variables>
+ <value />
+ </local_variables>
+ </various_code>
+ <steps>
+ <step>
+ <description>
+ <value>OS_CountSemTimedWait() is invoked with sem_id set to -1, an error is expected.</value>
+ </description>
+ <tags>
+ <value />
+ </tags>
+ <code>
+ <value><![CDATA[int32 err; + +err = OS_CountSemTimedWait((uint32)-1, 1000); +test_assert(err == OS_ERR_INVALID_ID, "invalid sem_id not detected");]]></value>
+ </code>
+ </step>
+ <step>
+ <description>
+ <value>OS_CountSemTimedWait() is invoked with msecs set to 0, an error is expected.</value>
+ </description>
+ <tags>
+ <value />
+ </tags>
+ <code>
+ <value><![CDATA[int32 err; + +err = OS_CountSemTimedWait(csid, 0); +test_assert(err == OS_INVALID_INT_NUM, "invalid msec not detected");]]></value>
+ </code>
+ </step>
+ </steps>
+ </case>
+ <case>
+ <brief>
+ <value>OS_CountSemGetIdByName() errors</value>
+ </brief>
+ <description>
+ <value>Parameters checking in OS_BinSemGetIdByName() 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_CountSemGetIdByName() is invoked with sem_id set to NULL, an error is expected.</value>
+ </description>
+ <tags>
+ <value />
+ </tags>
+ <code>
+ <value><![CDATA[int32 err; + +err = OS_CountSemGetIdByName(NULL, "semaphore"); +test_assert(err == OS_INVALID_POINTER, "NULL not detected");]]></value>
+ </code>
+ </step>
+ <step>
+ <description>
+ <value>OS_CountSemGetIdByName() is invoked with semaphore name set to NULL, an error is expected.</value>
+ </description>
+ <tags>
+ <value />
+ </tags>
+ <code>
+ <value><![CDATA[int32 err; + +err = OS_CountSemGetIdByName(&csid, NULL); +test_assert(err == OS_INVALID_POINTER, "NULL not detected");]]></value>
+ </code>
+ </step>
+ <step>
+ <description>
+ <value>OS_CountSemGetIdByName() is invoked with a very long task name, an error is expected.</value>
+ </description>
+ <tags>
+ <value />
+ </tags>
+ <code>
+ <value><![CDATA[int32 err; + +err = OS_CountSemGetIdByName(&csid, "very very long semaphore name"); +test_assert(err == OS_ERR_NAME_TOO_LONG, "name limit not detected");]]></value>
+ </code>
+ </step>
+ </steps>
+ </case>
+ <case>
+ <brief>
+ <value>OS_CountSemTimedWait() timeout functionality</value>
+ </brief>
+ <description>
+ <value>OS_CountSemCreate() timeout functionality is tested.</value>
+ </description>
+ <condition>
+ <value />
+ </condition>
+ <various_code>
+ <setup_code>
+ <value><![CDATA[csid = 0; +(void) OS_CountSemCreate(&csid, "test semaphore", 0, 0);]]></value>
+ </setup_code>
+ <teardown_code>
+ <value><![CDATA[if (csid > 0) { + (void) OS_CountSemDelete(csid); +}]]></value>
+ </teardown_code>
+ <local_variables>
+ <value />
+ </local_variables>
+ </various_code>
+ <steps>
+ <step>
+ <description>
+ <value>OS_CountSemTimedWait() is invoked with timeout set to one second, an error is expected.</value>
+ </description>
+ <tags>
+ <value />
+ </tags>
+ <code>
+ <value><![CDATA[int32 err; + +err = OS_CountSemTimedWait(csid, 1000); +test_assert(err == OS_SEM_TIMEOUT, "unexpected error code");]]></value>
+ </code>
+ </step>
+ </steps>
+ </case>
+ </cases>
+ </sequence>
</sequences>
</instance>
</instances>
|