mirror of
https://github.com/genuinetools/reg.git
synced 2024-10-04 06:11:44 -04:00
53 lines
1.3 KiB
Text
53 lines
1.3 KiB
Text
|
#!/usr/bin/env bash
|
||
|
# Setup, run and teardown e2e test suite in containers.
|
||
|
set -eu -o pipefail
|
||
|
|
||
|
unique_id="${E2E_UNIQUE_ID:-cliendtoendsuite}"
|
||
|
e2e_env_image=docker-cli-e2e-env:$unique_id
|
||
|
dev_image=docker-cli-dev:$unique_id
|
||
|
|
||
|
function run_in_env {
|
||
|
local cmd=$1
|
||
|
docker run -i --rm \
|
||
|
-v /var/run/docker.sock:/var/run/docker.sock \
|
||
|
-e E2E_UNIQUE_ID \
|
||
|
"$e2e_env_image" "$cmd"
|
||
|
}
|
||
|
|
||
|
docker build \
|
||
|
-t "$e2e_env_image" \
|
||
|
-f dockerfiles/Dockerfile.test-e2e-env .
|
||
|
|
||
|
docker build \
|
||
|
-t "$dev_image" \
|
||
|
-f dockerfiles/Dockerfile.dev .
|
||
|
|
||
|
notary_volume="${unique_id}_notary-fixtures"
|
||
|
docker volume create --name "$notary_volume"
|
||
|
docker run --rm \
|
||
|
-v "$PWD:/go/src/github.com/docker/cli" \
|
||
|
-v "$notary_volume:/data" \
|
||
|
"$dev_image" \
|
||
|
cp -r ./e2e/testdata/notary/* /data/
|
||
|
|
||
|
engine_host=$(run_in_env setup)
|
||
|
testexit=0
|
||
|
|
||
|
|
||
|
test_cmd="test"
|
||
|
if [[ -n "${TEST_DEBUG-}" ]]; then
|
||
|
test_cmd="shell"
|
||
|
fi
|
||
|
|
||
|
docker run -i --rm \
|
||
|
-v "$PWD:/go/src/github.com/docker/cli" \
|
||
|
-v "$PWD/e2e/testdata/notary/root-ca.cert:/usr/local/share/ca-certificates/notary.cert" \
|
||
|
--network "${unique_id}_default" \
|
||
|
-e TESTFLAGS \
|
||
|
-e ENGINE_HOST="$engine_host" \
|
||
|
"$dev_image" \
|
||
|
./scripts/test/e2e/run "$test_cmd" "$engine_host" || testexit="$?"
|
||
|
|
||
|
run_in_env cleanup
|
||
|
exit "$testexit"
|