[PATCH 4/4] eng: Add ability to skip action transitions
Sebastian Huber
sebastian.huber at embedded-brains.de
Mon Jul 27 13:45:41 UTC 2020
Sometimes the pre-conditions in an action requirement are not
independent and it is necessary skip a certain set of pre-condition
states. This should be used with care since no test code is run in
these cases. There shall be a reason given why skipping a transition is
justified.
Update #3715.
---
eng/req/items.rst | 51 +++++++++++++++++++++++++++++++++++++++--------
1 file changed, 43 insertions(+), 8 deletions(-)
diff --git a/eng/req/items.rst b/eng/req/items.rst
index aca4d50..2c61876 100644
--- a/eng/req/items.rst
+++ b/eng/req/items.rst
@@ -1690,6 +1690,10 @@ pre-conditions
The attribute value shall be a list. Each list element shall be an
:ref:`SpecTypeActionRequirementCondition`.
+skip-reasons
+ The attribute value shall be an
+ :ref:`SpecTypeActionRequirementSkipReasons`.
+
test-action
The attribute value shall be a string. It shall be the test action code.
@@ -1818,6 +1822,7 @@ Please have a look at the following example:
test-epilogue: null
test-prologue: null
requirement-type: functional
+ skip-reasons: {}
test-action: |
/* Call the function of the action */
test-brief: null
@@ -2204,12 +2209,32 @@ This type is used by the following types:
* :ref:`SpecTypeActionRequirementCondition`
+* :ref:`SpecTypeActionRequirementSkipReasons`
+
* :ref:`SpecTypeActionRequirementState`
* :ref:`SpecTypeActionRequirementTransitionPostConditions`
* :ref:`SpecTypeActionRequirementTransitionPreConditions`
+.. _SpecTypeActionRequirementSkipReasons:
+
+Action Requirement Skip Reasons
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+This set of attributes specifies skip reasons used to justify why transitions
+in the transition map are skipped. Generic attributes may be specified. Each
+generic attribute key shall be an :ref:`SpecTypeActionRequirementName`. Each
+generic attribute value shall be a string. The key defines the name of a skip
+reason. The name can be used in
+:ref:`SpecTypeActionRequirementTransitionPostConditions` to skip the
+corresponding transitions. The value shall give a reason why the transitions
+are skipped.
+
+This type is used by the following types:
+
+* :ref:`SpecTypeActionRequirementItemType`
+
.. _SpecTypeActionRequirementState:
Action Requirement State
@@ -2410,14 +2435,24 @@ This type is used by the following types:
Action Requirement Transition Post-Conditions
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-This set of attributes defines for each post-condition the state after the
-action for a transition in an action requirement. Generic attributes may be
-specified. Each generic attribute key shall be an
-:ref:`SpecTypeActionRequirementName`. Each generic attribute value shall be an
-:ref:`SpecTypeActionRequirementName`. There shall be exactly one generic
-attribute key for each post-condition. The key name shall be the
-post-condition name. The value of each generic attribute shall be the state of
-the post-condition.
+A value of this type shall be of one of the following variants:
+
+* The value may be a set of attributes. This set of attributes defines for each
+ post-condition the state after the action for a transition in an action
+ requirement. Generic attributes may be specified. Each generic attribute key
+ shall be an :ref:`SpecTypeActionRequirementName`. Each generic attribute
+ value shall be an :ref:`SpecTypeActionRequirementName`. There shall be
+ exactly one generic attribute key for each post-condition. The key name
+ shall be the post-condition name. The value of each generic attribute shall
+ be the state of the post-condition.
+
+* The value may be a string. It shall be the name of a skip reason. If a skip
+ reason is given instead of a listing of post-condition states, then this
+ transition is skipped and no test code runs for this transition. The value
+
+ * shall match with the regular expression "``^[A-Z][a-zA-Z0-9]+$"``,
+
+ * and, shall be not equal to "``NA``".
This type is used by the following types:
--
2.26.2
More information about the devel
mailing list