File: tests.sh

package info (click to toggle)
golang-github-coredhcp-coredhcp 0.0.0%2Bgit.20220602.a2552c5-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, trixie
  • size: 564 kB
  • sloc: makefile: 8; sh: 6
file content (27 lines) | stat: -rwxr-xr-x 809 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/usr/bin/env bash

# because things are never simple.
# See https://github.com/codecov/example-go#caveat-multiple-files

set -e
echo "" > coverage.txt

for d in $(go list ./... | grep -v vendor); do
    go test -race -coverprofile=profile.out -covermode=atomic $d
    if [ -f profile.out ]; then
        cat profile.out >> coverage.txt
        rm profile.out
    fi
done

for d in $(go list -tags=integration ./... | grep -v vendor); do
    # integration tests
    go test -c -tags=integration -race -coverprofile=profile.out -covermode=atomic $d
    testbin="./$(basename $d).test"
    # only run it if it was built - i.e. if there are integ tests
    test -x "${testbin}" && sudo "./${testbin}"
    if [ -f profile.out ]; then
        cat profile.out >> coverage.txt
        rm -f profile.out
    fi
done