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
 |