Currently, the tests in test/cql-pytest can be run against both ScyllaDB and Cassandra. Running the test for either will first output the test results, and subsequently print the stdout output of the process under test. Using the command line option --omit-scylla-output it is possible to disable this print for Scylla, but it is not possible for tests run against Cassandra. This change adds the option to suppress output for Cassandra tests, too. By default, the stdout of the Cassandra run will still be printed after the test results, but this can now be disabled with --omit-scylla-output Closes scylladb/scylladb#17996
50 lines
1.5 KiB
Python
Executable File
50 lines
1.5 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
import sys
|
|
|
|
import run # run.py in this directory
|
|
|
|
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
|
|
|
|
if "-h" in sys.argv or "--help" in sys.argv:
|
|
run.run_pytest(sys.path[0], sys.argv)
|
|
exit(0)
|
|
|
|
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).
|