52 lines
		
	
	
		
			842 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			842 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/bin/sh
 | |
| 
 | |
| set -e
 | |
| 
 | |
| make
 | |
| 
 | |
| BENCHDIR=/usr/local/benchmarks
 | |
| 
 | |
| basebenchmarks=`echo *bench*`
 | |
| 
 | |
| if [ -d $BENCHDIR ]
 | |
| then	packagebenchmarks=`(cd $BENCHDIR && echo *bench*)`
 | |
| fi
 | |
| 
 | |
| runbench() {
 | |
| 	bench=$1
 | |
| 	out="Results/$bench.`date +%Y%m%d.%H%M%S`"
 | |
| 	if [ -d $bench ]
 | |
| 	then	dir=$bench
 | |
| 	fi
 | |
| 	if [ -d $BENCHDIR/$bench ]
 | |
| 	then	dir=$BENCHDIR/$bench
 | |
| 	fi
 | |
| 	clear
 | |
| 	echo "Running $dir."
 | |
| 	echo "Saving output to $out."
 | |
| 	echo ""
 | |
| 	( cd $dir && sh run.sh 2>&1 ) | tee $out
 | |
| }
 | |
| 
 | |
| clear
 | |
| n=1
 | |
| for b in $basebenchmarks $packagebenchmarks
 | |
| do	echo "$n. $b"
 | |
| 	eval "n$n=$b"
 | |
| 	n=`expr $n + 1`
 | |
| done
 | |
| echo
 | |
| echo -n "Run which benchmark or 'all'? "
 | |
| read bench
 | |
| eval var=\$n$bench
 | |
| if [ "$bench" = all ]
 | |
| then	for b in $basebenchmarks $packagebenchmarks
 | |
| 	do	runbench $b
 | |
| 	done
 | |
| else	if [ -d "$var" -o -d "$BENCHDIR/$var" ]
 | |
| 	then	runbench $var
 | |
| 	else	echo "Unknown benchmark $var."
 | |
| 		exit 1
 | |
| 	fi
 | |
| fi
 | 
