summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>1999-12-09 16:53:41 +0000
committerJim Meyering <jim@meyering.net>1999-12-09 16:53:41 +0000
commit4c0b11a8e7c92c246ac7ee1ca3461e73676b70ac (patch)
tree5e9353623ac082c62c9001e157e35e4644e7e3b8 /tests
parent5ac2b8e39b1b8b85327e37723fc4a82e5259fa22 (diff)
downloadcoreutils-4c0b11a8e7c92c246ac7ee1ca3461e73676b70ac.tar.xz
*** empty log message ***
Diffstat (limited to 'tests')
-rwxr-xr-xtests/tail-2/fflush40
1 files changed, 40 insertions, 0 deletions
diff --git a/tests/tail-2/fflush b/tests/tail-2/fflush
new file mode 100755
index 000000000..3834f229a
--- /dev/null
+++ b/tests/tail-2/fflush
@@ -0,0 +1,40 @@
+#!/bin/sh
+# This test would fail on solaris2.7 with tail from pre-1.22k textutils.
+# The problem was that using the solaris2.7 setvbuf function to turn off
+# buffering doesn't flush stdout.
+
+# FIXME: actually, I couldn't find a way to write the test (without resorting
+# to use of expect) so that it would provoke the failure on solaris2.7.
+# To exercise the bug, cat's stdout seems to have to be directed
+# to a terminal.
+
+if test "$VERBOSE" = yes; then
+ set -x
+ tail --version
+fi
+
+tmp=tail-flush.$$
+pwd=`pwd`
+trap "cd $pwd; rm -rf $tmp" 0 1 2 3 15
+
+test_failure=0
+mkdir $tmp || test_failure=1
+cd $tmp || test_failure=1
+
+if test $test_failure = 1; then
+ echo 'failure in testing framework'
+ exit 1
+fi
+
+echo fubar > in
+tail -f in | cat > out &
+pid=$!
+sleep 1
+echo out: `cat out`
+kill $pid
+echo out: `cat out`
+
+fail=0
+test "`cat out`" = fubar || fail=1
+
+exit $fail