summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2023-11-22 15:00:38 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2023-11-27 09:50:10 +0100
commit14c4f4151cbf3f6234e321c01fc6a11469f48c17 (patch)
tree04554d34fd2c0ed26c70f023abb9a8b93a96c6f4
parentspec: Fix enabled-by (diff)
downloadrtems-central-14c4f4151cbf3f6234e321c01fc6a11469f48c17.tar.bz2
validation: Add nested test case remarks
-rw-r--r--rtemsspec/tests/test_validation.py18
-rw-r--r--rtemsspec/validation.py17
2 files changed, 31 insertions, 4 deletions
diff --git a/rtemsspec/tests/test_validation.py b/rtemsspec/tests/test_validation.py
index 74f23f91..539f6070 100644
--- a/rtemsspec/tests/test_validation.py
+++ b/rtemsspec/tests/test_validation.py
@@ -1468,6 +1468,11 @@ static void Tc7_Action_0( void )
static T_fixture_node Tc7_Node;
+static T_remark Tc7_Remark = {
+ .next = NULL,
+ .remark = "Tc7"
+};
+
void Tc7_Run( void )
{
T_push_fixture( &Tc7_Node, &T_empty_fixture );
@@ -1476,6 +1481,7 @@ void Tc7_Run( void )
Tc7_Action_0();
+ T_add_remark( &Tc7_Remark );
T_pop_fixture();
}
@@ -1521,6 +1527,11 @@ static void Tc8_Action_0( Tc8_Context *ctx )
static T_fixture_node Tc8_Node;
+static T_remark Tc8_Remark = {
+ .next = NULL,
+ .remark = "Tc8"
+};
+
void Tc8_Run( void )
{
Tc8_Context *ctx;
@@ -1531,6 +1542,7 @@ void Tc8_Run( void )
Tc8_Action_0( ctx );
+ T_add_remark( &Tc8_Remark );
T_pop_fixture();
}
@@ -2363,6 +2375,11 @@ static void Action2_TestVariant( Action2_Context *ctx )
static T_fixture_node Action2_Node;
+static T_remark Action2_Remark = {
+ .next = NULL,
+ .remark = "Action2"
+};
+
void Action2_Run( int *a, int b, int *c )
{
Action2_Context *ctx;
@@ -2406,6 +2423,7 @@ void Action2_Run( int *a, int b, int *c )
}
}
+ T_add_remark( &Action2_Remark );
T_pop_fixture();
}
diff --git a/rtemsspec/validation.py b/rtemsspec/validation.py
index 501aadd5..a78dfabf 100644
--- a/rtemsspec/validation.py
+++ b/rtemsspec/validation.py
@@ -434,6 +434,17 @@ class _TestItem:
for param in header["run-params"]
])
+ def _add_fixture_node_and_remark(self, content: CContent,
+ epilogue: CContent) -> None:
+ content.add(f"static T_fixture_node {self.ident}_Node;")
+ content.add([
+ f"static T_remark {self.ident}_Remark = {{", " .next = NULL,",
+ f" .remark = \"{self.ident}\"", "};"
+ ])
+ epilogue.call_function(None, "T_add_remark", [f"&{self.ident}_Remark"])
+ epilogue.gap = False
+ epilogue.add("T_pop_fixture();")
+
def _add_runner_prologue_and_epilogue(self, content: CContent,
prologue: CContent,
epilogue: CContent,
@@ -450,10 +461,9 @@ class _TestItem:
[f"\"{self.ident}\"", fixture])
epilogue.add("T_case_end();")
else:
- content.add(f"static T_fixture_node {self.ident}_Node;")
prologue.call_function(result, "T_push_fixture",
[f"&{self.ident}_Node", fixture])
- epilogue.add("T_pop_fixture();")
+ self._add_fixture_node_and_remark(content, epilogue)
def generate(self, content: CContent, base_directory: str,
test_case_to_suites: _CaseToSuite) -> None:
@@ -764,7 +774,6 @@ class _ActionRequirementTestItem(_TestItem):
if self._pre_co_skip:
map_members_initialization.append("ctx->Map.skip = false;")
if header:
- content.add(f"static T_fixture_node {self.ident}_Node;")
ret = "void"
name = f"{self.ident}_Run"
params = self._get_run_params(header)
@@ -773,7 +782,7 @@ class _ActionRequirementTestItem(_TestItem):
prologue.call_function("ctx =", "T_push_fixture",
[f"&{self.ident}_Node", f"&{fixture}"])
prologue.append(map_members_initialization)
- epilogue.add("T_pop_fixture();")
+ self._add_fixture_node_and_remark(content, epilogue)
align = True
else:
with content.function_block(