summaryrefslogtreecommitdiff
path: root/2016/test.sh
diff options
context:
space:
mode:
authortomsmeding <tom.smeding@gmail.com>2017-12-02 09:30:07 +0100
committertomsmeding <tom.smeding@gmail.com>2017-12-02 09:30:07 +0100
commit2c1dccf57d7ad5e25e79063dea41fd7bfa9d9ac6 (patch)
tree6c36355ef1a475f2b7cf388402afc96a16588d3d /2016/test.sh
parent2d02f553aa4cc4ded630628eccdf34f55937cee5 (diff)
Move 2016 to its own folder
Diffstat (limited to '2016/test.sh')
-rwxr-xr-x2016/test.sh38
1 files changed, 38 insertions, 0 deletions
diff --git a/2016/test.sh b/2016/test.sh
new file mode 100755
index 0000000..78d4a5a
--- /dev/null
+++ b/2016/test.sh
@@ -0,0 +1,38 @@
+#!/usr/bin/env bash
+set -e
+set -o pipefail
+
+function prepare() {
+ fname="$1"
+ ext="${fname##*.}"
+ base="${fname:0:${#fname}-${#ext}-1}"
+ case "$ext" in
+ py)
+ echo "./$fname"
+ ;;
+ c|cpp)
+ make "$base" 2>&1 | grep -v 'is up to date' >&2
+ echo "./$base"
+ ;;
+ rip)
+ echo "rip $fname"
+ ;;
+ *)
+ echo >&2 "No handler for file '$fname'!"
+ exit 1
+ esac
+}
+
+
+for i in $(seq 1 25); do
+ for a in a b; do
+ exe=""
+ for fname in $i$a.{py,c,cpp,rip}; do
+ test -f $fname || continue
+ cmd="$(prepare "$fname")"
+ echo -n "$i$a: \"$cmd\" "
+ diff <($cmd <$i.in 2>/dev/null) $i$a.out
+ echo ok
+ done
+ done
+done