tests: avoid portability problem with dash vs. symlinked ttys
authorPádraig Brady <P@draigBrady.com>
Tue, 9 Nov 2010 12:43:20 +0000 (12:43 +0000)
committerPádraig Brady <P@draigBrady.com>
Tue, 9 Nov 2010 12:43:20 +0000 (12:43 +0000)
* tests/mv/i-3: Adjust so that the symlink is resolved
before redirecting to the background command, as otherwise
the stdin descriptor passed to the command will fail the
isatty() or ttyname() test.

tests/mv/i-3

index 78a2526..7247d94 100755 (executable)
@@ -34,10 +34,14 @@ chmod 0 g i || framework_failure
 ls /dev/stdin >/dev/null 2>&1 \
   || skip_test_ 'there is no /dev/stdin file'
 
-test -r /dev/stdin 2>&1 \
+# work around a dash bug when redirecting
+# from symlinked ttys in the background
+tty=$(readlink -f /dev/stdin)
+
+test -r "$tty" 2>&1 \
   || skip_test_ '/dev/stdin is not readable'
 
-mv f g < /dev/stdin > out 2>&1 & pid=$!
+mv f g < $tty > out 2>&1 & pid=$!
 
 # Wait up to 3.1s for the expected prompt
 check_overwrite_prompt()