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"