Re: [v3][libgpiod][PATCH 1/1] gpio-tools-test.bats: modify delays in toggle test

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jun 5, 2023 at 10:43 PM <joe.slater@xxxxxxxxxxxxx> wrote:
>
> From: Joe Slater <joe.slater@xxxxxxxxxxxxx>
>
> The test "gpioset: toggle (continuous)" uses fixed delays to test
> toggling values.  This is not reliable, so we switch to looking
> for transitions from one value to another.
>
> We wait for a transition up to 1.5 seconds.
>
> Signed-off-by: Joe Slater <joe.slater@xxxxxxxxxxxxx>
> ---
>  tools/gpio-tools-test.bats | 24 +++++++++++++++++++-----
>  1 file changed, 19 insertions(+), 5 deletions(-)
>
> diff --git a/tools/gpio-tools-test.bats b/tools/gpio-tools-test.bats
> index c83ca7d..05d7138 100755
> --- a/tools/gpio-tools-test.bats
> +++ b/tools/gpio-tools-test.bats
> @@ -141,6 +141,20 @@ gpiosim_check_value() {
>         [ "$VAL" = "$EXPECTED" ]
>  }
>
> +gpiosim_wait_value() {
> +       local OFFSET=$2
> +       local EXPECTED=$3
> +       local DEVNAME=${GPIOSIM_DEV_NAME[$1]}
> +       local CHIPNAME=${GPIOSIM_CHIP_NAME[$1]}
> +       local PORT=$GPIOSIM_SYSFS/$DEVNAME/$CHIPNAME/sim_gpio$OFFSET/value
> +
> +       for i in {1..15}; do
> +               [ "$(<$PORT)" = "$EXPECTED" ] && return
> +               sleep 0.1
> +       done
> +       return 1
> +}
> +
>  gpiosim_cleanup() {
>         for CHIP in ${!GPIOSIM_CHIP_NAME[@]}
>         do
> @@ -1567,15 +1581,15 @@ request_release_line() {
>         gpiosim_check_value sim0 4 0
>         gpiosim_check_value sim0 7 0
>
> -       sleep 1
> -
> -       gpiosim_check_value sim0 1 0
> +       # sleeping fixed amounts can be unreliable, so we
> +       # sync to the toggles
> +       #
> +       gpiosim_wait_value sim0 1 0
>         gpiosim_check_value sim0 4 1
>         gpiosim_check_value sim0 7 1
>
> -       sleep 1
>
> -       gpiosim_check_value sim0 1 1
> +       gpiosim_wait_value sim0 1 1
>         gpiosim_check_value sim0 4 0
>         gpiosim_check_value sim0 7 0
>  }
> --
> 2.25.1
>

I applied this version as it no longer breaks my qemu tests. Please
feel free to send it for meta-openembedded now with Upstream-status
set to accepted and make sure to Cc me.

Bart




[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux