[rtems-central commit] validation: Add test-ident substitution

Sebastian Huber sebh at rtems.org
Fri Jul 21 07:13:10 UTC 2023


Module:    rtems-central
Branch:    master
Commit:    60b1d1a22f6fc1de26c3741d97737c07f66a797f
Changeset: http://git.rtems.org/rtems-central/commit/?id=60b1d1a22f6fc1de26c3741d97737c07f66a797f

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Thu Jul  6 17:15:58 2023 +0200

validation: Add test-ident substitution

---

 rtemsspec/tests/spec-validation/action2.yml | 3 +++
 rtemsspec/tests/test_validation.py          | 3 +++
 rtemsspec/validation.py                     | 7 +++++++
 3 files changed, 13 insertions(+)

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():



More information about the vc mailing list