c9e19a2aa1
Similar to the (now removed) `apparmor` build tag, this build-time toggle existed for users who needed to build without the `libseccomp` library. That's no longer necessary, and given the importance of seccomp to the overall default security profile of Docker containers, it makes sense that any binary built for Linux should support (and use by default) seccomp if the underlying host does. Signed-off-by: Tianon Gravi <admwiggin@gmail.com>
52 lines
1.7 KiB
Bash
Executable file
52 lines
1.7 KiB
Bash
Executable file
#!/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 libdm_no_deferred_remove')
|
|
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/profile.out \
|
|
-covermode=atomic \
|
|
${TESTFLAGS} \
|
|
${base_pkg_list}
|
|
fi
|
|
if [ -n "${libnetwork_pkg_list}" ]; then
|
|
# 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/profile-libnetwork.out \
|
|
-covermode=atomic \
|
|
-p=1 \
|
|
${TESTFLAGS} \
|
|
${libnetwork_pkg_list}
|
|
fi
|