diff options
| author | Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com> | 2026-03-18 14:22:31 +0100 |
|---|---|---|
| committer | Khem Raj <raj.khem@gmail.com> | 2026-03-18 14:33:34 -0700 |
| commit | 216b1c7cb2e49d8d54f14e3fdea5c5ca359f20a2 (patch) | |
| tree | 0d3dac1279087b36ed977d00b310d6d6ec02d7bf | |
| parent | d875c64da18b804cd65ef8dabfcb3d20b93ccb29 (diff) | |
| download | meta-openembedded-216b1c7cb2e49d8d54f14e3fdea5c5ca359f20a2.tar.gz | |
libgpiod: fix gpio-tools tests failure with new coreutils
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>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
| -rw-r--r-- | meta-oe/recipes-support/libgpiod/libgpiod-2.x/0001-tools-tests-remove-SIGINT-test-cases.patch | 83 | ||||
| -rw-r--r-- | meta-oe/recipes-support/libgpiod/libgpiod_2.2.3.bb | 5 |
2 files changed, 87 insertions, 1 deletions
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 @@ | |||
| 1 | From 3c38c5f9ab49384039f35408656a88f87619dd03 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com> | ||
| 3 | Date: Wed, 18 Mar 2026 14:07:06 +0100 | ||
| 4 | Subject: [libgpiod][PATCH] tools: tests: remove SIGINT test cases | ||
| 5 | |||
| 6 | In coreutils v9.10 (specifically with commit 8c2461933411 ("timeout: | ||
| 7 | honor ignored signal dispositions")) the behavior of timeout changed and | ||
| 8 | it will no longer propagate SIGINT or SIGQUIT in shell background jobs. | ||
| 9 | This breaks the test cases checking the behavior of tools after SIGINT. | ||
| 10 | We have to assume that if exit after SIGTERM works, then so does it | ||
| 11 | after SIGINT and remove the failing tests. | ||
| 12 | |||
| 13 | Upstream-Status: Submitted [https://lore.kernel.org/all/20260318131413.56575-1-bartosz.golaszewski@oss.qualcomm.com/] | ||
| 14 | Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com> | ||
| 15 | --- | ||
| 16 | tools/gpio-tools-test.bash | 37 ------------------------------------- | ||
| 17 | 1 file changed, 37 deletions(-) | ||
| 18 | |||
| 19 | diff --git a/tools/gpio-tools-test.bash b/tools/gpio-tools-test.bash | ||
| 20 | index 71d6e3d..62f6836 100755 | ||
| 21 | --- a/tools/gpio-tools-test.bash | ||
| 22 | +++ b/tools/gpio-tools-test.bash | ||
| 23 | @@ -1415,17 +1415,6 @@ test_gpioset_with_lines_strictly_by_name() { | ||
| 24 | gpiosim_check_value sim0 6 0 | ||
| 25 | } | ||
| 26 | |||
| 27 | -test_gpioset_interactive_after_SIGINT() { | ||
| 28 | - gpiosim_chip sim0 num_lines=8 line_name=1:foo | ||
| 29 | - | ||
| 30 | - dut_run gpioset -i foo=1 | ||
| 31 | - | ||
| 32 | - dut_kill -SIGINT | ||
| 33 | - dut_wait | ||
| 34 | - | ||
| 35 | - status_is 130 | ||
| 36 | -} | ||
| 37 | - | ||
| 38 | test_gpioset_interactive_after_SIGTERM() { | ||
| 39 | gpiosim_chip sim0 num_lines=8 line_name=1:foo | ||
| 40 | |||
| 41 | @@ -1907,20 +1896,6 @@ test_gpiomon_multiple_lines_across_multiple_chips() { | ||
| 42 | assert_fail dut_readable | ||
| 43 | } | ||
| 44 | |||
| 45 | -test_gpiomon_exit_after_SIGINT() { | ||
| 46 | - gpiosim_chip sim0 num_lines=8 | ||
| 47 | - | ||
| 48 | - local sim0=${GPIOSIM_CHIP_NAME[sim0]} | ||
| 49 | - | ||
| 50 | - dut_run gpiomon --banner --chip "$sim0" 4 | ||
| 51 | - dut_regex_match "Monitoring line .*" | ||
| 52 | - | ||
| 53 | - dut_kill -SIGINT | ||
| 54 | - dut_wait | ||
| 55 | - | ||
| 56 | - status_is 130 | ||
| 57 | -} | ||
| 58 | - | ||
| 59 | test_gpiomon_exit_after_SIGTERM() { | ||
| 60 | gpiosim_chip sim0 num_lines=8 | ||
| 61 | |||
| 62 | @@ -2503,18 +2478,6 @@ test_gpionotify_multiple_lines_across_multiple_chips() { | ||
| 63 | assert_fail dut_readable | ||
| 64 | } | ||
| 65 | |||
| 66 | -test_gpionotify_exit_after_SIGINT() { | ||
| 67 | - gpiosim_chip sim0 num_lines=8 | ||
| 68 | - | ||
| 69 | - dut_run gpionotify --banner --chip "${GPIOSIM_CHIP_NAME[sim0]}" 4 | ||
| 70 | - dut_regex_match "Watching line .*" | ||
| 71 | - | ||
| 72 | - dut_kill -SIGINT | ||
| 73 | - dut_wait | ||
| 74 | - | ||
| 75 | - status_is 130 | ||
| 76 | -} | ||
| 77 | - | ||
| 78 | test_gpionotify_exit_after_SIGTERM() { | ||
| 79 | gpiosim_chip sim0 num_lines=8 | ||
| 80 | |||
| 81 | -- | ||
| 82 | 2.47.3 | ||
| 83 | |||
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 = " \ | |||
| 11 | 11 | ||
| 12 | FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}-2.x:" | 12 | FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}-2.x:" |
| 13 | 13 | ||
| 14 | SRC_URI += "file://gpio-manager.init" | 14 | SRC_URI += " \ |
| 15 | file://gpio-manager.init \ | ||
| 16 | file://0001-tools-tests-remove-SIGINT-test-cases.patch \ | ||
| 17 | " | ||
| 15 | 18 | ||
| 16 | SRC_URI[sha256sum] = "70012b0262e4b90f140431efa841ca89643b02ea6c09f507e23cec664a51b71a" | 19 | SRC_URI[sha256sum] = "70012b0262e4b90f140431efa841ca89643b02ea6c09f507e23cec664a51b71a" |
| 17 | 20 | ||
