summaryrefslogtreecommitdiffstats
path: root/tests/xspawn.c
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@tavianator.com>2024-06-08 14:18:46 -0400
committerTavian Barnes <tavianator@tavianator.com>2024-06-08 14:30:07 -0400
commit8c130ca0117fd225c24569be2ec16c7dc2150a13 (patch)
tree56c682289d2393a4567d42d0effa31f564dc4b07 /tests/xspawn.c
parent354c0adcf7edea2d036e35681610fc693a6796c0 (diff)
downloadbfs-8c130ca0117fd225c24569be2ec16c7dc2150a13.tar.xz
xspawn: Check X_OK even without $PATH resolution
Not all posix_spawn() implementations use errno to report execv() failures from the child process, as that requires either a kernel posix_spawn() implementation or a pipe to pass the error back. This should fix tests/posix/exec_nonexistent on OpenBSD and HPPA. Link: https://buildd.debian.org/status/fetch.php?pkg=bfs&arch=hppa&ver=3.3.1-1&stamp=1717489148&raw=0
Diffstat (limited to 'tests/xspawn.c')
-rw-r--r--tests/xspawn.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/tests/xspawn.c b/tests/xspawn.c
index b1d6dc1..f48e220 100644
--- a/tests/xspawn.c
+++ b/tests/xspawn.c
@@ -179,6 +179,8 @@ static bool check_resolve(void) {
ret &= bfs_echeck(!bfs_spawn_resolve("eW6f5RM9Qi") && errno == ENOENT);
+ ret &= bfs_echeck(!bfs_spawn_resolve("bin/eW6f5RM9Qi") && errno == ENOENT);
+
return ret;
}