diff mbox series

[meta-oe] libgpiod: fix gpio-tools tests failure with new coreutils

Message ID 20260318132231.57020-1-bartosz.golaszewski@oss.qualcomm.com
State Accepted
Headers show
Series [meta-oe] libgpiod: fix gpio-tools tests failure with new coreutils | expand

Commit Message

Bartosz Golaszewski March 18, 2026, 1:22 p.m. UTC
openembedded-core updated to coreutils v9.10 in which commit
8c2461933411 ("timeout: honor ignored signal dispositions") changed the
behavior of timeout. It will no longer propagate SIGINT to background
shell jobs which breaks test-cases for gpio-tools which verify that they
exit correctly after receiving SIGINT. This backports the patch sent
upstream that removed the offending test-cases as we already have a
similar set of tests for SIGTERM.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
---
 ...tools-tests-remove-SIGINT-test-cases.patch | 83 +++++++++++++++++++
 .../libgpiod/libgpiod_2.2.3.bb                |  5 +-
 2 files changed, 87 insertions(+), 1 deletion(-)
 create mode 100644 meta-oe/recipes-support/libgpiod/libgpiod-2.x/0001-tools-tests-remove-SIGINT-test-cases.patch
diff mbox series

Patch

diff --git a/meta-oe/recipes-support/libgpiod/libgpiod-2.x/0001-tools-tests-remove-SIGINT-test-cases.patch b/meta-oe/recipes-support/libgpiod/libgpiod-2.x/0001-tools-tests-remove-SIGINT-test-cases.patch
new file mode 100644
index 0000000000..7fe06b9882
--- /dev/null
+++ b/meta-oe/recipes-support/libgpiod/libgpiod-2.x/0001-tools-tests-remove-SIGINT-test-cases.patch
@@ -0,0 +1,83 @@ 
+From 3c38c5f9ab49384039f35408656a88f87619dd03 Mon Sep 17 00:00:00 2001
+From: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
+Date: Wed, 18 Mar 2026 14:07:06 +0100
+Subject: [libgpiod][PATCH] tools: tests: remove SIGINT test cases
+
+In coreutils v9.10 (specifically with commit 8c2461933411 ("timeout:
+honor ignored signal dispositions")) the behavior of timeout changed and
+it will no longer propagate SIGINT or SIGQUIT in shell background jobs.
+This breaks the test cases checking the behavior of tools after SIGINT.
+We have to assume that if exit after SIGTERM works, then so does it
+after SIGINT and remove the failing tests.
+
+Upstream-Status: Submitted [https://lore.kernel.org/all/20260318131413.56575-1-bartosz.golaszewski@oss.qualcomm.com/]
+Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
+---
+ tools/gpio-tools-test.bash | 37 -------------------------------------
+ 1 file changed, 37 deletions(-)
+
+diff --git a/tools/gpio-tools-test.bash b/tools/gpio-tools-test.bash
+index 71d6e3d..62f6836 100755
+--- a/tools/gpio-tools-test.bash
++++ b/tools/gpio-tools-test.bash
+@@ -1415,17 +1415,6 @@ test_gpioset_with_lines_strictly_by_name() {
+ 	gpiosim_check_value sim0 6 0
+ }
+ 
+-test_gpioset_interactive_after_SIGINT() {
+-	gpiosim_chip sim0 num_lines=8 line_name=1:foo
+-
+-	dut_run gpioset -i foo=1
+-
+-	dut_kill -SIGINT
+-	dut_wait
+-
+-	status_is 130
+-}
+-
+ test_gpioset_interactive_after_SIGTERM() {
+ 	gpiosim_chip sim0 num_lines=8 line_name=1:foo
+ 
+@@ -1907,20 +1896,6 @@ test_gpiomon_multiple_lines_across_multiple_chips() {
+ 	assert_fail dut_readable
+ }
+ 
+-test_gpiomon_exit_after_SIGINT() {
+-	gpiosim_chip sim0 num_lines=8
+-
+-	local sim0=${GPIOSIM_CHIP_NAME[sim0]}
+-
+-	dut_run gpiomon --banner --chip "$sim0" 4
+-	dut_regex_match "Monitoring line .*"
+-
+-	dut_kill -SIGINT
+-	dut_wait
+-
+-	status_is 130
+-}
+-
+ test_gpiomon_exit_after_SIGTERM() {
+ 	gpiosim_chip sim0 num_lines=8
+ 
+@@ -2503,18 +2478,6 @@ test_gpionotify_multiple_lines_across_multiple_chips() {
+ 	assert_fail dut_readable
+ }
+ 
+-test_gpionotify_exit_after_SIGINT() {
+-	gpiosim_chip sim0 num_lines=8
+-
+-	dut_run gpionotify --banner --chip "${GPIOSIM_CHIP_NAME[sim0]}" 4
+-	dut_regex_match "Watching line .*"
+-
+-	dut_kill -SIGINT
+-	dut_wait
+-
+-	status_is 130
+-}
+-
+ test_gpionotify_exit_after_SIGTERM() {
+ 	gpiosim_chip sim0 num_lines=8
+ 
+-- 
+2.47.3
+
diff --git a/meta-oe/recipes-support/libgpiod/libgpiod_2.2.3.bb b/meta-oe/recipes-support/libgpiod/libgpiod_2.2.3.bb
index a23d65bcaa..38829a620f 100644
--- a/meta-oe/recipes-support/libgpiod/libgpiod_2.2.3.bb
+++ b/meta-oe/recipes-support/libgpiod/libgpiod_2.2.3.bb
@@ -11,7 +11,10 @@  LIC_FILES_CHKSUM = " \
 
 FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}-2.x:"
 
-SRC_URI += "file://gpio-manager.init"
+SRC_URI += " \
+    file://gpio-manager.init \
+    file://0001-tools-tests-remove-SIGINT-test-cases.patch \
+"
 
 SRC_URI[sha256sum] = "70012b0262e4b90f140431efa841ca89643b02ea6c09f507e23cec664a51b71a"