summaryrefslogtreecommitdiffstats
path: root/testsuites
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2011-09-02 12:20:15 +0000
committerSebastian Huber <sebastian.huber@embedded-brains.de>2011-09-02 12:20:15 +0000
commit1c0749b9114f468e7be4d4a3b6ac21b46bcc8375 (patch)
treed10640eea395c0a266f8733e1545225986f031e7 /testsuites
parent2011-09-02 Sebastian Huber <sebastian.huber@embedded-brains.de> (diff)
downloadrtems-1c0749b9114f468e7be4d4a3b6ac21b46bcc8375.tar.bz2
2011-09-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
* sp40/init.c: Avoid unsupported test cases.
Diffstat (limited to 'testsuites')
-rw-r--r--testsuites/sptests/ChangeLog4
-rw-r--r--testsuites/sptests/sp40/init.c42
2 files changed, 30 insertions, 16 deletions
diff --git a/testsuites/sptests/ChangeLog b/testsuites/sptests/ChangeLog
index dfdb694ab5..b21db6c977 100644
--- a/testsuites/sptests/ChangeLog
+++ b/testsuites/sptests/ChangeLog
@@ -1,3 +1,7 @@
+2011-09-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+ * sp40/init.c: Avoid unsupported test cases.
+
2011-08-22 Sebastian Huber <sebastian.huber@embedded-brains.de>
* spfatal13/testcase.h: Fixed test name.
diff --git a/testsuites/sptests/sp40/init.c b/testsuites/sptests/sp40/init.c
index b96ec5430f..abb8388ae4 100644
--- a/testsuites/sptests/sp40/init.c
+++ b/testsuites/sptests/sp40/init.c
@@ -62,9 +62,15 @@ rtems_task Init(
rtems_device_major_number registered_not;
rtems_device_major_number invalid_major = _IO_Number_of_drivers + 1;
rtems_interrupt_level level;
+ bool do_interrupt_context_test = true;
puts( "\n\n*** TEST 40 ***" );
+ /* Ensure that this test works as expected */
+ test_interrupt_context_enter( level );
+ do_interrupt_context_test = rtems_interrupt_is_in_progress();
+ test_interrupt_context_leave( level );
+
/*
* Register a driver with init == NULL and open != NULL
*/
@@ -100,14 +106,16 @@ rtems_task Init(
directive_failed( sc, "rtems_io_register_driver" );
puts( "Init - rtems_io_register_driver - called from interrupt context" );
- test_interrupt_context_enter( level );
- sc = rtems_io_register_driver( 0, NULL, NULL );
- test_interrupt_context_leave( level );
- fatal_directive_status(
- sc,
- RTEMS_CALLED_FROM_ISR,
- "rtems_io_register_driver"
- );
+ if ( do_interrupt_context_test ) {
+ test_interrupt_context_enter( level );
+ sc = rtems_io_register_driver( 0, NULL, NULL );
+ test_interrupt_context_leave( level );
+ fatal_directive_status(
+ sc,
+ RTEMS_CALLED_FROM_ISR,
+ "rtems_io_register_driver"
+ );
+ }
puts( "Init - rtems_io_register_driver - invalid registered major pointer" );
sc = rtems_io_register_driver( 0, NULL, NULL );
@@ -144,14 +152,16 @@ rtems_task Init(
);
puts( "Init - rtems_io_unregister_driver - called from interrupt context" );
- test_interrupt_context_enter( level );
- sc = rtems_io_unregister_driver( 0 );
- test_interrupt_context_leave( level );
- fatal_directive_status(
- sc,
- RTEMS_CALLED_FROM_ISR,
- "rtems_io_unregister_driver"
- );
+ if ( do_interrupt_context_test ) {
+ test_interrupt_context_enter( level );
+ sc = rtems_io_unregister_driver( 0 );
+ test_interrupt_context_leave( level );
+ fatal_directive_status(
+ sc,
+ RTEMS_CALLED_FROM_ISR,
+ "rtems_io_unregister_driver"
+ );
+ }
puts( "Init - rtems_io_unregister_driver - invalid major number" );
sc = rtems_io_unregister_driver( invalid_major );