27 lines
		
	
	
		
			655 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
		
		
			
		
	
	
			27 lines
		
	
	
		
			655 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
|   | #!/bin/bash
 | ||
|  | 
 | ||
|  | # This script runs all package tests and merges the resulting coverage | ||
|  | # profiles. Coverage is accounted per package under test. | ||
|  | 
 | ||
|  | set -e | ||
|  | 
 | ||
|  | if [ ! -f "build/env.sh" ]; then | ||
|  |     echo "$0 must be run from the root of the repository." | ||
|  |     exit 2 | ||
|  | fi | ||
|  | 
 | ||
|  | echo "mode: count" > profile.cov | ||
|  | 
 | ||
|  | for pkg in $(go list ./...); do | ||
|  |     # drop the namespace prefix. | ||
|  |     dir=${pkg##github.com/ethereum/go-ethereum/} | ||
|  |      | ||
|  |     if [[ $dir != "tests/vm" ]]; then | ||
|  |         go test -covermode=count -coverprofile=$dir/profile.tmp $pkg | ||
|  |     fi | ||
|  |     if [[ -f $dir/profile.tmp ]]; then | ||
|  |         tail -n +2 $dir/profile.tmp >> profile.cov | ||
|  |         rm $dir/profile.tmp | ||
|  |     fi | ||
|  | done |