diff options
author | Tavian Barnes <tavianator@tavianator.com> | 2023-10-14 08:55:57 -0400 |
---|---|---|
committer | Tavian Barnes <tavianator@tavianator.com> | 2023-10-14 08:55:57 -0400 |
commit | ddb476bcd224f8c262d24981af48da2fc649f43d (patch) | |
tree | 1e016328a9ee33c54d0e35e4ed85fbc675b6a280 /tests/bfs | |
parent | 287c2c72afeb8fbf017cd62cc100b2d05dca0fae (diff) | |
download | bfs-ddb476bcd224f8c262d24981af48da2fc649f43d.tar.xz |
tests: Move closed_std* tests out of the POSIX group
POSIX actually says
> If the utility would be executed with file descriptor 0, 1, or 2
> closed, implementations may execute the utility with the file
> descriptor open to an unspecified file.
So we're not guaranteed to be able to detect the situation in the first
place. Add a best-effort check for these platforms and skip the test.
Link: https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_09_01_01
Diffstat (limited to 'tests/bfs')
-rw-r--r-- | tests/bfs/closed_stderr.sh | 4 | ||||
-rw-r--r-- | tests/bfs/closed_stdin.out | 19 | ||||
-rw-r--r-- | tests/bfs/closed_stdin.sh | 1 | ||||
-rw-r--r-- | tests/bfs/closed_stdout.sh | 4 |
4 files changed, 28 insertions, 0 deletions
diff --git a/tests/bfs/closed_stderr.sh b/tests/bfs/closed_stderr.sh new file mode 100644 index 0000000..26abd85 --- /dev/null +++ b/tests/bfs/closed_stderr.sh @@ -0,0 +1,4 @@ +# Check if the platform automatically re-opens stderr before we can +(bash -c 'echo >&2' 2>&-) && skip + +! invoke_bfs basic >&- 2>&- diff --git a/tests/bfs/closed_stdin.out b/tests/bfs/closed_stdin.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/bfs/closed_stdin.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/bfs/closed_stdin.sh b/tests/bfs/closed_stdin.sh new file mode 100644 index 0000000..6932be8 --- /dev/null +++ b/tests/bfs/closed_stdin.sh @@ -0,0 +1 @@ +bfs_diff basic <&- diff --git a/tests/bfs/closed_stdout.sh b/tests/bfs/closed_stdout.sh new file mode 100644 index 0000000..5b6f7c3 --- /dev/null +++ b/tests/bfs/closed_stdout.sh @@ -0,0 +1,4 @@ +# Check if the platform automatically re-opens stdout before we can +(bash -c echo >&-) && skip + +! invoke_bfs basic >&- |