diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2022-11-09 17:12:11 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2022-11-09 17:12:11 +0100 |
commit | 46392cdc1f0ae57b314541ac5cc0d29fdafffac6 (patch) | |
tree | 7863eb39f2d4fe5090866685c212ca30e93c22fe | |
parent | spec: Fix type in description (diff) | |
download | rtems-central-46392cdc1f0ae57b314541ac5cc0d29fdafffac6.tar.bz2 |
spec: Properly teardown test cases
-rw-r--r-- | spec/rtems/intr/req/entry-install.yml | 19 | ||||
-rw-r--r-- | spec/rtems/intr/req/entry-remove.yml | 19 | ||||
-rw-r--r-- | spec/rtems/intr/req/handler-iterate.yml | 27 |
3 files changed, 62 insertions, 3 deletions
diff --git a/spec/rtems/intr/req/entry-install.yml b/spec/rtems/intr/req/entry-install.yml index 155eda7c..81d6fc2f 100644 --- a/spec/rtems/intr/req/entry-install.yml +++ b/spec/rtems/intr/req/entry-install.yml @@ -425,6 +425,12 @@ test-context: member: | rtems_vector_number test_vector - brief: | + If this member is true, then the testable interrupt vector was enabled at + the test case begin. + description: null + member: | + bool test_vector_was_enabled +- brief: | This member provides the attributes of the testable interrupt vector. description: null member: | @@ -540,6 +546,11 @@ test-setup: ctx->initialized_during_setup = bsp_interrupt_is_initialized(); ctx->test_vector = GetTestableInterruptVector( &required ); + ctx->test_vector_was_enabled = false; + (void) rtems_interrupt_vector_is_enabled( + ctx->test_vector, + &ctx->test_vector_was_enabled + ); sc = rtems_interrupt_get_attributes( ctx->test_vector, &ctx->attributes ); T_rsc_success( sc ); description: null @@ -744,7 +755,13 @@ test-support: | ctx->visited_entries = visited_entries + 1; } test-target: testsuites/validation/tc-intr-entry-install.c -test-teardown: null +test-teardown: + brief: null + code: | + if ( ctx->test_vector_was_enabled ) { + (void) rtems_interrupt_vector_enable( ctx->test_vector ); + } + description: null text: ${.:text-template} transition-map: - enabled-by: true diff --git a/spec/rtems/intr/req/entry-remove.yml b/spec/rtems/intr/req/entry-remove.yml index a6db9280..ed4f7970 100644 --- a/spec/rtems/intr/req/entry-remove.yml +++ b/spec/rtems/intr/req/entry-remove.yml @@ -471,6 +471,12 @@ test-context: member: | rtems_vector_number test_vector - brief: | + If this member is true, then the testable interrupt vector was enabled at + the test case begin. + description: null + member: | + bool test_vector_was_enabled +- brief: | This member provides the attributes of the testable interrupt vector. description: null member: | @@ -546,6 +552,11 @@ test-setup: ctx->initialized_during_setup = bsp_interrupt_is_initialized(); ctx->test_vector = GetTestableInterruptVector( NULL ); + ctx->test_vector_was_enabled = false; + (void) rtems_interrupt_vector_is_enabled( + ctx->test_vector, + &ctx->test_vector_was_enabled + ); sc = rtems_interrupt_get_attributes( ctx->test_vector, &ctx->attributes ); T_rsc_success( sc ); description: null @@ -725,7 +736,13 @@ test-support: | ctx->visited_entries = visited_entries + 1; } test-target: testsuites/validation/tc-intr-entry-remove.c -test-teardown: null +test-teardown: + brief: null + code: | + if ( ctx->test_vector_was_enabled ) { + (void) rtems_interrupt_vector_enable( ctx->test_vector ); + } + description: null text: ${.:text-template} transition-map: - enabled-by: true diff --git a/spec/rtems/intr/req/handler-iterate.yml b/spec/rtems/intr/req/handler-iterate.yml index d10a3c24..7d26a546 100644 --- a/spec/rtems/intr/req/handler-iterate.yml +++ b/spec/rtems/intr/req/handler-iterate.yml @@ -149,6 +149,12 @@ test-context: member: | rtems_vector_number test_vector - brief: | + If this member is true, then the testable interrupt vector was enabled at + the test case begin. + description: null + member: | + bool test_vector_was_enabled +- brief: | If this member is true, then the service shall be initialized. description: null member: | @@ -203,6 +209,11 @@ test-setup: ctx->initialized_during_setup = bsp_interrupt_is_initialized(); ctx->test_vector = GetTestableInterruptVector( NULL ); + ctx->test_vector_was_enabled = false; + (void) rtems_interrupt_vector_is_enabled( + ctx->test_vector, + &ctx->test_vector_was_enabled + ); rtems_interrupt_entry_initialize( &ctx->entry, EntryRoutine, @@ -282,7 +293,21 @@ test-support: | ); } test-target: testsuites/validation/tc-intr-handler-iterate.c -test-teardown: null +test-teardown: + brief: null + code: | + rtems_status_code sc; + + sc = rtems_interrupt_entry_remove( + ctx->test_vector, + &ctx->entry + ); + T_rsc_success( sc ); + + if ( ctx->test_vector_was_enabled ) { + (void) rtems_interrupt_vector_enable( ctx->test_vector ); + } + description: null text: ${.:text-template} transition-map: - enabled-by: true |