* sp40/init.c: Avoid unsupported test cases.
This commit is contained in:
Sebastian Huber
2011-09-02 12:20:15 +00:00
parent 1c963169e1
commit 1c0749b911
2 changed files with 30 additions and 16 deletions

View File

@@ -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> 2011-08-22 Sebastian Huber <sebastian.huber@embedded-brains.de>
* spfatal13/testcase.h: Fixed test name. * spfatal13/testcase.h: Fixed test name.

View File

@@ -62,9 +62,15 @@ rtems_task Init(
rtems_device_major_number registered_not; rtems_device_major_number registered_not;
rtems_device_major_number invalid_major = _IO_Number_of_drivers + 1; rtems_device_major_number invalid_major = _IO_Number_of_drivers + 1;
rtems_interrupt_level level; rtems_interrupt_level level;
bool do_interrupt_context_test = true;
puts( "\n\n*** TEST 40 ***" ); 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 * Register a driver with init == NULL and open != NULL
*/ */
@@ -100,14 +106,16 @@ rtems_task Init(
directive_failed( sc, "rtems_io_register_driver" ); directive_failed( sc, "rtems_io_register_driver" );
puts( "Init - rtems_io_register_driver - called from interrupt context" ); puts( "Init - rtems_io_register_driver - called from interrupt context" );
test_interrupt_context_enter( level ); if ( do_interrupt_context_test ) {
sc = rtems_io_register_driver( 0, NULL, NULL ); test_interrupt_context_enter( level );
test_interrupt_context_leave( level ); sc = rtems_io_register_driver( 0, NULL, NULL );
fatal_directive_status( test_interrupt_context_leave( level );
sc, fatal_directive_status(
RTEMS_CALLED_FROM_ISR, sc,
"rtems_io_register_driver" RTEMS_CALLED_FROM_ISR,
); "rtems_io_register_driver"
);
}
puts( "Init - rtems_io_register_driver - invalid registered major pointer" ); puts( "Init - rtems_io_register_driver - invalid registered major pointer" );
sc = rtems_io_register_driver( 0, NULL, NULL ); 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" ); puts( "Init - rtems_io_unregister_driver - called from interrupt context" );
test_interrupt_context_enter( level ); if ( do_interrupt_context_test ) {
sc = rtems_io_unregister_driver( 0 ); test_interrupt_context_enter( level );
test_interrupt_context_leave( level ); sc = rtems_io_unregister_driver( 0 );
fatal_directive_status( test_interrupt_context_leave( level );
sc, fatal_directive_status(
RTEMS_CALLED_FROM_ISR, sc,
"rtems_io_unregister_driver" RTEMS_CALLED_FROM_ISR,
); "rtems_io_unregister_driver"
);
}
puts( "Init - rtems_io_unregister_driver - invalid major number" ); puts( "Init - rtems_io_unregister_driver - invalid major number" );
sc = rtems_io_unregister_driver( invalid_major ); sc = rtems_io_unregister_driver( invalid_major );