mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-11-04 05:19:11 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			43 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
#!/usr/bin/env bash
 | 
						|
 | 
						|
# run this test many times:
 | 
						|
# time bash -c 'for ((i=0; i<100; i++)); do echo "-- $i --"; bash run-test.sh || exit 1; done'
 | 
						|
 | 
						|
set -e
 | 
						|
 | 
						|
OPTIND=1
 | 
						|
count=50
 | 
						|
seed=""    # default to no seed specified
 | 
						|
while getopts "c:S:" opt
 | 
						|
do
 | 
						|
    case "$opt" in
 | 
						|
	c) count="$OPTARG" ;;
 | 
						|
	S) seed="-S $OPTARG" ;;
 | 
						|
    esac
 | 
						|
done
 | 
						|
shift "$((OPTIND-1))"
 | 
						|
 | 
						|
rm -rf temp
 | 
						|
mkdir -p temp
 | 
						|
echo "generating tests.."
 | 
						|
python3 generate.py -c $count $seed
 | 
						|
 | 
						|
{
 | 
						|
	all_targets="all_targets:"
 | 
						|
	echo "all: all_targets"
 | 
						|
	echo "	@echo"
 | 
						|
	for i in $( ls temp/*.ys | sed 's,[^0-9],,g; s,^0*\(.\),\1,g;' ); do
 | 
						|
		idx=$( printf "%05d" $i )
 | 
						|
		echo "temp/uut_${idx}.log: temp/uut_${idx}.ys temp/uut_${idx}.v"
 | 
						|
		echo "	@../../yosys -ql temp/uut_${idx}.out temp/uut_${idx}.ys"
 | 
						|
		echo "	@mv temp/uut_${idx}.out temp/uut_${idx}.log"
 | 
						|
		echo "	@grep -q 'SAT proof finished' temp/uut_${idx}.log && echo K || echo T"
 | 
						|
		all_targets="$all_targets temp/uut_${idx}.log"
 | 
						|
	done
 | 
						|
	echo "$all_targets"
 | 
						|
} > temp/makefile
 | 
						|
 | 
						|
echo "running tests.."
 | 
						|
${MAKE:-make} -f temp/makefile
 | 
						|
 | 
						|
exit 0
 |