浏览代码

Update coverall script to get better coverage info

V2Ray 10 年之前
父节点
当前提交
5b63edbdbc
共有 1 个文件被更改,包括 26 次插入16 次删除
  1. 26 16
      testing/coverage/coverall

+ 26 - 16
testing/coverage/coverall

@@ -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