|
17 | 17 | CONFIG_DIRECTORY="${KOKORO_GFILE_DIR:-/dev/shm}" |
18 | 18 | readonly CONFIG_DIRECTORY |
19 | 19 | if [[ -f "${CONFIG_DIRECTORY}/spanner-integration-tests-config.sh" ]]; then |
| 20 | + echo "================================================================" |
| 21 | + echo "Testing a program built with spanner-as-a-dependency $(date)" |
| 22 | + echo "================================================================" |
20 | 23 | source "${CONFIG_DIRECTORY}/spanner-integration-tests-config.sh" |
21 | 24 |
|
| 25 | + gcloud auth activate-service-account --key-file \ |
| 26 | + "${CONFIG_DIRECTORY}/spanner-credentials.json" |
| 27 | + |
| 28 | + # Pick one of the instances at random |
| 29 | + mapfile -t INSTANCES < <(gcloud "--project=${GOOGLE_CLOUD_PROJECT}" \ |
| 30 | + spanner instances list --filter=NAME:test-instance --format='csv(name)[no-heading]') |
| 31 | + readonly INSTANCES |
| 32 | + GOOGLE_CLOUD_CPP_SPANNER_INSTANCE="${INSTANCES[$(( RANDOM % ${#INSTANCES} ))]}" |
| 33 | + export GOOGLE_CLOUD_CPP_SPANNER_INSTANCE |
| 34 | + readonly GOOGLE_CLOUD_CPP_SPANNER_INSTANCE |
| 35 | + echo "Searching for quickstart-db database in ${GOOGLE_CLOUD_CPP_SPANNER_INSTANCE}" |
| 36 | + if gcloud "--project=${GOOGLE_CLOUD_PROJECT}" \ |
| 37 | + spanner databases list "--instance=${GOOGLE_CLOUD_CPP_SPANNER_INSTANCE}" | grep -q quickstart-db; then |
| 38 | + echo "Quickstart database (quickstart-db) already exists in ${GOOGLE_CLOUD_CPP_SPANNER_INSTANCE}" |
| 39 | + else |
| 40 | + echo "Creating quickstart-db database in ${GOOGLE_CLOUD_CPP_SPANNER_INSTANCE}" |
| 41 | + # Ignore errors because it could be that another builds creates it |
| 42 | + # simultaneously. |
| 43 | + gcloud "--project=${GOOGLE_CLOUD_PROJECT}" \ |
| 44 | + spanner databases create "--instance=${GOOGLE_CLOUD_CPP_SPANNER_INSTANCE}" quickstart-db || true |
| 45 | + fi |
| 46 | + |
22 | 47 | run_args=( |
23 | 48 | # Remove the container after running |
24 | 49 | "--rm" |
25 | 50 |
|
26 | 51 | # Set the environment variables for the test program. |
27 | 52 | "--env" "GOOGLE_APPLICATION_CREDENTIALS=/c/spanner-credentials.json" |
28 | 53 | "--env" "GOOGLE_CLOUD_PROJECT=${GOOGLE_CLOUD_PROJECT}" |
29 | | - "--env" "RUN_SLOW_INTEGRATION_TESTS=${RUN_SLOW_INTEGRATION_TESTS:-no}" |
30 | | - "--env" "GOOGLE_CLOUD_CPP_SPANNER_INSTANCE=${GOOGLE_CLOUD_CPP_SPANNER_INSTANCE}" |
31 | | - "--env" "GOOGLE_CLOUD_CPP_SPANNER_IAM_TEST_SA=${GOOGLE_CLOUD_CPP_SPANNER_IAM_TEST_SA}" |
32 | 54 |
|
33 | 55 | # Mount the config directory as a volume in `/c` |
34 | 56 | "--volume" "${CONFIG_DIRECTORY}:/c" |
35 | 57 | ) |
36 | 58 | echo "================================================================" |
37 | 59 | echo "Run test program against installed libraries ${DISTRO}." |
38 | | - docker run "${run_args[@]}" "${INSTALL_RUN_IMAGE}" "/i/spanner_install_test" |
| 60 | + docker run "${run_args[@]}" "${INSTALL_RUN_IMAGE}" "/i/quickstart" \ |
| 61 | + "${GOOGLE_CLOUD_PROJECT}" "${GOOGLE_CLOUD_CPP_SPANNER_INSTANCE}" quickstart-db |
39 | 62 | echo "================================================================" |
40 | 63 | fi |
0 commit comments