diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2011-09-02 12:20:15 +0000 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2011-09-02 12:20:15 +0000 |
commit | 1c0749b9114f468e7be4d4a3b6ac21b46bcc8375 (patch) | |
tree | d10640eea395c0a266f8733e1545225986f031e7 /testsuites/sptests/sp40/init.c | |
parent | 2011-09-02 Sebastian Huber <sebastian.huber@embedded-brains.de> (diff) | |
download | rtems-1c0749b9114f468e7be4d4a3b6ac21b46bcc8375.tar.bz2 |
2011-09-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
* sp40/init.c: Avoid unsupported test cases.
Diffstat (limited to '')
-rw-r--r-- | testsuites/sptests/sp40/init.c | 42 |
1 files changed, 26 insertions, 16 deletions
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 ); |