diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-08-04 06:58:34 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-08-07 11:12:24 +0200 |
commit | 6135d0a6de5a6a11e0fd5c97a9fa5d5ab4ebd630 (patch) | |
tree | 7ce3dd28346a49e36f9e11bb8eb81b8f83585e4e | |
parent | validation: Fix N/A scope description (diff) | |
download | rtems-central-6135d0a6de5a6a11e0fd5c97a9fa5d5ab4ebd630.tar.bz2 |
validation: Move action code to separate function
-rw-r--r-- | rtemsspec/tests/test_validation.py | 16 | ||||
-rw-r--r-- | rtemsspec/validation.py | 10 |
2 files changed, 22 insertions, 4 deletions
diff --git a/rtemsspec/tests/test_validation.py b/rtemsspec/tests/test_validation.py index 7c7c2425..b0a7a3ef 100644 --- a/rtemsspec/tests/test_validation.py +++ b/rtemsspec/tests/test_validation.py @@ -726,6 +726,13 @@ static const struct { } }; +static void ClassicTaskIdentification_Action( + ClassicTaskIdentification_Context *ctx +) +{ + ctx->status = rtems_task_ident( ctx->name, ctx->node, ctx->id ); +} + /** * @fn void T_case_body_ClassicTaskIdentification( void ) * @@ -786,7 +793,7 @@ T_TEST_CASE_FIXTURE( ClassicTaskIdentification_Pre_Name_Prepare( ctx, ctx->pcs[ 0 ] ); ClassicTaskIdentification_Pre_Node_Prepare( ctx, ctx->pcs[ 1 ] ); ClassicTaskIdentification_Pre_Id_Prepare( ctx, ctx->pcs[ 2 ] ); - ctx->status = rtems_task_ident( ctx->name, ctx->node, ctx->id ); + ClassicTaskIdentification_Action( ctx ); ClassicTaskIdentification_Post_Status_Check( ctx, ClassicTaskIdentification_TransitionMap[ index ][ 0 ] @@ -1409,6 +1416,11 @@ static const struct { } }; +static void Action2_Action( Action2_Context *ctx ) +{ + /* Action */ +} + static T_fixture_node Action2_Node; void Action2_Run( int *a, int b, int *c ) @@ -1452,7 +1464,7 @@ void Action2_Run( int *a, int b, int *c ) Action2_Pre_A_Prepare( ctx, ctx->pcs[ 0 ] ); Action2_Pre_B_Prepare( ctx, ctx->pcs[ 1 ] ); - /* Action */ + Action2_Action( ctx ); Action2_Post_A_Check( ctx, Action2_TransitionMap[ index ][ 0 ] diff --git a/rtemsspec/validation.py b/rtemsspec/validation.py index cf3053ae..f7952052 100644 --- a/rtemsspec/validation.py +++ b/rtemsspec/validation.py @@ -472,12 +472,17 @@ class _TestDirectiveItem(_TestItem): content.append(["\n }, {\n".join(info_elements), " }", "};"]) def _add_action(self, content: CContent) -> None: + with content.function("static void", f"{self.ident}_Action", + [f"{self.context} *ctx"]): + content.append(self.substitute_code(self["test-action"])) + + def _add_loop_body(self, content: CContent) -> None: with content.condition(f"{self.ident}_TransitionInfo[ index ].Skip"): content.append(["++index;", "continue;"]) content.add_blank_line() for index, enum in enumerate(self._pre_index_to_enum): content.append(f"{enum[0]}_Prepare( ctx, ctx->pcs[ {index} ] );") - content.append(self.substitute_code(self["test-action"])) + content.append(f"{self.ident}_Action( ctx );") transition_map = f"{self.ident}_TransitionMap" for index, enum in enumerate(self._post_index_to_enum): content.append([ @@ -505,7 +510,7 @@ class _TestDirectiveItem(_TestItem): content.lines[-1] += ";" self._add_for_loops(content, index + 1) else: - self._add_action(content) + self._add_loop_body(content) def _add_test_case(self, content: CContent, header: Dict[str, Any]) -> None: @@ -637,6 +642,7 @@ class _TestDirectiveItem(_TestItem): f" .initial_context = &{self.ident}_Instance", "};" ]) self._add_transition_map(content) + self._add_action(content) self._add_test_case(content, header) content.add("/** @} */") |