Skip to content

Commit

Permalink
CXX-2297 add connect.sh and Atlas Serverless connectivity test (#833)
Browse files Browse the repository at this point in the history
  • Loading branch information
kevinAlbs authored Oct 4, 2021
1 parent 6c7faac commit 08b5778
Show file tree
Hide file tree
Showing 2 changed files with 81 additions and 23 deletions.
54 changes: 54 additions & 0 deletions .evergreen/connect.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
#!/bin/bash

set -o errexit
set -o pipefail

LIB_DIR=${LIB_DIR:-"lib"}
BUILD_TYPE=${BUILD_TYPE:-"Debug"}

print_usage_and_exit () {
echo "Error: $1"
cat << EOF
connect.sh runs the connect example with a MongoDB URI.
Example usage:
MONGOC_INSTALL_PREFIX=/Users/kevin.albertson/install/mongo-c-driver-1.18.0 \\
MONGOCXX_INSTALL_PREFIX=/Users/kevin.albertson/install/mongo-cxx-driver-dev \\
LIB_DIR="lib" \\
BUILD_TYPE="Debug" \\
BUILD_DIR=$(pwd)/cmake-build \\
URI="mongodb://localhost:27017/?" \\
./.evergreen/connect.sh
EOF
exit 1;
}

if [ -z "$URI" ]; then
print_usage_and_exit "URI is a required environment variable."
fi
if [ -z "$MONGOC_INSTALL_PREFIX" ]; then
print_usage_and_exit "MONGOC_INSTALL_PREFIX is a required environment variable."
fi
if [ -z "$MONGOCXX_INSTALL_PREFIX" ]; then
print_usage_and_exit "MONGOCXX_INSTALL_PREFIX is a required environment variable."
fi
if [ -z "$BUILD_DIR" ]; then
print_usage_and_exit "BUILD_DIR is a required environment variable."
fi

# Use PATH / LD_LIBRARY_PATH / DYLD_LIBRARY_PATH to inform the tests where to find
# mongoc library dependencies on Windows / Linux / Mac OS, respectively.
export PATH=$PATH:$MONGOC_INSTALL_PREFIX/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MONGOC_INSTALL_PREFIX/$LIB_DIR/
export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$MONGOC_INSTALL_PREFIX/$LIB_DIR/

# Windows also needs to be informed where to find mongocxx library dependencies.
export PATH=$PATH:$BUILD_DIR/src/bsoncxx/$BUILD_TYPE
export PATH=$PATH:$BUILD_DIR/src/mongocxx/$BUILD_TYPE
export PATH=$PATH:$MONGOCXX_INSTALL_PREFIX/bin

if [ "Windows_NT" == "$OS" ]; then
$BUILD_DIR/examples/mongocxx/$BUILD_TYPE/connect.exe "$URI"
else
$BUILD_DIR/examples/mongocxx/connect "$URI"
fi
50 changes: 27 additions & 23 deletions .mci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -471,32 +471,35 @@ functions:
shell: bash
working_dir: "mongo-cxx-driver"
script: |
set -o errexit
set -o pipefail
export PATH="${extra_path}:$PATH"
cd build
export PREFIX=$(pwd)/../../mongoc
set -o xtrace
# Use PATH / LD_LIBRARY_PATH / DYLD_LIBRARY_PATH to inform the tests where to find
# mongoc library dependencies on Windows / Linux / Mac OS, respectively.
# Additionally, on Windows, we also need to inform the tests where to find
# mongocxx library dependencies.
if [ -n "${lib_dir}" ]; then
export LD_LIBRARY_PATH=.:$PREFIX/${lib_dir}/
export DYLD_LIBRARY_PATH=.:$PREFIX/${lib_dir}/
else
export LD_LIBRARY_PATH=.:$PREFIX/lib/
export DYLD_LIBRARY_PATH=.:$PREFIX/lib/
fi
export PATH=$(pwd)/src/bsoncxx/${build_type}:$(pwd)/src/mongocxx/${build_type}:$PREFIX/bin:$(pwd)/install/bin:$PATH
export MONGOC_INSTALL_PREFIX=$(pwd)/../mongoc
export MONGOCXX_INSTALL_PREFIX=$(pwd)/build/install
export LIB_DIR=${lib_dir}
export BUILD_TYPE=${build_type}
export BUILD_DIR=$(pwd)/build
export URI="mongodb://bob:pwd123@localhost"
./.evergreen/connect.sh
"test atlas connectivity":
- command: shell.exec
params:
shell: bash
working_dir: "mongo-cxx-driver"
silent: true
script: |
set -o xtrace
URI="mongodb://bob:pwd123@localhost"
export MONGOC_INSTALL_PREFIX=$(pwd)/../mongoc
export MONGOCXX_INSTALL_PREFIX=$(pwd)/build/install
export LIB_DIR=${lib_dir}
export BUILD_TYPE=${build_type}
export BUILD_DIR=$(pwd)/build
if [ "Windows_NT" == "$OS" ]; then
./examples/mongocxx/${build_type}/connect.exe "$URI"
else
./examples/mongocxx/connect "$URI"
fi
# The atlas_serverless_uri expansion is set in the Evergreen project settings.
export URI="${atlas_serverless_uri}"
./.evergreen/connect.sh
"backtrace":
- command: shell.exec
Expand Down Expand Up @@ -626,6 +629,7 @@ tasks:
- func: "install_c_driver"
- func: "compile"
- func: "test auth"
- func: "test atlas connectivity"

- name: compile_and_test_with_static_libs
commands:
Expand Down

0 comments on commit 08b5778

Please sign in to comment.