diff --git a/community/pueue/APKBUILD b/community/pueue/APKBUILD index e2a753fea54..75ea80ef9b3 100644 --- a/community/pueue/APKBUILD +++ b/community/pueue/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Jakub Jirutka pkgname=pueue pkgver=4.0.4 -pkgrel=0 +pkgrel=1 pkgdesc="Manage your shell commands" url="https://github.com/nukesor/pueue" arch="all" @@ -14,7 +14,9 @@ subpackages=" $pkgname-fish-completion $pkgname-zsh-completion " -source="https://github.com/Nukesor/pueue/archive/v$pkgver/pueue-$pkgver.tar.gz" +source="https://github.com/Nukesor/pueue/archive/v$pkgver/pueue-$pkgver.tar.gz + process-helper-tests-ignore-zombies.patch + " options="net" prepare() { @@ -32,28 +34,31 @@ build() { done } +# process_helper kill tests: see process-helper-tests-ignore-zombies.patch (no per-arch --skip). +# loongarch64 / riscv64: flaky or race-sensitive integration tests on slow hardware. check() { - # kill tests fail in CI and builders due to PID 1 reaping behavior - local _skip_tests="--skip process_helper::unix::tests::test_normal_command_children_are_killed \ - --skip process_helper::unix::tests::test_shell_command_children_are_killed \ - --skip process_helper::unix::tests::test_shell_command_is_killed \ - --skip process_helper::unix::tests::test_shell_command_is_killed_with_signal" + local _skip_tests= case "$CARCH" in loongarch64) - # flaky timeout/race-sensitive tests on slow hardware _skip_tests="$_skip_tests \ --skip client::integration::wait::multiple_tasks \ --skip client::integration::wait::single_task_target_status \ --skip client::integration::wait::success_failure \ --skip client::integration::wait::success_success \ --skip client::integration::wait::target_status \ - --skip daemon::integration::stashed::test_delayed_tasks" + --skip daemon::integration::callback::test_callback_variables \ + --skip daemon::integration::start::test_start_stashed_tasks \ + --skip daemon::integration::stashed::test_delayed_tasks \ + --skip daemon::integration::restore::test_start_paused::case_2" ;; riscv64) - # flaky timeout/race-sensitive tests on slow hardware + # flaky follow output / timing on slow hardware _skip_tests="$_skip_tests \ - --skip client::integration::follow::default::case_1" + --skip client::integration::follow::default::case_1 \ + --skip client::integration::follow::default::case_2 \ + --skip client::integration::follow::last_lines::case_1 \ + --skip client::integration::follow::last_lines::case_2" ;; esac @@ -73,4 +78,5 @@ package() { sha512sums=" fc79d9dd2acd8861e67a2a52ddf935c7e923b89899abbd487aa8f30b85a9272d56f94a92442380576850e9eacac0e71817e8a852565712f08e17e9921c523845 pueue-4.0.4.tar.gz +8563b4db5eb234295c52b0db5e1ca8b76f89eb1bf9585efe13f00067ac6b8aaab7e004891a557d53b8f4703d7a734ef57c694955f1fa7492c1cdcfa9b5ff4bde process-helper-tests-ignore-zombies.patch " diff --git a/community/pueue/process-helper-tests-ignore-zombies.patch b/community/pueue/process-helper-tests-ignore-zombies.patch new file mode 100644 index 00000000000..909c5935f75 --- /dev/null +++ b/community/pueue/process-helper-tests-ignore-zombies.patch @@ -0,0 +1,20 @@ +From: Alpine Linux packaging +Subject: [PATCH] process_helper tests: ignore zombie PIDs in process group listing + +libproc may still return PIDs in the target process group after SIGKILL while +those processes are zombies waiting to be reaped. procfs::Process::is_alive +(and thus process_exists) excludes zombies, so filtering the libproc list +matches the intent of the tests: no live stray processes. + +--- a/pueue/src/process_helper/unix.rs ++++ b/pueue/src/process_helper/unix.rs +@@ -96,6 +96,9 @@ mod tests { + if !processes.iter().any(|pid| pid == &pgrp) && !process_is_gone(pgrp) { + processes.push(pgrp) + } ++ // Zombies remain visible to libproc until reaped; `process_exists` reflects ++ // /proc liveness and excludes defunct entries for stable post-kill checks. ++ processes.retain(|&pid| process_exists(pid)); + processes + } + }