github.com/docker/docker-ce@v17.12.1-ce-rc2+incompatible/components/cli/scripts/test/e2e/wrapper (about) 1 #!/usr/bin/env bash 2 # Setup, run and teardown e2e test suite in containers. 3 set -eu -o pipefail 4 5 unique_id="${E2E_UNIQUE_ID:-cliendtoendsuite}" 6 e2e_env_image=docker-cli-e2e-env:$unique_id 7 dev_image=docker-cli-dev:$unique_id 8 9 function run_in_env { 10 local cmd=$1 11 docker run -i --rm \ 12 -v /var/run/docker.sock:/var/run/docker.sock \ 13 -e E2E_UNIQUE_ID \ 14 "$e2e_env_image" "$cmd" 15 } 16 17 docker build \ 18 -t "$e2e_env_image" \ 19 -f dockerfiles/Dockerfile.test-e2e-env . 20 21 docker build \ 22 -t "$dev_image" \ 23 -f dockerfiles/Dockerfile.dev . 24 25 notary_volume="${unique_id}_notary-fixtures" 26 docker volume create --name "$notary_volume" 27 docker run --rm \ 28 -v "$PWD:/go/src/github.com/docker/cli" \ 29 -v "$notary_volume:/data" \ 30 "$dev_image" \ 31 cp -r ./e2e/testdata/notary/* /data/ 32 33 engine_host=$(run_in_env setup) 34 testexit=0 35 36 37 test_cmd="test" 38 if [[ -n "${TEST_DEBUG-}" ]]; then 39 test_cmd="shell" 40 fi 41 42 docker run -i --rm \ 43 -v "$PWD:/go/src/github.com/docker/cli" \ 44 -v "$PWD/e2e/testdata/notary/root-ca.cert:/usr/local/share/ca-certificates/notary.cert" \ 45 --network "${unique_id}_default" \ 46 -e TESTFLAGS \ 47 -e ENGINE_HOST="$engine_host" \ 48 "$dev_image" \ 49 ./scripts/test/e2e/run "$test_cmd" "$engine_host" || testexit="$?" 50 51 run_in_env cleanup 52 exit "$testexit"