Files
scylladb/test/rest_api/run
Aleksandra Martyniuk 9dcb5c76d6 test: rest_api: enable tablets by default
Enable tablets by default. Add --vnodes flag to test/rest_api/run
to run tests without tablets.
2024-02-27 17:46:30 +01:00

49 lines
1.4 KiB
Python
Executable File

#!/usr/bin/env python3
import sys
# Use the run.py library from ../cql-pytest:
sys.path.insert(1, sys.path[0] + '/../cql-pytest')
import run
print('Scylla is: ' + run.find_scylla() + '.')
ssl = '--ssl' in sys.argv
if ssl:
cmd = run.run_scylla_ssl_cql_cmd
check_cql = run.check_ssl_cql
else:
cmd = run.run_scylla_cmd
check_cql = run.check_cql
# If the "--vnodes" option is given, drop the "tablets" experimental
# feature (turned on in run.py) so that all tests will be run with the
# old vnode-based replication instead of tablets. This option only has
# temporary usefulness, and should eventually be removed.
if '--vnodes' in sys.argv:
sys.argv.remove('--vnodes')
def run_without_tablets(pid, dir):
(c, e) = run_without_tablets.orig_cmd(pid, dir)
c.remove('--experimental-features=tablets')
return (c, e)
run_without_tablets.orig_cmd = cmd
cmd = run_without_tablets
pid = run.run_with_temporary_dir(cmd)
ip = run.pid_to_ip(pid)
run.wait_for_services(pid, [
lambda: run.check_rest_api(ip),
lambda: check_cql(ip)
])
success = run.run_pytest(sys.path[0], ['--host', ip] + sys.argv[1:])
run.summary = 'Scylla tests pass' if success else 'Scylla tests failure'
exit(0 if success else 1)
# Note that the run.cleanup_all() function runs now, just like on any exit
# for any reason in this script. It will delete the temporary files and
# announce the failure or success of the test (printing run.summary).