summaryrefslogtreecommitdiffstats
path: root/rtemsspec
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2020-08-04 09:04:40 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2020-08-19 11:29:34 +0200
commite3e1de716d95b2e14a077d57f38ef77b3eb73ac8 (patch)
tree6ba0ab90921b6fe444439417257b03a60af576b4 /rtemsspec
parentvalidation: Add test early preparation (diff)
downloadrtems-central-e3e1de716d95b2e14a077d57f38ef77b3eb73ac8.tar.bz2
validation: Add test cleanup
Diffstat (limited to 'rtemsspec')
-rw-r--r--rtemsspec/tests/spec-validation/action2.yml2
-rw-r--r--rtemsspec/tests/spec-validation/directive.yml1
-rw-r--r--rtemsspec/tests/test_validation.py6
-rw-r--r--rtemsspec/validation.py2
4 files changed, 11 insertions, 0 deletions
diff --git a/rtemsspec/tests/spec-validation/action2.yml b/rtemsspec/tests/spec-validation/action2.yml
index 9a56d818..4cb5e6a4 100644
--- a/rtemsspec/tests/spec-validation/action2.yml
+++ b/rtemsspec/tests/spec-validation/action2.yml
@@ -85,6 +85,8 @@ test-action: |
/* Action */
test-brief: |
Test brief.
+test-cleanup: |
+ /* Cleanup */
test-context:
- brief: |
Context member brief.
diff --git a/rtemsspec/tests/spec-validation/directive.yml b/rtemsspec/tests/spec-validation/directive.yml
index 47eef2ec..333a47f8 100644
--- a/rtemsspec/tests/spec-validation/directive.yml
+++ b/rtemsspec/tests/spec-validation/directive.yml
@@ -158,6 +158,7 @@ skip-reasons: {}
test-action: |
ctx->status = rtems_task_ident( ctx->name, ctx->node, ctx->id );
test-brief: Test rtems_task_ident() brief description.
+test-cleanup: null
test-context:
- brief: |
Brief context member description.
diff --git a/rtemsspec/tests/test_validation.py b/rtemsspec/tests/test_validation.py
index 76b9c63e..a1b3979b 100644
--- a/rtemsspec/tests/test_validation.py
+++ b/rtemsspec/tests/test_validation.py
@@ -1426,6 +1426,11 @@ static void Action2_Action( Action2_Context *ctx )
/* Action */
}
+static void Action2_Cleanup( Action2_Context *ctx )
+{
+ /* Cleanup */
+}
+
static T_fixture_node Action2_Node;
void Action2_Run( int *a, int b, int *c )
@@ -1479,6 +1484,7 @@ void Action2_Run( int *a, int b, int *c )
ctx,
Action2_TransitionMap[ index ][ 1 ]
);
+ Action2_Cleanup( ctx );
++index;
}
}
diff --git a/rtemsspec/validation.py b/rtemsspec/validation.py
index 20c69114..c93ed96c 100644
--- a/rtemsspec/validation.py
+++ b/rtemsspec/validation.py
@@ -495,6 +495,7 @@ class _TestDirectiveItem(_TestItem):
f"{enum[0]}_Check(", " ctx,",
f" {transition_map}[ index ][ {index} ]", ");"
])
+ self._add_call(content, "test-cleanup", "Cleanup")
content.append("++index;")
def _add_for_loops(self, content: CContent, index: int) -> None:
@@ -650,6 +651,7 @@ class _TestDirectiveItem(_TestItem):
self._add_transition_map(content)
self._add_function(content, "test-prepare", "Prepare")
self._add_function(content, "test-action", "Action")
+ self._add_function(content, "test-cleanup", "Cleanup")
self._add_test_case(content, header)
content.add("/** @} */")