mirror of
				https://github.com/k3s-io/kubernetes.git
				synced 2025-11-04 07:49:35 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/bash
 | 
						|
 | 
						|
set -e
 | 
						|
 | 
						|
workdir=.cover
 | 
						|
profile="$workdir/cover.out"
 | 
						|
mode=set
 | 
						|
end2endtest="google.golang.org/grpc/test"
 | 
						|
 | 
						|
generate_cover_data() {
 | 
						|
    rm -rf "$workdir"
 | 
						|
    mkdir "$workdir"
 | 
						|
 | 
						|
    for pkg in "$@"; do
 | 
						|
        if [ $pkg == "google.golang.org/grpc" -o $pkg == "google.golang.org/grpc/transport" -o $pkg == "google.golang.org/grpc/metadata" -o $pkg == "google.golang.org/grpc/credentials" ]
 | 
						|
            then
 | 
						|
                f="$workdir/$(echo $pkg | tr / -)"
 | 
						|
                go test -covermode="$mode" -coverprofile="$f.cover" "$pkg"
 | 
						|
                go test -covermode="$mode" -coverpkg "$pkg" -coverprofile="$f.e2e.cover" "$end2endtest"
 | 
						|
        fi
 | 
						|
    done
 | 
						|
 | 
						|
    echo "mode: $mode" >"$profile"
 | 
						|
    grep -h -v "^mode:" "$workdir"/*.cover >>"$profile"
 | 
						|
}
 | 
						|
 | 
						|
show_cover_report() {
 | 
						|
    go tool cover -${1}="$profile"
 | 
						|
}
 | 
						|
 | 
						|
push_to_coveralls() {
 | 
						|
    goveralls -coverprofile="$profile"
 | 
						|
}
 | 
						|
 | 
						|
generate_cover_data $(go list ./...)
 | 
						|
show_cover_report func
 | 
						|
case "$1" in
 | 
						|
"")
 | 
						|
    ;;
 | 
						|
--html)
 | 
						|
    show_cover_report html ;;
 | 
						|
--coveralls)
 | 
						|
    push_to_coveralls ;;
 | 
						|
*)
 | 
						|
    echo >&2 "error: invalid option: $1" ;;
 | 
						|
esac
 | 
						|
rm -rf "$workdir"
 |