summary refs log tree commit diff
path: root/conform/run-conformtest.sh
blob: c82fbcb5a45823e7d0a212a6e8a39904f24aa597 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#! /bin/bash

objpfx="$1"
perl="$2"
cc="$3"
includes="$4"

scratch=${objpfx}scratch
mkdir -p "$scratch"

standards=("ISO" "ISO99" "ISO11" "POSIX" "XPG3" "XPG4" "UNIX98"
	   "XOPEN2K" "XOPEN2K8" "POSIX2008")

exitval=0
> ${objpfx}run-conformtest.out
for s in ${standards[*]}; do
    echo -n $s...
    e=0
    if ! $perl conformtest.pl --tmpdir="$scratch" --cc="$cc" --flags="$includes" --standard=$s > ${objpfx}conform-$s.out; then
	e=1
    fi
    printf "\n%s\n" $s >> ${objpfx}run-conformtest.out
    tail -n 4 ${objpfx}conform-$s.out >> ${objpfx}run-conformtest.out
    echo
    if [ $e -ne 0 ]; then
	tail -n 3 ${objpfx}conform-$s.out
	exitval=1
    fi
done

exit $exitval