File: unit

package info (click to toggle)
docker.io 28.5.2%2Bdfsg1-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 69,048 kB
  • sloc: sh: 5,867; makefile: 863; ansic: 184; python: 162; asm: 159
file content (78 lines) | stat: -rwxr-xr-x 2,472 bytes parent folder | download
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#!/usr/bin/env bash
#
# Run unit tests and create report
#
# TESTFLAGS - add additional test flags. Ex:
#
#   TESTFLAGS='-v -run TestBuild' hack/test/unit
#
# TESTDIRS - run tests for specified packages. Ex:
#
#   TESTDIRS='./pkg/term' hack/test/unit
#
set -eux -o pipefail

BUILDFLAGS=(-tags 'netgo journald')
TESTFLAGS+=" -test.timeout=${TIMEOUT:-5m}"
TESTDIRS="${TESTDIRS:-./...}"
exclude_paths='/vendor/|/integration'
pkg_list=$(go list $TESTDIRS | grep -vE "($exclude_paths)")

base_pkg_list=$(echo "${pkg_list}" | grep --fixed-strings -v "/libnetwork" || :)
libnetwork_pkg_list=$(echo "${pkg_list}" | grep --fixed-strings "/libnetwork" || :)

echo "${libnetwork_pkg_list}" | grep --fixed-strings "libnetwork/drivers/bridge" \
	&& if ! type docker-proxy; then
		hack/make.sh binary-proxy install-proxy
	fi

mkdir -p bundles

if [ -n "${base_pkg_list}" ]; then
	gotestsum --format=standard-quiet --jsonfile=bundles/go-test-report.json --junitfile=bundles/junit-report.xml -- \
		"${BUILDFLAGS[@]}" \
		-cover \
		-coverprofile=bundles/coverage.out \
		-covermode=atomic \
		${TESTFLAGS} \
		${base_pkg_list}
fi

exit 0
# Debian-local: libnetwork tests invoke iptables, and this are unsuitable for running as part of the package build
if [ -n "${libnetwork_pkg_list}" ]; then
	rerun_flaky=1

	gotest_extra_flags="-skip=TestFlaky.*"
	# Custom -run passed, don't run flaky tests separately.
	if echo "$TESTFLAGS" | grep -Eq '(-run|-test.run)[= ]'; then
		rerun_flaky=0
		gotest_extra_flags=""
	fi

	# libnetwork tests invoke iptables, and cannot be run in parallel. Execute
	# tests within /libnetwork with '-p=1' to run them sequentially. See
	# https://github.com/moby/moby/issues/42458#issuecomment-873216754 for details.
	gotestsum --format=standard-quiet --jsonfile=bundles/go-test-report-libnetwork.json --junitfile=bundles/junit-report-libnetwork.xml \
		-- "${BUILDFLAGS[@]}" \
		-cover \
		-coverprofile=bundles/coverage-libnetwork.out \
		-covermode=atomic \
		-p=1 \
		${gotest_extra_flags} \
		${TESTFLAGS} \
		${libnetwork_pkg_list}

	if [ $rerun_flaky -eq 1 ]; then
		gotestsum --format=standard-quiet --jsonfile=bundles/go-test-report-libnetwork-flaky.json --junitfile=bundles/junit-report-libnetwork-flaky.xml \
			--packages "${libnetwork_pkg_list}" \
			--rerun-fails=4 \
			-- "${BUILDFLAGS[@]}" \
			-cover \
			-coverprofile=bundles/coverage-libnetwork-flaky.out \
			-covermode=atomic \
			-p=1 \
			-test.run 'TestFlaky.*' \
			${TESTFLAGS}
	fi
fi