summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@tavianator.com>2023-10-14 08:55:57 -0400
committerTavian Barnes <tavianator@tavianator.com>2023-10-14 08:55:57 -0400
commitddb476bcd224f8c262d24981af48da2fc649f43d (patch)
tree1e016328a9ee33c54d0e35e4ed85fbc675b6a280
parent287c2c72afeb8fbf017cd62cc100b2d05dca0fae (diff)
downloadbfs-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
-rw-r--r--tests/bfs/closed_stderr.sh4
-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.sh4
-rw-r--r--tests/posix/closed_stderr.sh1
-rw-r--r--tests/posix/closed_stdout.sh1
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 >&-