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 | |
parent | 287c2c72afeb8fbf017cd62cc100b2d05dca0fae (diff) |
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
-rw-r--r-- | tests/bfs/closed_stderr.sh | 4 | ||||
-rw-r--r-- | tests/bfs/closed_stdin.out (renamed from tests/posix/closed_stdin.out) | 0 | ||||
-rw-r--r-- | tests/bfs/closed_stdin.sh (renamed from tests/posix/closed_stdin.sh) | 0 | ||||
-rw-r--r-- | tests/bfs/closed_stdout.sh | 4 | ||||
-rw-r--r-- | tests/posix/closed_stderr.sh | 1 | ||||
-rw-r--r-- | tests/posix/closed_stdout.sh | 1 |
6 files changed, 8 insertions, 2 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/posix/closed_stdin.out b/tests/bfs/closed_stdin.out index a7ccfe4..a7ccfe4 100644 --- a/tests/posix/closed_stdin.out +++ b/tests/bfs/closed_stdin.out diff --git a/tests/posix/closed_stdin.sh b/tests/bfs/closed_stdin.sh index 6932be8..6932be8 100644 --- a/tests/posix/closed_stdin.sh +++ b/tests/bfs/closed_stdin.sh 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 >&- diff --git a/tests/posix/closed_stderr.sh b/tests/posix/closed_stderr.sh deleted file mode 100644 index 570d5bb..0000000 --- a/tests/posix/closed_stderr.sh +++ /dev/null @@ -1 +0,0 @@ -! invoke_bfs basic >&- 2>&- diff --git a/tests/posix/closed_stdout.sh b/tests/posix/closed_stdout.sh deleted file mode 100644 index 25c060d..0000000 --- a/tests/posix/closed_stdout.sh +++ /dev/null @@ -1 +0,0 @@ -! invoke_bfs basic >&- |