Skip to content

Commit

Permalink
libgpiod: modify test 'gpioset: toggle (continuous)'
Browse files Browse the repository at this point in the history
Look for level transitions when testing toggling
values because using fixed delays to assume value
changes is not reliable.

Signed-off-by: Joe Slater <joe.slater@windriver.com>
Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
  • Loading branch information
jwslater0823 authored and kraj committed Jun 14, 2023
1 parent ce00fec commit 45a8bb2
Show file tree
Hide file tree
Showing 2 changed files with 69 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
From 53f9670d6af1bd0745c1df9c469b269c72607b23 Mon Sep 17 00:00:00 2001
From: Joe Slater <joe.slater@windriver.com>
Date: Tue, 6 Jun 2023 08:04:27 -0700
Subject: [PATCH] tools: tests: modify delays in toggle test

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@windriver.com>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>

Upstream-status: accepted

Signed-off-by: Joe Slater <joe.slater@windriver.com>
---
tools/gpio-tools-test.bats | 21 ++++++++++++++++-----
1 file changed, 16 insertions(+), 5 deletions(-)

diff --git a/tools/gpio-tools-test.bats b/tools/gpio-tools-test.bats
index c83ca7d..929c35a 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,12 @@ request_release_line() {
gpiosim_check_value sim0 4 0
gpiosim_check_value sim0 7 0

- sleep 1
-
- gpiosim_check_value sim0 1 0
+ 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

2 changes: 2 additions & 0 deletions meta-oe/recipes-support/libgpiod/libgpiod_2.0.1.bb
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ LIC_FILES_CHKSUM = " \

FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}-2.x:"

SRC_URI += "file://gpio-tools-test-bats-modify.patch"

SRC_URI[sha256sum] = "b5367d28d045b36007a4ffd42cceda4c358737ef4f2ce22b0c1d05ec57a38392"

# Enable all project features for ptest
Expand Down

0 comments on commit 45a8bb2

Please sign in to comment.