Compare commits
1 Commits
libuuid-fi
...
add-e2e-di
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c9e848fe75 |
@@ -5,7 +5,7 @@ cd "$SCRIPT_DIR"
|
||||
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../libs/mgclient/lib
|
||||
|
||||
print_help() {
|
||||
echo -e "$0 ["workload name string"]"
|
||||
echo -e "$0 ["workload name string"]" or "$0 ["workload dir string"]" "*" or "$0 ["workload dir string"]" "[workload name string]"
|
||||
echo -e ""
|
||||
echo -e " NOTE: some tests require enterprise licence key,"
|
||||
echo -e " to run those define the folowing env vars:"
|
||||
@@ -27,7 +27,7 @@ if [ "$#" -eq 0 ]; then
|
||||
# NOTE: If you want to run all tests under specific folder/section just
|
||||
# replace the dot (root directory below) with the folder name, e.g.
|
||||
# `--workloads-root-directory replication`.
|
||||
python3 runner.py --workloads-root-directory .
|
||||
python3 runner.py --workloads-root-directory . --workload-name "import_mode"
|
||||
elif [ "$#" -eq 1 ]; then
|
||||
if [ "$1" == "-h" ] || [ "$1" == "--help" ]; then
|
||||
print_help
|
||||
@@ -37,6 +37,14 @@ elif [ "$#" -eq 1 ]; then
|
||||
# workloads.yaml file. E.g. `streams/workloads.yaml` has a list of
|
||||
# `workloads:` and each workload has it's `-name`.
|
||||
python3 runner.py --workloads-root-directory . --workload-name "$1"
|
||||
elif [ "$#" -eq 2 ]; then
|
||||
check_license
|
||||
# NOTE: --workload-dir is whole directory. If you want to test whole dir
|
||||
# run ./run.sh triggers "*"
|
||||
# --workload-name comes from each individual folder/section
|
||||
# workloads.yaml file. E.g. `streams/workloads.yaml` has a list of
|
||||
# `workloads:` and each workload has it's `-name`.
|
||||
python3 runner.py --workloads-root-directory . --workload-dir "$1" --workload-name "$2"
|
||||
else
|
||||
print_help
|
||||
fi
|
||||
|
||||
@@ -16,6 +16,7 @@ import subprocess
|
||||
import time
|
||||
from argparse import ArgumentParser
|
||||
from pathlib import Path
|
||||
from typing import List
|
||||
|
||||
import interactive_mg_runner
|
||||
import yaml
|
||||
@@ -27,27 +28,39 @@ BUILD_DIR = os.path.join(PROJECT_DIR, "build")
|
||||
log = logging.getLogger("memgraph.tests.e2e")
|
||||
|
||||
|
||||
class Workload:
|
||||
def __init__(self, dir_name: str, yaml_obj) -> None:
|
||||
self._dir_name = dir_name
|
||||
self._yaml_obj = yaml_obj
|
||||
|
||||
|
||||
def load_args():
|
||||
parser = ArgumentParser()
|
||||
parser.add_argument("--workloads-root-directory", required=True)
|
||||
parser.add_argument("--workload-name", default=None, required=False)
|
||||
parser.add_argument("--workload-dir", default=None, required=False)
|
||||
parser.add_argument("--debug", default=False, required=False)
|
||||
return parser.parse_args()
|
||||
|
||||
|
||||
def load_workloads(root_directory):
|
||||
def load_workloads(root_directory) -> List[Workload]:
|
||||
workloads = []
|
||||
for file in Path(root_directory).rglob("*.yaml"):
|
||||
with open(file, "r") as f:
|
||||
workloads.extend(yaml.load(f, Loader=yaml.FullLoader)["workloads"])
|
||||
obj = yaml.load(f, Loader=yaml.FullLoader)["workloads"]
|
||||
for o in obj:
|
||||
workloads.append(Workload(file.parent.absolute().name, o))
|
||||
return workloads
|
||||
|
||||
|
||||
def run(args):
|
||||
workloads = load_workloads(args.workloads_root_directory)
|
||||
for workload in workloads:
|
||||
for workload_obj in workloads:
|
||||
workload = workload_obj._yaml_obj
|
||||
workload_name = workload["name"]
|
||||
if args.workload_name is not None and args.workload_name != workload_name:
|
||||
if args.workload_dir is not None and args.workload_dir != workload_obj._dir_name:
|
||||
continue
|
||||
if args.workload_name is not None and args.workload_name != "*" and args.workload_name != workload_name:
|
||||
continue
|
||||
log.info("%s STARTED.", workload_name)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user