summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2020-08-04 09:14:52 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2020-08-19 11:29:34 +0200
commit82426ed3a2434541026a817b21f655d7af84a698 (patch)
treef7207f219feb3738a78f3ee14a1f237f8b746a78
parentvalidation: Add test cleanup (diff)
downloadrtems-central-82426ed3a2434541026a817b21f655d7af84a698.tar.bz2
validation: Add test context support
-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.py2
-rw-r--r--rtemsspec/validation.py1
-rw-r--r--spec/req/rtems/ident-local.yml1
-rw-r--r--spec/req/rtems/ident.yml1
-rw-r--r--spec/req/rtems/tasks/ident.yml1
-rw-r--r--spec/spec/requirement-action.yml7
8 files changed, 16 insertions, 0 deletions
diff --git a/rtemsspec/tests/spec-validation/action2.yml b/rtemsspec/tests/spec-validation/action2.yml
index 4cb5e6a4..dcb88080 100644
--- a/rtemsspec/tests/spec-validation/action2.yml
+++ b/rtemsspec/tests/spec-validation/action2.yml
@@ -94,6 +94,8 @@ test-context:
Context member description.
member: |
int member
+test-context-support: |
+ /* Context support code */
test-description: |
Test description.
test-header:
diff --git a/rtemsspec/tests/spec-validation/directive.yml b/rtemsspec/tests/spec-validation/directive.yml
index 333a47f8..59fadab8 100644
--- a/rtemsspec/tests/spec-validation/directive.yml
+++ b/rtemsspec/tests/spec-validation/directive.yml
@@ -190,6 +190,7 @@ test-context:
description: null
member: |
rtems_id id_remote_task
+test-context-support: null
test-description: Test rtems_task_ident() description.
test-header: null
test-includes:
diff --git a/rtemsspec/tests/test_validation.py b/rtemsspec/tests/test_validation.py
index a1b3979b..88995fba 100644
--- a/rtemsspec/tests/test_validation.py
+++ b/rtemsspec/tests/test_validation.py
@@ -1159,6 +1159,8 @@ void Action2_Run( int *a, int b, int *c );
* @{
*/
+/* Context support code */
+
/**
* @brief Test context for Action 2 test case.
*/
diff --git a/rtemsspec/validation.py b/rtemsspec/validation.py
index c93ed96c..6f93b472 100644
--- a/rtemsspec/validation.py
+++ b/rtemsspec/validation.py
@@ -301,6 +301,7 @@ class _TestDirectiveItem(_TestItem):
content.add("};")
def _add_context(self, content: CContent, header: Dict[str, Any]) -> None:
+ content.add(self.substitute_code(self["test-context-support"]))
with content.doxygen_block():
content.add_brief_description(
f"Test context for {self.name} test case.")
diff --git a/spec/req/rtems/ident-local.yml b/spec/req/rtems/ident-local.yml
index a6ef3a80..146842e7 100644
--- a/spec/req/rtems/ident-local.yml
+++ b/spec/req/rtems/ident-local.yml
@@ -103,6 +103,7 @@ test-context:
- brief: null
description: null
member: rtems_id id_value
+test-context-support: null
test-description: null
test-header:
code: |
diff --git a/spec/req/rtems/ident.yml b/spec/req/rtems/ident.yml
index 978bd5f3..0ee60c8f 100644
--- a/spec/req/rtems/ident.yml
+++ b/spec/req/rtems/ident.yml
@@ -163,6 +163,7 @@ test-context:
- brief: null
description: null
member: rtems_id id_remote_object
+test-context-support: null
test-description: null
test-header:
code: |
diff --git a/spec/req/rtems/tasks/ident.yml b/spec/req/rtems/tasks/ident.yml
index c9b4c1f8..27b80b60 100644
--- a/spec/req/rtems/tasks/ident.yml
+++ b/spec/req/rtems/tasks/ident.yml
@@ -70,6 +70,7 @@ test-context:
- brief: null
description: null
member: rtems_id id_local_object
+test-context-support: null
test-description: null
test-header: null
test-includes: []
diff --git a/spec/spec/requirement-action.yml b/spec/spec/requirement-action.yml
index 093ef671..184a7b06 100644
--- a/spec/spec/requirement-action.yml
+++ b/spec/spec/requirement-action.yml
@@ -93,6 +93,7 @@ spec-example: |
- brief: null
description: null
member: option_type option
+ test-context-support: null
test-description: null
test-header: null
test-includes: []
@@ -161,6 +162,12 @@ spec-info:
test-context:
description: null
spec-type: requirement-action-test-context-list
+ test-context-support:
+ description: |
+ If the value is present, then it shall be the test context support
+ code. The context support code is placed at file scope before the
+ test context definition.
+ spec-type: optional-str
test-description:
description: |
If the value is present, then it shall be the test case description.