aboutsummaryrefslogtreecommitdiff
path: root/test/run
blob: 5ef28da2ea7377131e34cb9bd0bf0c97af8d9cf1 (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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/bin/sh

set -e

FAIL="\033[0;31m[FAIL]\033[0m "
SUCC="\033[0;32m[ OK ]\033[0m "

rm -f ../build/*.out ../build/*.blc ../build/*.bloc

for file in *.blc; do
	bloc --from-blc -i "$file" -o ../build/"$file".bloc
	../build/blocade -i ../build/"$file".bloc -t blc -o ../build/"$file".bloc.blc
	bruijn -E "$file" &>../build/"$file".out
	bruijn -E ../build/"$file".bloc.blc &>../build/"$file".bloc.blc.out
	cmp ../build/"$file".out ../build/"$file".bloc.blc.out && printf "$SUCC" || printf "$FAIL"
	echo "blc res cmp on $file"

	../build/blocade -i ../build/"$file".bloc -t unblc -o ../build/"$file".bloc.unblc
	cmp ../build/"$file".bloc.unblc "$file" && printf "$SUCC" || printf "$FAIL"
	echo "unblc inp cmp on $file"
done

for file in *.blc.io; do
	bloc --from-blc -i "$file" -o ../build/"$file".bloc
	../build/blocade -i ../build/"$file".bloc -t blc -o ../build/"$file".bloc.blc
	cat "$file".in | bruijn -E "$file" &>../build/"$file".out
	cat "$file".in | bruijn -E ../build/"$file".bloc.blc &>../build/"$file".bloc.blc.out
	cmp ../build/"$file".out ../build/"$file".bloc.blc.out && printf "$SUCC" || printf "$FAIL"
	echo "blc res cmp on $file"

	../build/blocade -i ../build/"$file".bloc -t unblc -o ../build/"$file".bloc.unblc
	cmp ../build/"$file".bloc.unblc "$file" && printf "$SUCC" || printf "$FAIL"
	echo "unblc inp cmp on $file"
done

echo
echo "----------"
echo "Benchmarks"
echo "----------"
echo

INDENT=8
printf "%-${INDENT}s\tbloc\tunbblc\tbblc\n" "file"
for file in *.blc.io *.blc; do
	base="$(basename "$(basename "$file" .blc)" .blc.io)" # beautiful
	unblc=$(stat -c%s ../build/"$file".bloc.unblc) # minus 1 to remove the newline
	bloc=$(($(stat -c%s ../build/"$file".bloc) * 8)) # times 8 to make it comparable
	blc=$(stat -c%s ../build/"$file".bloc.blc)
	printf "%-${INDENT}s\t%s\t%s\t%s\n" "$base" "$bloc" "$unblc" "$blc"
done