haskell-te: 371309c07dee470c53a175a738cf93c65d3e8555
1: # A quick and dirty sanity check
2: { bash, mkBin, writeScript }:
3:
4: mkBin {
5: name = "checkStderr";
6: paths = [ bash ];
7: vars = {
8: knownErrors = writeScript "known-errors" ''
9: jq: error
10: MLSpec: Failed
11: syntax error
12: Argument list too long
13: out of memory
14: parse error:
15: ^error:
16: '';
17: };
18: script = ''
19: #!${bash}/bin/bash
20: set -e
21:
22: ERR=""
23:
24: function check() {
25: while read -r LINE
26: do
27: # Spit out line so user can see it
28: echo "$LINE" 1>&2
29:
30: # Check if it contains an error
31: if echo "$LINE" | grep -f "$knownErrors" > /dev/null
32: then
33: ERR="$ERR $1"
34: fi
35: done
36: }
37:
38: # Check stdin if it's not a TTY
39: if ! [ -t 0 ]
40: then
41: cat | check "stdin (NOTE: May have been redirected from stderr)"
42: fi
43:
44: # Check any given args
45: for F in "$@"
46: do
47: check "$F" < "$F"
48: done
49:
50: [[ -z "$ERR" ]] || {
51: echo "Errors found in$ERR" 1>&2
52: exit 2
53: }
54:
55: exit
56: '';
57: }
Generated by git2html.