mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Allow tests to be interrupted
Currently when libnetwork tests are run inside a container you cannot interrupt them in the middle by pressing ctrl-c even though all the tests run in foreground. Fix this by running tests by wrapping the make invocation inside the container with a shell scripts which installs the SIGINT handler. Without the handler the kernel does not deliver signals to the process with PID 1(which in this case was make itself) and hence make could never be interrupted. With this fix we capture SIGINT in the shell script and re-raise it in the the child process (which is make) and that makes the make interruptible. Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
This commit is contained in:
parent
bcd996f4c3
commit
ddfa448536
2 changed files with 20 additions and 9 deletions
|
@ -3,12 +3,12 @@ SHELL=/bin/bash
|
|||
build_image=libnetwork-build
|
||||
dockerargs = --privileged -v $(shell pwd):/go/src/github.com/docker/libnetwork -w /go/src/github.com/docker/libnetwork
|
||||
container_env = -e "INSIDECONTAINER=-incontainer=true"
|
||||
docker = docker run --rm ${dockerargs} ${container_env} ${build_image}
|
||||
docker = docker run --rm -it ${dockerargs} ${container_env} ${build_image}
|
||||
ciargs = -e "COVERALLS_TOKEN=$$COVERALLS_TOKEN" -e "INSIDECONTAINER=-incontainer=true"
|
||||
cidocker = docker run ${ciargs} ${dockerargs} golang:1.4
|
||||
|
||||
all: ${build_image}.created
|
||||
${docker} make all-local
|
||||
${docker} ./wrapmake.sh all-local
|
||||
|
||||
all-local: check-local build-local
|
||||
|
||||
|
@ -19,13 +19,13 @@ ${build_image}.created:
|
|||
touch ${build_image}.created
|
||||
|
||||
build: ${build_image}.created
|
||||
${docker} make build-local
|
||||
${docker} ./wrapmake.sh build-local
|
||||
|
||||
build-local:
|
||||
$(shell which godep) go build -tags libnetwork_discovery ./...
|
||||
|
||||
check: ${build_image}.created
|
||||
${docker} make check-local
|
||||
${docker} ./wrapmake.sh check-local
|
||||
|
||||
check-code:
|
||||
@echo "Checking code... "
|
||||
|
|
11
libnetwork/wrapmake.sh
Executable file
11
libnetwork/wrapmake.sh
Executable file
|
@ -0,0 +1,11 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
function raise()
|
||||
{
|
||||
kill -$1 0
|
||||
}
|
||||
|
||||
trap "raise SIGINT" SIGINT
|
||||
make $1
|
Loading…
Reference in a new issue