mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-11-04 05:19:11 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			42 lines
		
	
	
	
		
			970 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
	
		
			970 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
#!/usr/bin/env bash
 | 
						|
 | 
						|
fail() {
 | 
						|
	echo "$1" >&2
 | 
						|
	exit 1
 | 
						|
}
 | 
						|
 | 
						|
runTest() {
 | 
						|
	desc="$1"
 | 
						|
	want="$2"
 | 
						|
	shift 2
 | 
						|
	echo "running '$desc' with args $@"
 | 
						|
	output=`../../yosys -q "$@" 2>&1`
 | 
						|
	if [ $? -ne 1 ]; then
 | 
						|
		fail "exit code for '$desc' was not 1"
 | 
						|
	fi
 | 
						|
	if [ "$output" != "$want" ]; then
 | 
						|
		fail "output for '$desc' did not match"
 | 
						|
	fi
 | 
						|
}
 | 
						|
 | 
						|
unmet() {
 | 
						|
	kind=$1
 | 
						|
	runTest "unmet $kind" \
 | 
						|
		"ERROR: Expected $kind pattern 'foobar' not found !" \
 | 
						|
		-p "logger -expect $kind \"foobar\" 1"
 | 
						|
}
 | 
						|
 | 
						|
unmet log
 | 
						|
unmet warning
 | 
						|
unmet error
 | 
						|
 | 
						|
runTest "too many logs" \
 | 
						|
	"ERROR: Expected log pattern 'statistics' found 2 time(s), instead of 1 time(s) !" \
 | 
						|
	-p "logger -expect log \"statistics\" 1" -p stat -p stat
 | 
						|
 | 
						|
runTest "too many warnings" \
 | 
						|
	"Warning: Found log message matching -W regex:
 | 
						|
Printing statistics.
 | 
						|
ERROR: Expected warning pattern 'statistics' found 2 time(s), instead of 1 time(s) !" \
 | 
						|
	-p "logger -warn \"Printing statistics\"" \
 | 
						|
	-p "logger -expect warning \"statistics\" 1" -p stat -p stat
 |