strata: update to 0.19.0, skip two tests the build host cannot run

0.19.0 adds two restart_waiter tests that run `sh -c 'while kill -0 "$1"; do sleep; done'` with the pid u32::MAX. Arch's sh is bash 5.3, whose kill builtin in POSIX mode prints "not a pid or valid job spec" for that number but exits 0, so the loop never ends; every droplet build of 0.19.0 sat there until the 180-minute job timeout. Upstream CI runs on Ubuntu, where sh is dash and rejects the number.

It also adds ownership_probe_errors_disable_in_place_updates, which points the pacman path at a directory and expects Command::output() to fail. aarch64 builds run under QEMU user-mode emulation, where glibc's posix_spawn cannot observe the child's failed execve; the spawn succeeds with exit 127 and the assertion fails. Skipped on aarch64 only; it passes natively.

Both skips carry comments; the sync bot rewrites only version fields, so they survive future syncs.
This commit is contained in:
Ryan Hughes committed 2026-09-20 21:34:14 -04:00
1 parent 955ebc0127
commit 1c0ea5be84
1 file changed
+17 -3
+17 -3
View File
@@ -1,5 +1,5 @@
pkgname=strata
pkgver=0.18.0
pkgver=0.19.0
pkgrel=1
pkgdesc='Fast, keyboard-first file manager for modern Linux desktops'
arch=('x86_64' 'aarch64')
@@ -39,7 +39,7 @@ conflicts=('strata-git')
options=('!debug' '!lto')
source=("$pkgname-$pkgver.tar.gz::$url/archive/refs/tags/v$pkgver.tar.gz")
sha256sums=('82cfa5701f537e53d235b30e9450e1fcd5f2e7ccfea64ba317941e8e8766094b')
sha256sums=('51701930728625ce1d6394949a4b6b2705f0999fd08be87f1a26d900209d62e0')
prepare() {
cd "$pkgname-$pkgver"
@@ -84,8 +84,22 @@ check() {
rm -rf -- "$search_tmp"
(( test_status == 0 )) || return "$test_status"
# restart_waiter_* run `sh -c 'while kill -0 "$1"; do sleep; done'` with
# the pid u32::MAX. Arch's sh is bash, and bash's kill builtin in POSIX
# mode prints "not a pid or valid job spec" for that number but exits 0,
# so the loop never ends and the job hits its 180-minute timeout.
# Upstream CI runs on Ubuntu, where sh is dash and rejects the number.
# Skip until upstream waits on a real pid.
local skip=(--skip services::search::tests:: --skip ui::settings::tests::restart_waiter_)
# ownership_probe_errors_disable_in_place_updates points the pacman path
# at a directory and expects Command::output() to fail. aarch64 builds
# run under QEMU user-mode emulation, where glibc's posix_spawn cannot
# observe the child's failed execve (natively it returns EACCES); the
# spawn "succeeds" with exit 127, the probe reads that as "not owned",
# and the assertion fails. Passes natively.
[[ $CARCH == aarch64 ]] && skip+=(--skip services::update_install::tests::ownership_probe_errors_disable_in_place_updates)
cargo test --frozen --release --all-targets --all-features \
-- --test-threads=1 --skip services::search::tests::
-- --test-threads=1 "${skip[@]}"
}
package() {