summaryrefslogtreecommitdiff
path: root/exporters/darcs/t/bench.sh
blob: a4b3d0d2c276cd251e34cc3b8864b1e2579b3b37 (plain)
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
#!/bin/sh

# this is a test as well, but it would take a lot of time, so don't
# prefix it with 'test'.

. lib.sh

if [ ! -d darcs-benchmark ]; then
	darcs get http://code.haskell.org/darcs/darcs-benchmark
	cd darcs-benchmark
else
	cd darcs-benchmark
	darcs pull -a
fi
sh initialise.sh
cd big-zoo
if [ -n "$1" ]; then
	targets=$1
else
	targets=*_play.tar.gz
fi
for i in $targets
do
	echo "benchmarking $i"
	rm -rf _playground
	tar xf $i
	cd _playground
	log="../$i.d-f-e-$(git describe).log"
	sh -c 'time d2x -f git sandbox' 2>&1 |tee $log
	darcs show repo --repodir sandbox |egrep -v 'Root|Cache|Default' >> $log
	if diff_git sandbox >/dev/null; then
		echo "ok, the result is correct" >> $log
	else
		echo "ouch, the result is corrupted" >> $log
		exit 1
	fi
	cd ..
done