[PATCH] tests/validation: Fix 64bit test failure

Joel Sherrill joel at rtems.org
Mon Feb 15 16:15:49 UTC 2021


Should this have a ticket and be applied to 5 also? There are other 64 bit
architectures but they don't get tested as often and thoroughly.

On Mon, Feb 15, 2021, 9:12 AM Kinsey Moore <kinsey.moore at oarcorp.com> wrote:

> From: ryan long <rlong at localhost.localdomain>
>
> The ts-validation-0 test currently fails on 64bit BSPs due to a
> limitation of the message structure. Changing the max message size to a
> size_t type and adjusting the expected value in the test resolves this.
>
> Closes #4179.
> ---
>  cpukit/include/rtems/rtems/message.h                | 2 +-
>  cpukit/include/rtems/score/coremsgimpl.h            | 2 +-
>  cpukit/score/src/coremsg.c                          | 2 +-
>  spec/build/bsps/aarch64/a53/tsta53.yml              | 3 ---
>  spec/build/bsps/aarch64/xilinx-zynqmp/tstqemu.yml   | 3 ---
>  testsuites/validation/tc-message-construct-errors.c | 2 +-
>  6 files changed, 4 insertions(+), 10 deletions(-)
>
> diff --git a/cpukit/include/rtems/rtems/message.h
> b/cpukit/include/rtems/rtems/message.h
> index 14083b8cd0..7bb48ba35a 100644
> --- a/cpukit/include/rtems/rtems/message.h
> +++ b/cpukit/include/rtems/rtems/message.h
> @@ -51,7 +51,7 @@ typedef struct {
>     * @brief This member defines the maximum number of pending messages
> supported
>     *   by the message queue.
>     */
> -  uint32_t maximum_pending_messages;
> +  size_t maximum_pending_messages;
>
>    /**
>     * @brief This member defines the maximum message size supported by the
> message
> diff --git a/cpukit/include/rtems/score/coremsgimpl.h
> b/cpukit/include/rtems/score/coremsgimpl.h
> index 6f6a01bea6..c7a424c08c 100644
> --- a/cpukit/include/rtems/score/coremsgimpl.h
> +++ b/cpukit/include/rtems/score/coremsgimpl.h
> @@ -144,7 +144,7 @@ void *_CORE_message_queue_Workspace_allocate(
>  Status_Control _CORE_message_queue_Initialize(
>    CORE_message_queue_Control          *the_message_queue,
>    CORE_message_queue_Disciplines       discipline,
> -  uint32_t                             maximum_pending_messages,
> +  size_t                               maximum_pending_messages,
>    size_t                               maximum_message_size,
>    CORE_message_queue_Allocate_buffers  allocate_buffers,
>    const void                          *arg
> diff --git a/cpukit/score/src/coremsg.c b/cpukit/score/src/coremsg.c
> index cf7f44ed17..530f05719a 100644
> --- a/cpukit/score/src/coremsg.c
> +++ b/cpukit/score/src/coremsg.c
> @@ -35,7 +35,7 @@ RTEMS_STATIC_ASSERT(
>  Status_Control _CORE_message_queue_Initialize(
>    CORE_message_queue_Control          *the_message_queue,
>    CORE_message_queue_Disciplines       discipline,
> -  uint32_t                             maximum_pending_messages,
> +  size_t                               maximum_pending_messages,
>    size_t                               maximum_message_size,
>    CORE_message_queue_Allocate_buffers  allocate_buffers,
>    const void                          *arg
> diff --git a/spec/build/bsps/aarch64/a53/tsta53.yml
> b/spec/build/bsps/aarch64/a53/tsta53.yml
> index 9135fac7f4..4ecef03641 100644
> --- a/spec/build/bsps/aarch64/a53/tsta53.yml
> +++ b/spec/build/bsps/aarch64/a53/tsta53.yml
> @@ -4,9 +4,6 @@ actions:
>      # expected to fail, don't compile these
>      minimum: exclude
>
> -    # test broken under 64bit due to SIZE_MAX differences
> -    validation-0: exclude
> -
>      # don't compile due to toolchain issues
>      spconfig01: exclude
>      spmisc01: exclude
> diff --git a/spec/build/bsps/aarch64/xilinx-zynqmp/tstqemu.yml
> b/spec/build/bsps/aarch64/xilinx-zynqmp/tstqemu.yml
> index d0efba65cd..45fdc503aa 100644
> --- a/spec/build/bsps/aarch64/xilinx-zynqmp/tstqemu.yml
> +++ b/spec/build/bsps/aarch64/xilinx-zynqmp/tstqemu.yml
> @@ -4,9 +4,6 @@ actions:
>      # expected to fail
>      minimum: exclude
>
> -    # test broken under 64bit due to SIZE_MAX differences
> -    validation-0: expected-fail
> -
>      # don't compile due to toolchain issues
>      spconfig01: exclude
>      spmisc01: exclude
> diff --git a/testsuites/validation/tc-message-construct-errors.c
> b/testsuites/validation/tc-message-construct-errors.c
> index 5820855ac4..903ff534fa 100644
> --- a/testsuites/validation/tc-message-construct-errors.c
> +++ b/testsuites/validation/tc-message-construct-errors.c
> @@ -278,7 +278,7 @@ static void
> RtemsMessageReqConstructErrors_Pre_MaxPending_Prepare(
>      }
>
>      case RtemsMessageReqConstructErrors_Pre_MaxPending_Big: {
> -      ctx->config.maximum_pending_messages = UINT32_MAX;
> +      ctx->config.maximum_pending_messages = SIZE_MAX;
>        break;
>      }
>
> --
> 2.20.1
>
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20210215/c4b4c292/attachment.html>


More information about the devel mailing list