summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoel Sherrill <joel@rtems.org>2017-12-05 09:56:47 -0600
committerJoel Sherrill <joel@rtems.org>2017-12-06 12:48:46 -0600
commite9e0f1d4649191a419274b76cacad354f2a45798 (patch)
tree2f1e9fcb1f402432dccad0d3409a3ee1c9698a2e
parenttaskmode.c: Ensure all error checking is done before modifying executing (diff)
downloadrtems-e9e0f1d4649191a419274b76cacad354f2a45798.tar.bz2
smpunsupported01: Add missing error check for rtems_task_mode
Update test documentation to include more cases. Updates #3000.
-rw-r--r--testsuites/smptests/smpunsupported01/init.c10
-rw-r--r--testsuites/smptests/smpunsupported01/smpunsupported01.doc4
2 files changed, 13 insertions, 1 deletions
diff --git a/testsuites/smptests/smpunsupported01/init.c b/testsuites/smptests/smpunsupported01/init.c
index ef4ea9b71f..ae85b2fc89 100644
--- a/testsuites/smptests/smpunsupported01/init.c
+++ b/testsuites/smptests/smpunsupported01/init.c
@@ -42,9 +42,17 @@ static void test(void)
);
rtems_test_assert(sc == RTEMS_UNSATISFIED);
- mode = RTEMS_INTERRUPT_LEVEL(1);
+ mode = RTEMS_INTERRUPT_LEVEL(0);
+ if (mode == 0) {
+ sc = rtems_task_mode(mode, RTEMS_INTERRUPT_MASK, &mode);
+ rtems_test_assert(sc == RTEMS_NOT_IMPLEMENTED);
+ }
+ mode = RTEMS_INTERRUPT_LEVEL(1);
if (mode != 0) {
+ sc = rtems_task_mode(mode, RTEMS_INTERRUPT_MASK, &mode);
+ rtems_test_assert(sc == RTEMS_NOT_IMPLEMENTED);
+
sc = rtems_task_create(
rtems_build_name('T', 'A', 'S', 'K'),
RTEMS_MINIMUM_PRIORITY,
diff --git a/testsuites/smptests/smpunsupported01/smpunsupported01.doc b/testsuites/smptests/smpunsupported01/smpunsupported01.doc
index 2fbd4fafc1..71a4fb60da 100644
--- a/testsuites/smptests/smpunsupported01/smpunsupported01.doc
+++ b/testsuites/smptests/smpunsupported01/smpunsupported01.doc
@@ -16,3 +16,7 @@ concepts:
on SMP configurations.
- Ensure that rtems_task_create() with RTEMS_NO_PREEMPT returns an error
status on SMP configurations.
+ - Ensure that rtems_task_mode() with RTEMS_INTERRUPT_MASK returns an
+ error status
+ - Ensure that rtems_task_create() with RTEMS_INTERRUPT_MASK returns an
+ error status