Support running unit tests from a Makefile

- Use name-extension to allow multiple invocation of make-unit
  job-template
- unit-test-keep-going to allow a single test failure to not prevent
  other tests from being run
- When DEST_GOPATH is set, handle go/GOPATH related issues
- Enable lint and test targets on voltha-go repo

Change-Id: I3dbb710aa1924e91c5ab49980144fa38c379edc8
diff --git a/jjb/verify/voltha-go.yaml b/jjb/verify/voltha-go.yaml
index ad03382..2da0fd8 100644
--- a/jjb/verify/voltha-go.yaml
+++ b/jjb/verify/voltha-go.yaml
@@ -13,103 +13,13 @@
     name: 'verify-voltha-go-jobs'
     jobs:
       - 'verify-licensed'
-#     - 'verify-sonarqube':
-#         dependency-jobs: 'verify_voltha-go_licensed'
-#      - 'voltha-go-tests':
-#          dependency-jobs: 'verify_voltha-go_sonarqube'
-
-# disabled until codebase is ready to pass tests
-- job-template:
-    id: 'voltha-go-tests'
-    name: 'verify_{project}_tests'
-
-    description: |
-      Created by {id} job-template from ci-management/jjb/verify/voltha-go.yaml
-
-    triggers:
-      - cord-infra-gerrit-trigger-patchset:
-          gerrit-server-name: '{gerrit-server-name}'
-          project-regexp: '^{project}$'
-          branch-regexp: '{branch-regexp}'
-          dependency-jobs: '{dependency-jobs}'
-          file-include-regexp: '{all-files-regexp}'
-
-    properties:
-      - cord-infra-properties:
-          build-days-to-keep: '{build-days-to-keep}'
-          artifact-num-to-keep: '{artifact-num-to-keep}'
-
-    wrappers:
-      - lf-infra-wrappers:
-          build-timeout: 20
-          jenkins-ssh-credential: '{jenkins-ssh-credential}'
-
-    scm:
-      - cord-infra-gerrit-scm:
-          git-url: '$GIT_URL/$GERRIT_PROJECT'
-          refspec: '$GERRIT_REFSPEC'
-          branch: '$GERRIT_BRANCH'
-          submodule-recursive: 'false'
-          choosing-strategy: 'gerrit'
-          jenkins-ssh-credential: '{jenkins-ssh-credential}'
-          basedir: '{project}'
-
-    node: 'ubuntu16.04-basebuild-1c-2g'
-    project-type: freestyle
-    concurrent: true
-
-    builders:
-      - shell: |
-          #!/usr/bin/env bash
-          set -eux -o pipefail
-
-          export GOPATH=~/go
-          export PATH=$PATH:/usr/lib/go-1.10/bin:/usr/local/go/bin:~/go/bin
-
-          # move code the proper location
-          mkdir -p $GOPATH/src/github.com/opencord
-          mkdir -p $GOPATH/src/protos
-          cp voltha-go/protos/*.proto $GOPATH/src/protos/
-          cp voltha-go/protos/scripts/* $GOPATH/src/protos/
-          mv voltha-go $GOPATH/src/github.com/opencord/voltha-go
-
-          # get prereqs
-          go get -v github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway
-          go get -v github.com/golang/protobuf/protoc-gen-go
-          go get -v github.com/stretchr/testify
-
-          # build protobufs
-          sh $GOPATH/src/protos/build_protos.sh $GOPATH/src/protos
-
-          # get prereqs
-          pushd $GOPATH/src/github.com/opencord/voltha-go/rw_core
-          go get -v -d ./...
-
-          rm -rf $GOPATH/src/go.etcd.io/etcd/vendor/golang.org/x/net/trace
-
-          # build
-          go build -v -o $GOPATH/src/rw_core
-
-          # tests
-          go test -v ./...  2>&1 | go-junit-report > $WORKSPACE/junit-report.xml
-
-          go test -coverprofile=coverage.txt -covermode=count ./...
-          gocover-cobertura < coverage.txt > $WORKSPACE/coverage.xml
-
-          popd
-
-
-    publishers:
-      - junit:
-          results: "junit-report.xml"
-      - cobertura:
-          report-file: "coverage.xml"
-          targets:
-            - files:
-                healthy: 80
-                unhealthy: 0
-                failing: 0
-            - method:
-                healthy: 50
-                unhealthy: 0
-                failing: 0
+      - 'make-unit-test':
+          dest-gopath: "github.com/opencord"
+          name-extension: "-lint"
+          unit-test-targets: 'lint'
+          unit-test-keep-going: 'true'
+      - 'make-unit-test':
+          dest-gopath: "github.com/opencord"
+          name-extension: "-tests"
+          unit-test-targets: 'test'
+          unit-test-keep-going: 'true'