Browse Source

build, jenkins: Move test coverage stuff to jenkins/

GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/4178
Lars K.W. Gohlke 8 years ago
parent
commit
3f1fa04725
2 changed files with 26 additions and 35 deletions
  1. 0 34
      build.sh
  2. 26 1
      jenkins/common.bash

+ 0 - 34
build.sh

@@ -93,40 +93,6 @@ case "${1:-default}" in
 		done
 		;;
 
-	test-cov)
-		ulimit -t 600 &>/dev/null || true
-		ulimit -d 512000 &>/dev/null || true
-		ulimit -m 512000 &>/dev/null || true
-
-		echo "mode: set" > coverage.out
-		fail=0
-
-		# For every package in the repo
-		for dir in $(go list ./lib/... ./cmd/...) ; do
-			# run the tests
-			GOPATH="$(pwd)/Godeps/_workspace:$GOPATH" go test -coverprofile=profile.out $dir
-			if [ -f profile.out ] ; then
-				# and if there was test output, append it to coverage.out
-				grep -v "mode: " profile.out >> coverage.out
-				rm profile.out
-			fi
-		done
-
-		notCovered=$(egrep -c '\s0$' coverage.out)
-		total=$(wc -l coverage.out | awk '{print $1}')
-		coverPct=$(awk "BEGIN{print (1 - $notCovered / $total) * 100}")
-		echo "Total coverage is $coverPct%"
-
-		gocov convert coverage.out | gocov-xml > coverage.xml
-
-		# This is usually run from within Jenkins. If it is, we need to
-		# tweak the paths in coverage.xml so cobertura finds the
-		# source.
-		if [[ "${WORKSPACE:-default}" != "default" ]] ; then
-			sed "s#$WORKSPACE##g" < coverage.xml > coverage.xml.new && mv coverage.xml.new coverage.xml
-		fi
-		;;
-
 	test-xunit)
 		ulimit -t 600 &>/dev/null || true
 		ulimit -d 512000 &>/dev/null || true

+ 26 - 1
jenkins/common.bash

@@ -65,7 +65,30 @@ function test {
 
 function testWithCoverage {
     echo Test with coverage
-    CGO_ENABLED=1 ./build.sh test-cov
+    CGO_ENABLED=1
+
+    echo "mode: set" > coverage.out
+    fail=0
+
+    # For every package in the repo
+    for dir in $(go list ./lib/... ./cmd/...) ; do
+        # run the tests
+        GOPATH="$(pwd)/Godeps/_workspace:$GOPATH" go test -coverprofile=profile.out $dir
+        if [ -f profile.out ] ; then
+            # and if there was test output, append it to coverage.out
+            grep -v "mode: " profile.out >> coverage.out
+            rm profile.out
+        fi
+    done
+
+    gocov convert coverage.out | gocov-xml > coverage.xml
+
+    # This is usually run from within Jenkins. If it is, we need to
+    # tweak the paths in coverage.xml so cobertura finds the
+    # source.
+    if [[ "${WORKSPACE:-default}" != "default" ]] ; then
+        sed "s#$WORKSPACE##g" < coverage.xml > coverage.xml.new && mv coverage.xml.new coverage.xml
+    fi
 
     notCovered=$(egrep -c '\s0$' coverage.out)
     total=$(wc -l coverage.out | awk '{print $1}')
@@ -73,6 +96,8 @@ function testWithCoverage {
     echo "$coverPct" > "coverage.txt"
     echo "Test coverage is $coverPct%%"
     echo
+
+    CGO_ENABLED=0 # reset to before
 }
 
 function buildSource {