You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-30 19:23:07 +03:00
chore(ci) MCOL-6071 run_cmapi_test.sh
This commit is contained in:
committed by
Leonid Fedorov
parent
daab30a987
commit
49864b4c64
64
build/run_cmapi_test.sh
Executable file
64
build/run_cmapi_test.sh
Executable file
@ -0,0 +1,64 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -eo pipefail
|
||||
|
||||
SCRIPT_LOCATION=$(dirname "$0")
|
||||
COLUMNSTORE_SOURCE_PATH=$(realpath "$SCRIPT_LOCATION"/../)
|
||||
MDB_SOURCE_PATH=$(realpath "$SCRIPT_LOCATION"/../../../..)
|
||||
CMAPI_PATH="/usr/share/columnstore/cmapi"
|
||||
ETC_PATH="/etc/columnstore"
|
||||
|
||||
source "$SCRIPT_LOCATION"/utils.sh
|
||||
|
||||
optparse.define short=c long=container-name desc="Name of the Docker container where cmapi tests will run" variable=CONTAINER_NAME
|
||||
optparse.define short=f long=pkg-format desc="Package format" variable=PKG_FORMAT
|
||||
source $(optparse.build)
|
||||
echo "Arguments received: $@"
|
||||
|
||||
for flag in CONTAINER_NAME PKG_FORMAT; do
|
||||
if [[ -z "${!flag}" ]]; then
|
||||
error "Missing required flag: -${flag:0:1} / --${flag,,}"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
on_exit() {
|
||||
if [[ $? -eq 0 ]]; then
|
||||
echo "Cmapi tests passed"
|
||||
else
|
||||
echo "Cmapi tests failed!"
|
||||
fi
|
||||
}
|
||||
trap on_exit EXIT
|
||||
|
||||
prepare_environment() {
|
||||
echo "Preparing for cmapi test run..."
|
||||
|
||||
if [[ "$PKG_FORMAT" == "deb" ]]; then
|
||||
execInnerDocker $CONTAINER_NAME "apt-get clean && apt-get update -y && apt-get install -y mariadb-columnstore-cmapi"
|
||||
else
|
||||
execInnerDocker $CONTAINER_NAME "yum update -y && yum install -y MariaDB-columnstore-cmapi"
|
||||
fi
|
||||
|
||||
cd cmapi
|
||||
|
||||
for i in mcs_node_control cmapi_server failover; do
|
||||
docker cp "${i}/test" "$CONTAINER_NAME:${CMAPI_PATH}/${i}/"
|
||||
done
|
||||
|
||||
docker cp run_tests.py "$CONTAINER_NAME:${CMAPI_PATH}/"
|
||||
execInnerDocker $CONTAINER_NAME "systemctl start mariadb-columnstore-cmapi"
|
||||
|
||||
# set API key to /etc/columnstore/cmapi_server.conf
|
||||
execInnerDocker $CONTAINER_NAME "mcs cluster set api-key --key somekey123"
|
||||
# copy cmapi conf file for test purposes (there are api key already set inside)
|
||||
execInnerDocker $CONTAINER_NAME "cp ${ETC_PATH}/cmapi_server.conf ${CMAPI_PATH}/cmapi_server/"
|
||||
execInnerDocker $CONTAINER_NAME "systemctl stop mariadb-columnstore-cmapi"
|
||||
}
|
||||
|
||||
run_cmapi_test() {
|
||||
execInnerDocker $CONTAINER_NAME "cd ${CMAPI_PATH} && python/bin/python3 run_tests.py"
|
||||
}
|
||||
|
||||
prepare_environment
|
||||
run_cmapi_test
|
Reference in New Issue
Block a user