summaryrefslogtreecommitdiff
path: root/gnulib-tests/test-perror.sh
diff options
context:
space:
mode:
Diffstat (limited to 'gnulib-tests/test-perror.sh')
-rwxr-xr-xgnulib-tests/test-perror.sh24
1 files changed, 24 insertions, 0 deletions
diff --git a/gnulib-tests/test-perror.sh b/gnulib-tests/test-perror.sh
new file mode 100755
index 0000000..7274d32
--- /dev/null
+++ b/gnulib-tests/test-perror.sh
@@ -0,0 +1,24 @@
+#!/bin/sh
+: ${srcdir=.}
+. "$srcdir/init.sh"; path_prepend_ .
+
+# Test NULL prefix. Result should not contain a number.
+test-perror 2>&1 >/dev/null | LC_ALL=C tr -d '\r' > t-perror.tmp
+grep '[0-9]' t-perror.tmp > /dev/null \
+ && fail_ "result should not contain a number"
+
+# Test empty prefix. Result should be the same.
+test-perror '' 2>&1 >/dev/null | LC_ALL=C tr -d '\r' > t-perror1.tmp
+diff t-perror.tmp t-perror1.tmp \
+ || fail_ "empty prefix should behave like NULL argument"
+
+# Test non-empty prefix.
+test-perror foo 2>&1 >/dev/null | LC_ALL=C tr -d '\r' > t-perror3.tmp
+sed -e 's/^/foo: /' < t-perror.tmp > t-perror2.tmp
+diff t-perror2.tmp t-perror3.tmp || fail_ "prefix applied incorrectly"
+
+# Test exit status.
+test-perror >out 2>/dev/null || fail_ "unexpected exit status"
+test -s out && fail_ "unexpected output"
+
+Exit 0