You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
666 B
33 lines
666 B
import signal |
|
import sys |
|
from utils import * |
|
from docker import rebuild_images_if_needed |
|
from docker_compose import Compose |
|
|
|
|
|
cluster = Compose() |
|
|
|
|
|
def abort_handler(s, _): |
|
warn(f'Received signal: {s}') |
|
warn(f'Gracefully stopping...') |
|
cluster.down() |
|
|
|
|
|
def run_tests(): |
|
for s in (signal.SIGTERM, signal.SIGINT, signal.SIGHUP): |
|
signal.signal(s, abort_handler) |
|
rebuild_images_if_needed() |
|
try: |
|
cluster.up() |
|
cluster.is_alive() |
|
cluster.run('cargo test --test integration') |
|
except Exception as e: |
|
err(e) |
|
sys.exit(1) |
|
finally: |
|
cluster.down() |
|
|
|
|
|
if __name__ == '__main__': |
|
run_tests()
|
|
|