#!/usr/bin/env python

## see README in this directory
## depends on "txtorcon-tester" docker.io container existing
## (run "make txtorcon-testing" at top-level to achieve this)

import os
import atexit
import functools
import subprocess
import time
import sys

d = os.path.realpath(os.path.curdir)
container = subprocess.check_output(['docker', 'run', '-v', d+':/txtorcon:ro',
                                     '-d', 'txtorcon-tester', '/txtorcon/integration/timeout_tor_launch/container_run'],
                                    text=True).strip()
print('container:', container)
def kill_container(container):
    print("killing", container)
    subprocess.check_output(['docker', 'kill', container])
atexit.register(functools.partial(kill_container, container))

print("waiting 15 seconds")
time.sleep(15)

print("gathering logs")
logs = subprocess.check_output(['docker', 'logs', container], text=True)

print(logs)
if '/usr/sbin/tor' in logs:
    sys.exit(1)
sys.exit(0)
