909e42d414
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
111 lines
2.6 KiB
Bash
Executable File
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 $?
|