memgraph/tests/qa/run
Ivan Paljak 909e42d414 Add initial version of properties on disk
Summary:
A simplified end-to-end implementation

POD interface set-up, still have bugs with HDDkeys

Version bug fix and first iterator implementation

Fixed out-of-scope reference in PVS iterator

Added PVS unit tests

Reviewers: buda, mferencevic, dgleich, teon.banek

Reviewed By: buda, dgleich

Subscribers: mferencevic, pullbot

Differential Revision: https://phabricator.memgraph.io/D1369
2018-05-10 17:58:38 +02:00

111 lines
2.6 KiB
Bash
Executable File

#!/bin/bash
function print_usage_and_exit {
echo "./run --test-suite test_suite [--unstable]"
echo "Required arguments:"
echo -e " --test-suite test_suite\trun test_suite scenarios, test_suite must be test folder in tck_engine/tests."
echo -e " --name name\tunique identifer of test_suite and its parameters"
echo "Optional arguments:"
echo -e " --unstable\trun unstable scenarios"
echo -e " --memgraph-params \"param1=value1 param2=value2\"\tcommand line arguments for memgraph"
exit 1
}
# exit if any subcommand returns a non-zero status
set -e
# read arguments
unstable=false
memgraph_params=""
loglevel=2
while [[ $# -gt 0 ]]; do
case $1 in
--unstable)
unstable=true
shift
;;
--verbose)
loglevel=0
shift
;;
--memgraph-params)
if [ $# -eq 1 ]; then
print_usage_and_exit
fi
memgraph_params=$2
shift
shift
;;
--name)
if [ $# -eq 1 ]; then
print_usage_and_exit
fi
name=$2
shift
shift
;;
--test-suite)
if [ $# -eq 1 ]; then
print_usage_and_exit
fi
test_suite=$2
shift
shift
;;
*)
# unknown option
print_usage_and_exit
;;
esac
done
if [[ "$test_suite" = "" ]]; then
print_usage_and_exit
fi
# save the path where this script is
script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
memgraph_src_dir=${script_dir}/../..
memgraph_build_dir=${memgraph_src_dir}/build
if [ ! -d ${memgraph_build_dir} ]; then
memgraph_build_dir=${memgraph_src_dir}/build_debug
fi
memgraph_binary=${memgraph_build_dir}/memgraph
# activate virtualenv
source $script_dir/ve3/bin/activate
# get full path to memgraph config for interpreted queries
config_path="${memgraph_src_dir}/config/testing.conf"
# run scenarios
cd ${script_dir}
tck_flags="--root tck_engine/tests/$test_suite
--test-name $name
--no-side-effects --db memgraph"
if [[ $unstable = true ]]; then
tck_flags="$tck_flags --unstable"
fi
# the script has to be careful because memgraph process will be detached
set +e
# run memgraph
MEMGRAPH_CONFIG="$config_path"
"$memgraph_binary" --min-log-level=$loglevel "$memgraph_params" 1>&2 &
background_pid=$!
function cleanup_and_exit {
kill -9 $background_pid
sleep 2
exit $1
}
sleep 2
python3 tck_engine/test_executor.py $tck_flags
cleanup_and_exit $?