94 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
			
		
		
	
	
			94 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
EXE=$1
 | 
						|
CPU=$2
 | 
						|
TARGET=$3
 | 
						|
LOAD_P=$4
 | 
						|
TEST_P=$5
 | 
						|
BENCHMARK_P=$6
 | 
						|
MAKE_FLAGS=$7
 | 
						|
BOOT_FLAGS=$8
 | 
						|
VARIANT=$9
 | 
						|
 | 
						|
PREFIX=misc/integration/results-$CPU$VARIANT
 | 
						|
 | 
						|
mkdir -p $PREFIX
 | 
						|
 | 
						|
VM_LOG=$PREFIX/vm.log
 | 
						|
BOOT_LOG=$PREFIX/boot.log
 | 
						|
LOAD_LOG=$PREFIX/load.log
 | 
						|
TEST_LOG=$PREFIX/test.log
 | 
						|
BENCHMARK_LOG=$PREFIX/benchmark.log
 | 
						|
 | 
						|
echo "Output files:"
 | 
						|
echo "VM compilation:  $VM_LOG"
 | 
						|
echo "Bootstrap:       $BOOT_LOG"
 | 
						|
echo "Load everything: $LOAD_LOG"
 | 
						|
echo "Unit tests:      $TEST_LOG"
 | 
						|
echo "Benchmarks:      $BENCHMARK_LOG"
 | 
						|
 | 
						|
IMAGE=factor.image
 | 
						|
 | 
						|
echo
 | 
						|
echo
 | 
						|
echo
 | 
						|
 | 
						|
echo "Compiling VM"
 | 
						|
${MAKE-make} clean $TARGET $MAKE_FLAGS >$VM_LOG </dev/null
 | 
						|
 | 
						|
if [ "$?" -ne 0 ]; then
 | 
						|
	echo "VM compile failed"
 | 
						|
	exit 1
 | 
						|
fi
 | 
						|
 | 
						|
echo "Bootstrap"
 | 
						|
rm -f $IMAGE
 | 
						|
 | 
						|
$EXE -i=boot.$CPU.image \
 | 
						|
	-no-user-init \
 | 
						|
	$BOOT_FLAGS \
 | 
						|
	-output-image=$IMAGE >$BOOT_LOG </dev/null
 | 
						|
 | 
						|
if [ ! -e "factor.image" ]; then
 | 
						|
	echo "Bootstrap failed"
 | 
						|
	exit 1
 | 
						|
fi
 | 
						|
 | 
						|
# Load all modules; run tests
 | 
						|
if [ "$LOAD_P" = "yes" ]; then
 | 
						|
	echo "Testing loading of all modules"
 | 
						|
 | 
						|
	echo "USE: tools.browser load-everything USE: memory save USE: system 123 exit" \
 | 
						|
		>/tmp/factor-$$
 | 
						|
 | 
						|
	$EXE -i=$IMAGE \
 | 
						|
		/tmp/factor-$$ \
 | 
						|
		-run=none \
 | 
						|
		>$LOAD_LOG </dev/null
 | 
						|
 | 
						|
	if [ "$?" -ne 123 ]; then
 | 
						|
		echo "Load-everything failed"
 | 
						|
		exit 1
 | 
						|
	fi
 | 
						|
 | 
						|
	# Check for parser notes
 | 
						|
	grep "automatically using" $LOAD_LOG
 | 
						|
 | 
						|
	if [ "$?" -eq 0 ]; then
 | 
						|
		echo "Missing USE: declarations"
 | 
						|
		# exit 1
 | 
						|
	fi
 | 
						|
fi
 | 
						|
 | 
						|
# Run unit tests
 | 
						|
if [ "$TEST_P" = "yes" ]; then
 | 
						|
	echo "Running all unit tests"
 | 
						|
 | 
						|
	$EXE -i=$IMAGE "-e=test-all" -run=none >$TEST_LOG </dev/null
 | 
						|
fi
 | 
						|
 | 
						|
# Run benchmarks
 | 
						|
if [ "$BENCHMARK_P" = "yes" ]; then
 | 
						|
	echo "Running all benchmarks"
 | 
						|
 | 
						|
	$EXE -i=$IMAGE "-run=benchmark" >$BENCHMARK_LOG </dev/null
 | 
						|
fi
 |