summaryrefslogtreecommitdiffstats
path: root/rtemsspec
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2021-08-17 17:32:35 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2021-08-17 17:55:18 +0200
commit2085243b4d063ee571313d53b1fd6c0de9dd5816 (patch)
tree7b367a5e81e8e3007e997c36f9c5c900897538bd /rtemsspec
parentspec: Move TQ get owner to base context (diff)
downloadrtems-central-2085243b4d063ee571313d53b1fd6c0de9dd5816.tar.bz2
validation: Add ${.:/test-context-type}
Add and use ${.:/test-context-type} and ${.:/test-context-instance} substitutions.
Diffstat (limited to 'rtemsspec')
-rw-r--r--rtemsspec/tests/spec-validation/action2.yml1
-rw-r--r--rtemsspec/tests/test_validation.py1
-rw-r--r--rtemsspec/validation.py19
3 files changed, 20 insertions, 1 deletions
diff --git a/rtemsspec/tests/spec-validation/action2.yml b/rtemsspec/tests/spec-validation/action2.yml
index 17b649ae..6cbdd39d 100644
--- a/rtemsspec/tests/spec-validation/action2.yml
+++ b/rtemsspec/tests/spec-validation/action2.yml
@@ -179,6 +179,7 @@ test-setup:
test-stop: null
test-support: |
/* Support code */
+ ${.:/test-context-type} *instance = &${.:/test-context-instance};
test-target: action2.c
test-teardown:
brief: |
diff --git a/rtemsspec/tests/test_validation.py b/rtemsspec/tests/test_validation.py
index e1b11575..b47aaca0 100644
--- a/rtemsspec/tests/test_validation.py
+++ b/rtemsspec/tests/test_validation.py
@@ -1946,6 +1946,7 @@ static const char * const * const Action2_PreDesc[] = {
};
/* Support code */
+Action2_Context *instance = &Action2_Instance;
static void Action2_Pre_A_Prepare( Action2_Context *ctx, Action2_Pre_A state )
{
diff --git a/rtemsspec/validation.py b/rtemsspec/validation.py
index bae2910f..88625784 100644
--- a/rtemsspec/validation.py
+++ b/rtemsspec/validation.py
@@ -43,8 +43,16 @@ ItemMap = Dict[str, Item]
_STEPS = re.compile(r"^steps/([0-9]+)$")
+def _get_test_context_instance(ctx: ItemGetValueContext) -> Any:
+ return f"{to_camel_case(ctx.item.uid[1:])}_Instance"
+
+
+def _get_test_context_type(ctx: ItemGetValueContext) -> Any:
+ return f"{to_camel_case(ctx.item.uid[1:])}_Context"
+
+
def _get_test_run(ctx: ItemGetValueContext) -> Any:
- return f"{to_camel_case(ctx.item.uid[1:]).replace(' ', '')}_Run"
+ return f"{to_camel_case(ctx.item.uid[1:])}_Run"
class _Mapper(ItemMapper):
@@ -58,8 +66,17 @@ class _Mapper(ItemMapper):
self.add_get_value("interface/group:/name", get_value_doxygen_group)
self.add_get_value("interface/macro:/name", get_value_doxygen_function)
self.add_get_value("interface/macro:/params/name", get_value_params)
+ self.add_get_value(
+ "requirement/functional/action:/test-context-instance",
+ _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-run",
_get_test_run)
+ self.add_get_value("test-case:/test-context-instance",
+ _get_test_context_instance)
+ self.add_get_value("test-case:/test-context-type",
+ _get_test_context_type)
self.add_get_value("test-case:/test-run", _get_test_run)
@property