You've already forked mariadb-columnstore-engine
							
							
				mirror of
				https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
				synced 2025-10-30 07:25:34 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			56 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/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
 | |
| 
 | |
| 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
 |