[rtems-central commit] spec: Properly teardown test cases
Sebastian Huber
sebh at rtems.org
Wed Nov 9 16:00:27 UTC 2022
Module: rtems-central
Branch: master
Commit: 46392cdc1f0ae57b314541ac5cc0d29fdafffac6
Changeset: http://git.rtems.org/rtems-central/commit/?id=46392cdc1f0ae57b314541ac5cc0d29fdafffac6
Author: Sebastian Huber <sebastian.huber at embedded-brains.de>
Date: Wed Nov 9 17:12:11 2022 +0100
spec: Properly teardown test cases
---
spec/rtems/intr/req/entry-install.yml | 19 ++++++++++++++++++-
spec/rtems/intr/req/entry-remove.yml | 19 ++++++++++++++++++-
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
@@ -424,6 +424,12 @@ test-context:
description: null
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
@@ -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
@@ -470,6 +470,12 @@ test-context:
description: null
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
@@ -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
@@ -148,6 +148,12 @@ test-context:
description: null
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
@@ -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
More information about the vc
mailing list