summaryrefslogtreecommitdiff
path: root/rtemsspec
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2023-07-06 17:15:58 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2023-07-21 09:34:01 +0200
commit60b1d1a22f6fc1de26c3741d97737c07f66a797f (patch)
tree27e1f25f95b4e2f8dd6c1e2b1a26cb3aa5e75e3c /rtemsspec
parent6ea50c8684bd7f1284e412f97571e42168f626c7 (diff)
validation: Add test-ident substitution
Diffstat (limited to 'rtemsspec')
-rw-r--r--rtemsspec/tests/spec-validation/action2.yml3
-rw-r--r--rtemsspec/tests/test_validation.py3
-rw-r--r--rtemsspec/validation.py7
3 files changed, 13 insertions, 0 deletions
diff --git a/rtemsspec/tests/spec-validation/action2.yml b/rtemsspec/tests/spec-validation/action2.yml
index 19e3a234..5fce4619 100644
--- a/rtemsspec/tests/spec-validation/action2.yml
+++ b/rtemsspec/tests/spec-validation/action2.yml
@@ -179,7 +179,10 @@ test-setup:
test-stop: null
test-support: |
/* Support code */
+
${.:/test-context-type} *instance = &${.:/test-context-instance};
+
+ static const char ident[] = "${.:/test-ident}";
test-target: action2.c
test-teardown:
brief: |
diff --git a/rtemsspec/tests/test_validation.py b/rtemsspec/tests/test_validation.py
index c4872d49..74f23f91 100644
--- a/rtemsspec/tests/test_validation.py
+++ b/rtemsspec/tests/test_validation.py
@@ -2009,8 +2009,11 @@ static const char * const * const Action2_PreDesc[] = {
};
/* Support code */
+
Action2_Context *instance = &Action2_Instance;
+static const char ident[] = "Action2";
+
static void Action2_Pre_A_Prepare( Action2_Context *ctx, Action2_Pre_A state )
{
/* Pre A prologue. */
diff --git a/rtemsspec/validation.py b/rtemsspec/validation.py
index 363ce568..501aadd5 100644
--- a/rtemsspec/validation.py
+++ b/rtemsspec/validation.py
@@ -54,6 +54,10 @@ def _get_test_context_type(ctx: ItemGetValueContext) -> Any:
return f"{ctx.item.ident}_Context"
+def _get_test_ident(ctx: ItemGetValueContext) -> Any:
+ return ctx.item.ident
+
+
def _get_test_run(ctx: ItemGetValueContext) -> Any:
return f"{ctx.item.ident}_Run"
@@ -87,6 +91,8 @@ class _Mapper(ItemMapper):
_get_test_context_instance)
self.add_get_value("requirement/functional/action:/test-context-type",
_get_test_context_type)
+ self.add_get_value("requirement/functional/action:/test-ident",
+ _get_test_ident)
self.add_get_value("requirement/functional/action:/test-run",
_get_test_run)
self.add_get_value("runtime-measurement-test:/test-context-type",
@@ -96,6 +102,7 @@ class _Mapper(ItemMapper):
_get_test_context_instance)
self.add_get_value("test-case:/test-context-type",
_get_test_context_type)
+ self.add_get_value("test-case:/test-ident", _get_test_ident)
self.add_get_value("test-case:/test-run", _get_test_run)
self.add_get_value("test-suite:/test-suite-name", _get_test_suite_name)
for type_name in item.cache.items_by_type.keys():