on master help sign in
text/tests/scripts/cover-stdio.sh
62 lines 1.2 kB history raw
1#!/bin/bash
3if [[ $# < 1 ]]; then
4 echo "Usage: $0 <exe>"
5 exit 1
6fi
8exe=$1
10rm -f $exe.tix
12f=$(mktemp stdio-f.XXXXXX)
13g=$(mktemp stdio-g.XXXXXX)
15for t in T TL; do
16 echo $t.readFile > $f
17 $exe $t.readFile $f > $g
18 if ! diff -u $f $g; then
19 errs=$((errs+1))
20 echo FAIL: $t.readFile 1>&2
21 fi
23 $exe $t.writeFile $f $t.writeFile
24 echo -n $t.writeFile > $g
25 if ! diff -u $f $g; then
26 errs=$((errs+1))
27 echo FAIL: $t.writeFile 1>&2
28 fi
30 echo -n quux > $f
31 $exe $t.appendFile $f $t.appendFile
32 echo -n quux$t.appendFile > $g
33 if ! diff -u $f $g; then
34 errs=$((errs+1))
35 echo FAIL: $t.appendFile 1>&2
36 fi
38 echo $t.interact | $exe $t.interact > $f
39 echo $t.interact > $g
40 if ! diff -u $f $g; then
41 errs=$((errs+1))
42 echo FAIL: $t.interact 1>&2
43 fi
45 echo $t.getContents | $exe $t.getContents > $f
46 echo $t.getContents > $g
47 if ! diff -u $f $g; then
48 errs=$((errs+1))
49 echo FAIL: $t.getContents 1>&2
50 fi
52 echo $t.getLine | $exe $t.getLine > $f
53 echo $t.getLine > $g
54 if ! diff -u $f $g; then
55 errs=$((errs+1))
56 echo FAIL: $t.getLine 1>&2
57 fi
58done
60rm -f $f $g
62exit $errs