|  | @@ -1,25 +1,35 @@
 | 
	
		
			
				|  |  |  #!/bin/bash
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -echo "mode: set" > coverall.out
 | 
	
		
			
				|  |  | -fail=0
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -for dir in $(find . -maxdepth 10 -not -path './.git*' -type d);
 | 
	
		
			
				|  |  | -do
 | 
	
		
			
				|  |  | -  if ls $dir/*.go &> /dev/null; then
 | 
	
		
			
				|  |  | -    go test -coverprofile=coversingle.out $dir || fail=1
 | 
	
		
			
				|  |  | -    if [ -f coversingle.out ]
 | 
	
		
			
				|  |  | -    then
 | 
	
		
			
				|  |  | -      cat coversingle.out | grep -v "mode: set" >> coverall.out
 | 
	
		
			
				|  |  | -      rm coversingle.out
 | 
	
		
			
				|  |  | -    fi
 | 
	
		
			
				|  |  | +FAIL=0
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +function join { local IFS="$1"; shift; echo "$*"; }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +function test_package {
 | 
	
		
			
				|  |  | +  DIR="github.com/v2ray/v2ray-core/$1"
 | 
	
		
			
				|  |  | +  DEP=$2
 | 
	
		
			
				|  |  | +  IFS=',' read -ra DEPS <<< "$DEP"
 | 
	
		
			
				|  |  | +  DEPS=("${DEPS[@]/#/github.com/v2ray/v2ray-core/}")
 | 
	
		
			
				|  |  | +  DEP=$(join , "${DEPS[@]}")
 | 
	
		
			
				|  |  | +  go test -coverprofile=coversingle.out -coverpkg=$DEP $DIR || FAIL=1
 | 
	
		
			
				|  |  | +  if [ -f coversingle.out ]; then
 | 
	
		
			
				|  |  | +    cat coversingle.out | grep -v "mode: set" >> coverall.out
 | 
	
		
			
				|  |  | +    rm coversingle.out
 | 
	
		
			
				|  |  |    fi
 | 
	
		
			
				|  |  | -done
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +echo "mode: set" > coverall.out
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +test_package "." "."
 | 
	
		
			
				|  |  | +test_package "io/socks" "io,io/socks"
 | 
	
		
			
				|  |  | +test_package "io/vmess" "hash,io,io/vmess"
 | 
	
		
			
				|  |  | +test_package "math" "math"
 | 
	
		
			
				|  |  | +test_package "net/socks" "io,io/socks,net,net/socks"
 | 
	
		
			
				|  |  | +test_package "net" "net"
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -if [ "$fail" -eq 0 ]
 | 
	
		
			
				|  |  | -then
 | 
	
		
			
				|  |  | +if [ "$FAIL" -eq 0 ]; then
 | 
	
		
			
				|  |  |    $HOME/gopath/bin/goveralls -v -coverprofile=coverall.out -service=travis-ci -repotoken $COVERALLS_TOKEN
 | 
	
		
			
				|  |  |  fi
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  rm -f coverall.out
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -exit $fail
 | 
	
		
			
				|  |  | +exit $FAIL
 |