2015-08-20 07:20:29 +02:00
|
|
|
#!/bin/sh -e
|
|
|
|
|
2015-08-20 08:33:22 +02:00
|
|
|
cmp_dir=$1; shift
|
|
|
|
out_dir=$1; shift
|
|
|
|
bin_dir=$1; shift
|
|
|
|
|
|
|
|
mkdir -p $out_dir
|
|
|
|
|
|
|
|
if [ -f $cmp_dir/$1.in ]; then
|
|
|
|
sh -c "$bin_dir/$*" > $out_dir/$1.out 2> $out_dir/$1.err < $cmp_dir/$1.in
|
2015-08-20 07:20:29 +02:00
|
|
|
else
|
2015-08-20 08:33:22 +02:00
|
|
|
mkdir -p $(dirname $out_dir/$1)
|
|
|
|
sh -c "$bin_dir/$*" > $out_dir/$1.out 2> $out_dir/$1.err
|
2015-08-20 07:20:29 +02:00
|
|
|
fi
|
|
|
|
|
2015-08-20 08:33:22 +02:00
|
|
|
if [ -f $cmp_dir/$1.out.expected ] && [ "$(md5sum $out_dir/$1.out | cut -d' ' -f1)" != "$(md5sum $cmp_dir/$1.out.expected | cut -d' ' -f1)" ]; then
|
2015-11-16 08:27:23 -08:00
|
|
|
if ! diff --strip-trailing-cr $out_dir/$1.out $cmp_dir/$1.out.expected ; then
|
|
|
|
exit 255
|
|
|
|
fi
|
2015-08-20 07:20:29 +02:00
|
|
|
fi
|
|
|
|
|
2015-08-20 08:33:22 +02:00
|
|
|
if [ -f $cmp_dir/$1.err.expected ] && [ "$(md5sum $out_dir/$1.err | cut -d' ' -f1)" != "$(md5sum $cmp_dir/$1.err.expected | cut -d' ' -f1)" ]; then
|
2015-11-16 08:27:23 -08:00
|
|
|
if ! diff --strip-trailing-cr $out_dir/$1.err $cmp_dir/$1.err.expected ; then
|
|
|
|
exit 255
|
|
|
|
fi
|
2015-08-20 07:20:29 +02:00
|
|
|
fi
|