Whamcloud - gitweb
LU-322 tests: Pool test fixes for large number of OSTs
[fs/lustre-release.git] / build / test-commit-msg.sh
1 #!/bin/bash
2
3 program=$0
4 progdir=$(\cd $(dirname $0) >/dev/null && pwd)
5
6 die() {
7         exec 1>&2
8         echo "$program fatal error:  $*"
9         exit 1
10 }
11
12 TEMPFILE=$(mktemp ${TMPDIR:-.}/commit-XXXXXX)
13 test -f "$TEMPFILE" || die "mktemp fails"
14 trap "rm -f $TEMPFILE COMMIT*" EXIT
15
16 test $# -eq 0 && set -- ${progdir}/commit.*
17
18 readonly report_fmt='%-20s %s\n'
19 for f
20 do
21         case "$f" in
22         ( *.orig | *.rej ) continue ;;
23         esac
24         cp $f $TEMPFILE
25         results=$(exec 2>&1
26                 ${SHELL:-sh} $progdir/commit-msg $TEMPFILE)
27         case $'\n'"$results" in
28         ( *$'\nerror:'* ) OK=0 ;;
29         ( * ) OK=1 ;;
30         esac
31
32         f=$(basename $f)
33         case $OK${f#*commit.} in
34         1ok*)   printf "$report_fmt" $f: "PASS (was allowed)" ;;
35         0ok*)   printf "$report_fmt" $f: "FAIL (not allowed)" ;;
36         0*)     printf "$report_fmt" $f: "PASS (found error)" ;;
37         *)      printf "$report_fmt" $f: "FAIL (no error)"    ;;
38         esac
39 done
40
41 rm -f $TEMPFILE