summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2022-11-09 17:12:11 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2022-11-09 17:12:11 +0100
commit46392cdc1f0ae57b314541ac5cc0d29fdafffac6 (patch)
tree7863eb39f2d4fe5090866685c212ca30e93c22fe
parentspec: Fix type in description (diff)
downloadrtems-central-46392cdc1f0ae57b314541ac5cc0d29fdafffac6.tar.bz2
spec: Properly teardown test cases
-rw-r--r--spec/rtems/intr/req/entry-install.yml19
-rw-r--r--spec/rtems/intr/req/entry-remove.yml19
-rw-r--r--spec/rtems/intr/req/handler-iterate.yml27
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