/* SPDX-License-Identifier: BSD-2-Clause */ /** * @file * * @ingroup RtemsStatusReqText */ /* * Copyright (C) 2021 embedded brains GmbH & Co. KG * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ /* * This file is part of the RTEMS quality process and was automatically * generated. If you find something that needs to be fixed or * worded better please post a report or patch to an RTEMS mailing list * or raise a bug report: * * https://www.rtems.org/bugs.html * * For information on updating and regenerating please refer to the How-To * section in the Software Requirements Engineering chapter of the * RTEMS Software Engineering manual. The manual is provided as a part of * a release. For development sources please refer to the online * documentation at: * * https://docs.rtems.org */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include /** * @defgroup RtemsStatusReqText spec:/rtems/status/req/text * * @ingroup TestsuitesValidationNoClock0 * * @{ */ typedef enum { RtemsStatusReqText_Pre_Code_AlreadySuspended, RtemsStatusReqText_Pre_Code_CalledFromIsr, RtemsStatusReqText_Pre_Code_IllegalOnRemoteObject, RtemsStatusReqText_Pre_Code_IllegalOnSelf, RtemsStatusReqText_Pre_Code_IncorrectState, RtemsStatusReqText_Pre_Code_InternalError, RtemsStatusReqText_Pre_Code_Interrupted, RtemsStatusReqText_Pre_Code_InvalidAddress, RtemsStatusReqText_Pre_Code_InvalidClock, RtemsStatusReqText_Pre_Code_InvalidId, RtemsStatusReqText_Pre_Code_InvalidName, RtemsStatusReqText_Pre_Code_InvalidNode, RtemsStatusReqText_Pre_Code_InvalidNumber, RtemsStatusReqText_Pre_Code_InvalidPriority, RtemsStatusReqText_Pre_Code_InvalidSize, RtemsStatusReqText_Pre_Code_IoError, RtemsStatusReqText_Pre_Code_MpNotConfigured, RtemsStatusReqText_Pre_Code_NoMemory, RtemsStatusReqText_Pre_Code_NotConfigured, RtemsStatusReqText_Pre_Code_NotDefined, RtemsStatusReqText_Pre_Code_NotImplemented, RtemsStatusReqText_Pre_Code_NotOwnerOfResource, RtemsStatusReqText_Pre_Code_ObjectWasDeleted, RtemsStatusReqText_Pre_Code_ProxyBlocking, RtemsStatusReqText_Pre_Code_ResourceInUse, RtemsStatusReqText_Pre_Code_Successful, RtemsStatusReqText_Pre_Code_TaskExitted, RtemsStatusReqText_Pre_Code_Timeout, RtemsStatusReqText_Pre_Code_TooMany, RtemsStatusReqText_Pre_Code_Unsatisfied, RtemsStatusReqText_Pre_Code_NotAStatusCode, RtemsStatusReqText_Pre_Code_NA } RtemsStatusReqText_Pre_Code; typedef enum { RtemsStatusReqText_Post_Result_AlreadySuspended, RtemsStatusReqText_Post_Result_CalledFromIsr, RtemsStatusReqText_Post_Result_IllegalOnRemoteObject, RtemsStatusReqText_Post_Result_IllegalOnSelf, RtemsStatusReqText_Post_Result_IncorrectState, RtemsStatusReqText_Post_Result_InternalError, RtemsStatusReqText_Post_Result_Interrupted, RtemsStatusReqText_Post_Result_InvalidAddress, RtemsStatusReqText_Post_Result_InvalidClock, RtemsStatusReqText_Post_Result_InvalidId, RtemsStatusReqText_Post_Result_InvalidName, RtemsStatusReqText_Post_Result_InvalidNode, RtemsStatusReqText_Post_Result_InvalidNumber, RtemsStatusReqText_Post_Result_InvalidPriority, RtemsStatusReqText_Post_Result_InvalidSize, RtemsStatusReqText_Post_Result_IoError, RtemsStatusReqText_Post_Result_MpNotConfigured, RtemsStatusReqText_Post_Result_NoMemory, RtemsStatusReqText_Post_Result_NotConfigured, RtemsStatusReqText_Post_Result_NotDefined, RtemsStatusReqText_Post_Result_NotImplemented, RtemsStatusReqText_Post_Result_NotOwnerOfResource, RtemsStatusReqText_Post_Result_ObjectWasDeleted, RtemsStatusReqText_Post_Result_ProxyBlocking, RtemsStatusReqText_Post_Result_ResourceInUse, RtemsStatusReqText_Post_Result_Successful, RtemsStatusReqText_Post_Result_TaskExitted, RtemsStatusReqText_Post_Result_Timeout, RtemsStatusReqText_Post_Result_TooMany, RtemsStatusReqText_Post_Result_Unsatisfied, RtemsStatusReqText_Post_Result_NotAStatusCode, RtemsStatusReqText_Post_Result_NA } RtemsStatusReqText_Post_Result; typedef struct { uint8_t Skip : 1; uint8_t Pre_Code_NA : 1; uint8_t Post_Result : 5; } RtemsStatusReqText_Entry; /** * @brief Test context for spec:/rtems/status/req/text test case. */ typedef struct { /** * @brief This member specifies the ``status_code`` parameter value. */ rtems_status_code code; /** * @brief This member contains the return value of the rtems_status_text() * call. */ const char *result; struct { /** * @brief This member defines the pre-condition states for the next action. */ size_t pcs[ 1 ]; /** * @brief If this member is true, then the test action loop is executed. */ bool in_action_loop; /** * @brief This member contains the next transition map index. */ size_t index; /** * @brief This member contains the current transition map entry. */ RtemsStatusReqText_Entry entry; /** * @brief If this member is true, then the current transition variant * should be skipped. */ bool skip; } Map; } RtemsStatusReqText_Context; static RtemsStatusReqText_Context RtemsStatusReqText_Instance; static const char * const RtemsStatusReqText_PreDesc_Code[] = { "AlreadySuspended", "CalledFromIsr", "IllegalOnRemoteObject", "IllegalOnSelf", "IncorrectState", "InternalError", "Interrupted", "InvalidAddress", "InvalidClock", "InvalidId", "InvalidName", "InvalidNode", "InvalidNumber", "InvalidPriority", "InvalidSize", "IoError", "MpNotConfigured", "NoMemory", "NotConfigured", "NotDefined", "NotImplemented", "NotOwnerOfResource", "ObjectWasDeleted", "ProxyBlocking", "ResourceInUse", "Successful", "TaskExitted", "Timeout", "TooMany", "Unsatisfied", "NotAStatusCode", "NA" }; static const char * const * const RtemsStatusReqText_PreDesc[] = { RtemsStatusReqText_PreDesc_Code, NULL }; static void RtemsStatusReqText_Pre_Code_Prepare( RtemsStatusReqText_Context *ctx, RtemsStatusReqText_Pre_Code state ) { switch ( state ) { case RtemsStatusReqText_Pre_Code_AlreadySuspended: { /* * While the ``status_code`` parameter value is equal to * RTEMS_ALREADY_SUSPENDED. */ ctx->code = RTEMS_ALREADY_SUSPENDED; break; } case RtemsStatusReqText_Pre_Code_CalledFromIsr: { /* * While the ``status_code`` parameter value is equal to * RTEMS_CALLED_FROM_ISR. */ ctx->code = RTEMS_CALLED_FROM_ISR; break; } case RtemsStatusReqText_Pre_Code_IllegalOnRemoteObject: { /* * While the ``status_code`` parameter value is equal to * RTEMS_ILLEGAL_ON_REMOTE_OBJECT. */ break; } case RtemsStatusReqText_Pre_Code_IllegalOnSelf: { /* * While the ``status_code`` parameter value is equal to * RTEMS_ILLEGAL_ON_SELF. */ ctx->code = RTEMS_ILLEGAL_ON_SELF; break; } case RtemsStatusReqText_Pre_Code_IncorrectState: { /* * While the ``status_code`` parameter value is equal to * RTEMS_INCORRECT_STATE. */ ctx->code = RTEMS_INCORRECT_STATE; break; } case RtemsStatusReqText_Pre_Code_InternalError: { /* * While the ``status_code`` parameter value is equal to * RTEMS_INTERNAL_ERROR. */ ctx->code = RTEMS_INTERNAL_ERROR; break; } case RtemsStatusReqText_Pre_Code_Interrupted: { /* * While the ``status_code`` parameter value is equal to * RTEMS_INTERRUPTED. */ ctx->code = RTEMS_INTERRUPTED; break; } case RtemsStatusReqText_Pre_Code_InvalidAddress: { /* * While the ``status_code`` parameter value is equal to * RTEMS_INVALID_ADDRESS. */ ctx->code = RTEMS_INVALID_ADDRESS; break; } case RtemsStatusReqText_Pre_Code_InvalidClock: { /* * While the ``status_code`` parameter value is equal to * RTEMS_INVALID_CLOCK. */ ctx->code = RTEMS_INVALID_CLOCK; break; } case RtemsStatusReqText_Pre_Code_InvalidId: { /* * While the ``status_code`` parameter value is equal to * RTEMS_INVALID_ID. */ ctx->code = RTEMS_INVALID_ID; break; } case RtemsStatusReqText_Pre_Code_InvalidName: { /* * While the ``status_code`` parameter value is equal to * RTEMS_INVALID_NAME. */ ctx->code = RTEMS_INVALID_NAME; break; } case RtemsStatusReqText_Pre_Code_InvalidNode: { /* * While the ``status_code`` parameter value is equal to * RTEMS_INVALID_NODE. */ ctx->code = RTEMS_INVALID_NODE; break; } case RtemsStatusReqText_Pre_Code_InvalidNumber: { /* * While the ``status_code`` parameter value is equal to * RTEMS_INVALID_NUMBER. */ ctx->code = RTEMS_INVALID_NUMBER; break; } case RtemsStatusReqText_Pre_Code_InvalidPriority: { /* * While the ``status_code`` parameter value is equal to * RTEMS_INVALID_PRIORITY. */ ctx->code = RTEMS_INVALID_PRIORITY; break; } case RtemsStatusReqText_Pre_Code_InvalidSize: { /* * While the ``status_code`` parameter value is equal to * RTEMS_INVALID_SIZE. */ ctx->code = RTEMS_INVALID_SIZE; break; } case RtemsStatusReqText_Pre_Code_IoError: { /* * While the ``status_code`` parameter value is equal to RTEMS_IO_ERROR. */ ctx->code = RTEMS_IO_ERROR; break; } case RtemsStatusReqText_Pre_Code_MpNotConfigured: { /* * While the ``status_code`` parameter value is equal to * RTEMS_MP_NOT_CONFIGURED. */ ctx->code = RTEMS_MP_NOT_CONFIGURED; break; } case RtemsStatusReqText_Pre_Code_NoMemory: { /* * While the ``status_code`` parameter value is equal to RTEMS_NO_MEMORY. */ ctx->code = RTEMS_NO_MEMORY; break; } case RtemsStatusReqText_Pre_Code_NotConfigured: { /* * While the ``status_code`` parameter value is equal to * RTEMS_NOT_CONFIGURED. */ ctx->code = RTEMS_NOT_CONFIGURED; break; } case RtemsStatusReqText_Pre_Code_NotDefined: { /* * While the ``status_code`` parameter value is equal to * RTEMS_NOT_DEFINED. */ ctx->code = RTEMS_NOT_DEFINED; break; } case RtemsStatusReqText_Pre_Code_NotImplemented: { /* * While the ``status_code`` parameter value is equal to * RTEMS_NOT_IMPLEMENTED. */ ctx->code = RTEMS_NOT_IMPLEMENTED; break; } case RtemsStatusReqText_Pre_Code_NotOwnerOfResource: { /* * While the ``status_code`` parameter value is equal to * RTEMS_NOT_OWNER_OF_RESOURCE. */ ctx->code = RTEMS_NOT_OWNER_OF_RESOURCE; break; } case RtemsStatusReqText_Pre_Code_ObjectWasDeleted: { /* * While the ``status_code`` parameter value is equal to * RTEMS_OBJECT_WAS_DELETED. */ ctx->code = RTEMS_OBJECT_WAS_DELETED; break; } case RtemsStatusReqText_Pre_Code_ProxyBlocking: { /* * While the ``status_code`` parameter value is equal to * RTEMS_PROXY_BLOCKING. */ ctx->code = RTEMS_PROXY_BLOCKING; break; } case RtemsStatusReqText_Pre_Code_ResourceInUse: { /* * While the ``status_code`` parameter value is equal to * RTEMS_RESOURCE_IN_USE. */ ctx->code = RTEMS_RESOURCE_IN_USE; break; } case RtemsStatusReqText_Pre_Code_Successful: { /* * While the ``status_code`` parameter value is equal to * RTEMS_SUCCESSFUL. */ ctx->code = RTEMS_SUCCESSFUL; break; } case RtemsStatusReqText_Pre_Code_TaskExitted: { /* * While the ``status_code`` parameter value is equal to * RTEMS_TASK_EXITTED. */ ctx->code = RTEMS_TASK_EXITTED; break; } case RtemsStatusReqText_Pre_Code_Timeout: { /* * While the ``status_code`` parameter value is equal to RTEMS_TIMEOUT. */ ctx->code = RTEMS_TIMEOUT; break; } case RtemsStatusReqText_Pre_Code_TooMany: { /* * While the ``status_code`` parameter value is equal to RTEMS_TOO_MANY. */ ctx->code = RTEMS_TOO_MANY; break; } case RtemsStatusReqText_Pre_Code_Unsatisfied: { /* * While the ``status_code`` parameter value is equal to * RTEMS_UNSATISFIED. */ ctx->code = RTEMS_UNSATISFIED; break; } case RtemsStatusReqText_Pre_Code_NotAStatusCode: { /* * While the ``status_code`` parameter is not equal to an enumerator of * rtems_status_code. */ ctx->code = (rtems_status_code) 123; break; } case RtemsStatusReqText_Pre_Code_NA: break; } } static void RtemsStatusReqText_Post_Result_Check( RtemsStatusReqText_Context *ctx, RtemsStatusReqText_Post_Result state ) { switch ( state ) { case RtemsStatusReqText_Post_Result_AlreadySuspended: { /* * The return value of rtems_status_text() shall reference a string which * is equal to "RTEMS_ALREADY_SUSPENDED". */ T_eq_str( ctx->result, "RTEMS_ALREADY_SUSPENDED" ); break; } case RtemsStatusReqText_Post_Result_CalledFromIsr: { /* * The return value of rtems_status_text() shall reference a string which * is equal to "RTEMS_CALLED_FROM_ISR". */ T_eq_str( ctx->result, "RTEMS_CALLED_FROM_ISR" ); break; } case RtemsStatusReqText_Post_Result_IllegalOnRemoteObject: { /* * The return value of rtems_status_text() shall reference a string which * is equal to "RTEMS_ILLEGAL_ON_REMOTE_OBJECT". */ break; } case RtemsStatusReqText_Post_Result_IllegalOnSelf: { /* * The return value of rtems_status_text() shall reference a string which * is equal to "RTEMS_ILLEGAL_ON_SELF". */ T_eq_str( ctx->result, "RTEMS_ILLEGAL_ON_SELF" ); break; } case RtemsStatusReqText_Post_Result_IncorrectState: { /* * The return value of rtems_status_text() shall reference a string which * is equal to "RTEMS_INCORRECT_STATE". */ T_eq_str( ctx->result, "RTEMS_INCORRECT_STATE" ); break; } case RtemsStatusReqText_Post_Result_InternalError: { /* * The return value of rtems_status_text() shall reference a string which * is equal to "RTEMS_INTERNAL_ERROR". */ T_eq_str( ctx->result, "RTEMS_INTERNAL_ERROR" ); break; } case RtemsStatusReqText_Post_Result_Interrupted: { /* * The return value of rtems_status_text() shall reference a string which * is equal to "RTEMS_INTERRUPTED". */ T_eq_str( ctx->result, "RTEMS_INTERRUPTED" ); break; } case RtemsStatusReqText_Post_Result_InvalidAddress: { /* * The return value of rtems_status_text() shall reference a string which * is equal to "RTEMS_INVALID_ADDRESS". */ T_eq_str( ctx->result, "RTEMS_INVALID_ADDRESS" ); break; } case RtemsStatusReqText_Post_Result_InvalidClock: { /* * The return value of rtems_status_text() shall reference a string which * is equal to "RTEMS_INVALID_CLOCK". */ T_eq_str( ctx->result, "RTEMS_INVALID_CLOCK" ); break; } case RtemsStatusReqText_Post_Result_InvalidId: { /* * The return value of rtems_status_text() shall reference a string which * is equal to "RTEMS_INVALID_ID". */ T_eq_str( ctx->result, "RTEMS_INVALID_ID" ); break; } case RtemsStatusReqText_Post_Result_InvalidName: { /* * The return value of rtems_status_text() shall reference a string which * is equal to "RTEMS_INVALID_NAME". */ T_eq_str( ctx->result, "RTEMS_INVALID_NAME" ); break; } case RtemsStatusReqText_Post_Result_InvalidNode: { /* * The return value of rtems_status_text() shall reference a string which * is equal to "RTEMS_INVALID_NODE". */ T_eq_str( ctx->result, "RTEMS_INVALID_NODE" ); break; } case RtemsStatusReqText_Post_Result_InvalidNumber: { /* * The return value of rtems_status_text() shall reference a string which * is equal to "RTEMS_INVALID_NUMBER". */ T_eq_str( ctx->result, "RTEMS_INVALID_NUMBER" ); break; } case RtemsStatusReqText_Post_Result_InvalidPriority: { /* * The return value of rtems_status_text() shall reference a string which * is equal to "RTEMS_INVALID_PRIORITY". */ T_eq_str( ctx->result, "RTEMS_INVALID_PRIORITY" ); break; } case RtemsStatusReqText_Post_Result_InvalidSize: { /* * The return value of rtems_status_text() shall reference a string which * is equal to "RTEMS_INVALID_SIZE". */ T_eq_str( ctx->result, "RTEMS_INVALID_SIZE" ); break; } case RtemsStatusReqText_Post_Result_IoError: { /* * The return value of rtems_status_text() shall reference a string which * is equal to "RTEMS_IO_ERROR". */ T_eq_str( ctx->result, "RTEMS_IO_ERROR" ); break; } case RtemsStatusReqText_Post_Result_MpNotConfigured: { /* * The return value of rtems_status_text() shall reference a string which * is equal to "RTEMS_MP_NOT_CONFIGURED". */ T_eq_str( ctx->result, "RTEMS_MP_NOT_CONFIGURED" ); break; } case RtemsStatusReqText_Post_Result_NoMemory: { /* * The return value of rtems_status_text() shall reference a string which * is equal to "RTEMS_NO_MEMORY". */ T_eq_str( ctx->result, "RTEMS_NO_MEMORY" ); break; } case RtemsStatusReqText_Post_Result_NotConfigured: { /* * The return value of rtems_status_text() shall reference a string which * is equal to "RTEMS_NOT_CONFIGURED". */ T_eq_str( ctx->result, "RTEMS_NOT_CONFIGURED" ); break; } case RtemsStatusReqText_Post_Result_NotDefined: { /* * The return value of rtems_status_text() shall reference a string which * is equal to "RTEMS_NOT_DEFINED". */ T_eq_str( ctx->result, "RTEMS_NOT_DEFINED" ); break; } case RtemsStatusReqText_Post_Result_NotImplemented: { /* * The return value of rtems_status_text() shall reference a string which * is equal to "RTEMS_NOT_IMPLEMENTED". */ T_eq_str( ctx->result, "RTEMS_NOT_IMPLEMENTED" ); break; } case RtemsStatusReqText_Post_Result_NotOwnerOfResource: { /* * The return value of rtems_status_text() shall reference a string which * is equal to "RTEMS_NOT_OWNER_OF_RESOURCE". */ T_eq_str( ctx->result, "RTEMS_NOT_OWNER_OF_RESOURCE" ); break; } case RtemsStatusReqText_Post_Result_ObjectWasDeleted: { /* * The return value of rtems_status_text() shall reference a string which * is equal to "RTEMS_OBJECT_WAS_DELETED". */ T_eq_str( ctx->result, "RTEMS_OBJECT_WAS_DELETED" ); break; } case RtemsStatusReqText_Post_Result_ProxyBlocking: { /* * The return value of rtems_status_text() shall reference a string which * is equal to "RTEMS_PROXY_BLOCKING". */ T_eq_str( ctx->result, "RTEMS_PROXY_BLOCKING" ); break; } case RtemsStatusReqText_Post_Result_ResourceInUse: { /* * The return value of rtems_status_text() shall reference a string which * is equal to "RTEMS_RESOURCE_IN_USE". */ T_eq_str( ctx->result, "RTEMS_RESOURCE_IN_USE" ); break; } case RtemsStatusReqText_Post_Result_Successful: { /* * The return value of rtems_status_text() shall reference a string which * is equal to "RTEMS_SUCCESSFUL". */ T_eq_str( ctx->result, "RTEMS_SUCCESSFUL" ); break; } case RtemsStatusReqText_Post_Result_TaskExitted: { /* * The return value of rtems_status_text() shall reference a string which * is equal to "RTEMS_TASK_EXITTED". */ T_eq_str( ctx->result, "RTEMS_TASK_EXITTED" ); break; } case RtemsStatusReqText_Post_Result_Timeout: { /* * The return value of rtems_status_text() shall reference a string which * is equal to "RTEMS_TIMEOUT". */ T_eq_str( ctx->result, "RTEMS_TIMEOUT" ); break; } case RtemsStatusReqText_Post_Result_TooMany: { /* * The return value of rtems_status_text() shall reference a string which * is equal to "RTEMS_TOO_MANY". */ T_eq_str( ctx->result, "RTEMS_TOO_MANY" ); break; } case RtemsStatusReqText_Post_Result_Unsatisfied: { /* * The return value of rtems_status_text() shall reference a string which * is equal to "RTEMS_UNSATISFIED". */ T_eq_str( ctx->result, "RTEMS_UNSATISFIED" ); break; } case RtemsStatusReqText_Post_Result_NotAStatusCode: { /* * The return value of rtems_status_text() shall reference a string which * is equal to "?". */ T_eq_str( ctx->result, "?" ); break; } case RtemsStatusReqText_Post_Result_NA: break; } } static void RtemsStatusReqText_Action( RtemsStatusReqText_Context *ctx ) { ctx->result = rtems_status_text( ctx->code ); } static const RtemsStatusReqText_Entry RtemsStatusReqText_Entries[] = { { 0, 0, RtemsStatusReqText_Post_Result_AlreadySuspended }, { 0, 0, RtemsStatusReqText_Post_Result_CalledFromIsr }, { 0, 0, RtemsStatusReqText_Post_Result_IllegalOnRemoteObject }, { 0, 0, RtemsStatusReqText_Post_Result_IllegalOnSelf }, { 0, 0, RtemsStatusReqText_Post_Result_IncorrectState }, { 0, 0, RtemsStatusReqText_Post_Result_InternalError }, { 0, 0, RtemsStatusReqText_Post_Result_Interrupted }, { 0, 0, RtemsStatusReqText_Post_Result_InvalidAddress }, { 0, 0, RtemsStatusReqText_Post_Result_InvalidClock }, { 0, 0, RtemsStatusReqText_Post_Result_InvalidId }, { 0, 0, RtemsStatusReqText_Post_Result_InvalidName }, { 0, 0, RtemsStatusReqText_Post_Result_InvalidNode }, { 0, 0, RtemsStatusReqText_Post_Result_InvalidNumber }, { 0, 0, RtemsStatusReqText_Post_Result_InvalidPriority }, { 0, 0, RtemsStatusReqText_Post_Result_InvalidSize }, { 0, 0, RtemsStatusReqText_Post_Result_IoError }, { 0, 0, RtemsStatusReqText_Post_Result_MpNotConfigured }, { 0, 0, RtemsStatusReqText_Post_Result_NoMemory }, { 0, 0, RtemsStatusReqText_Post_Result_NotConfigured }, { 0, 0, RtemsStatusReqText_Post_Result_NotDefined }, { 0, 0, RtemsStatusReqText_Post_Result_NotImplemented }, { 0, 0, RtemsStatusReqText_Post_Result_NotOwnerOfResource }, { 0, 0, RtemsStatusReqText_Post_Result_ObjectWasDeleted }, { 0, 0, RtemsStatusReqText_Post_Result_ProxyBlocking }, { 0, 0, RtemsStatusReqText_Post_Result_ResourceInUse }, { 0, 0, RtemsStatusReqText_Post_Result_Successful }, { 0, 0, RtemsStatusReqText_Post_Result_TaskExitted }, { 0, 0, RtemsStatusReqText_Post_Result_Timeout }, { 0, 0, RtemsStatusReqText_Post_Result_TooMany }, { 0, 0, RtemsStatusReqText_Post_Result_Unsatisfied }, { 0, 0, RtemsStatusReqText_Post_Result_NotAStatusCode } }; static const uint8_t RtemsStatusReqText_Map[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 }; static size_t RtemsStatusReqText_Scope( void *arg, char *buf, size_t n ) { RtemsStatusReqText_Context *ctx; ctx = arg; if ( ctx->Map.in_action_loop ) { return T_get_scope( RtemsStatusReqText_PreDesc, buf, n, ctx->Map.pcs ); } return 0; } static T_fixture RtemsStatusReqText_Fixture = { .setup = NULL, .stop = NULL, .teardown = NULL, .scope = RtemsStatusReqText_Scope, .initial_context = &RtemsStatusReqText_Instance }; static inline RtemsStatusReqText_Entry RtemsStatusReqText_PopEntry( RtemsStatusReqText_Context *ctx ) { size_t index; index = ctx->Map.index; ctx->Map.index = index + 1; return RtemsStatusReqText_Entries[ RtemsStatusReqText_Map[ index ] ]; } static void RtemsStatusReqText_TestVariant( RtemsStatusReqText_Context *ctx ) { RtemsStatusReqText_Pre_Code_Prepare( ctx, ctx->Map.pcs[ 0 ] ); RtemsStatusReqText_Action( ctx ); RtemsStatusReqText_Post_Result_Check( ctx, ctx->Map.entry.Post_Result ); } /** * @fn void T_case_body_RtemsStatusReqText( void ) */ T_TEST_CASE_FIXTURE( RtemsStatusReqText, &RtemsStatusReqText_Fixture ) { RtemsStatusReqText_Context *ctx; ctx = T_fixture_context(); ctx->Map.in_action_loop = true; ctx->Map.index = 0; for ( ctx->Map.pcs[ 0 ] = RtemsStatusReqText_Pre_Code_AlreadySuspended; ctx->Map.pcs[ 0 ] < RtemsStatusReqText_Pre_Code_NA; ++ctx->Map.pcs[ 0 ] ) { ctx->Map.entry = RtemsStatusReqText_PopEntry( ctx ); RtemsStatusReqText_TestVariant( ctx ); } } /** @} */