Previously, test/cql-pytest/run was a Python script, while test/cql-pytest/run-cassandra (to run the tests against Cassandra) was still a shell script - modeled after test/alternator/run. This patch makes rewrites run-cassandra in Python. A lot of the same code is needed for both run and run-cassandra tools. test/cql-pytest/run was already written in a way that this common code was separate functions. For example, functions to start a server in a temporary directory, to check when it finishes booting, and to clean up at the end. This patch moves this common code to a new file, "run.py" - and the tools "run" and "cassandra-run" are very short programs which mostly use functions from run.py (run-cassandra also has some unique code to run Cassandra, that no other test runner will need). Signed-off-by: Nadav Har'El <nyh@scylladb.com> Message-Id: <20201110215210.741753-1-nyh@scylladb.com>
22 lines
588 B
Python
Executable File
22 lines
588 B
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
import sys
|
|
|
|
import run # run.py in this directory
|
|
|
|
print('Scylla is: ' + run.scylla + '.')
|
|
|
|
pid = run.run_with_temporary_dir(run.run_scylla_cmd)
|
|
ip = run.pid_to_ip(pid)
|
|
|
|
run.wait_for_cql(pid, ip)
|
|
success = run.run_cql_pytest(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).
|