aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoe Slater <joe.slater@windriver.com>2023-06-15 15:04:10 -0700
committerArmin Kuster <akuster808@gmail.com>2023-06-17 13:15:52 -0400
commit6e9118383c62a38f313e9bc3d19fa79b70c12cf2 (patch)
treeb274570a8793b3e481f657ed4781ad258be96bc5
parent7649dfaedf9f56b63b93dbf0d08fc3fedf2b79b2 (diff)
downloadmeta-openembedded-6e9118383c62a38f313e9bc3d19fa79b70c12cf2.tar.gz
libgpiod: modify test 'gpioset: toggle (continuous)'
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> cherry-pick from meta-oe/master 45a8bb2620... Signed-off-by: Joe Slater <joe.slater@windriver.com> Signed-off-by: Armin Kuster <akuster808@gmail.com>
-rw-r--r--meta-oe/recipes-support/libgpiod/libgpiod-2.0/gpio-tools-test-bats-modify.patch67
-rw-r--r--meta-oe/recipes-support/libgpiod/libgpiod_2.0.bb2
2 files changed, 69 insertions, 0 deletions
diff --git a/meta-oe/recipes-support/libgpiod/libgpiod-2.0/gpio-tools-test-bats-modify.patch b/meta-oe/recipes-support/libgpiod/libgpiod-2.0/gpio-tools-test-bats-modify.patch
new file mode 100644
index 0000000000..4d49467968
--- /dev/null
+++ b/meta-oe/recipes-support/libgpiod/libgpiod-2.0/gpio-tools-test-bats-modify.patch
@@ -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
+
diff --git a/meta-oe/recipes-support/libgpiod/libgpiod_2.0.bb b/meta-oe/recipes-support/libgpiod/libgpiod_2.0.bb
index 179fe170e2..ee20aaf792 100644
--- a/meta-oe/recipes-support/libgpiod/libgpiod_2.0.bb
+++ b/meta-oe/recipes-support/libgpiod/libgpiod_2.0.bb
@@ -11,6 +11,8 @@ SRC_URI[sha256sum] = "f74cbf82038b3cb98ebeb25bce55ee2553be28194002d2a9889b9268cc
S = "${WORKDIR}/libgpiod-2.0"
+SRC_URI += "file://gpio-tools-test-bats-modify.patch"
+
# We must enable gpioset-interactive for all gpio-tools tests to pass
PACKAGECONFIG[tests] = "--enable-tests --enable-gpioset-interactive,--disable-tests,kmod util-linux glib-2.0 catch2 libedit"
PACKAGECONFIG[gpioset-interactive] = "--enable-gpioset-interactive,--disable-gpioset-interactive,libedit"