1
0
mirror of https://github.com/nvbn/thefuck.git synced 2025-02-22 04:48:57 +00:00

Kill containers after func tests

This commit is contained in:
nvbn 2015-09-02 10:33:45 +03:00
parent b0195a8748
commit ea6600be8b

View File

@ -33,7 +33,7 @@ def spawn(request, tag, dockerfile, cmd, install=True, copy_src=False):
else: else:
tag = 'thefuck/{}'.format(tag) tag = 'thefuck/{}'.format(tag)
build_container(tag, dockerfile, copy_src) build_container(tag, dockerfile, copy_src)
proc = pexpect.spawnu('docker run --volume {}:/src --tty=true ' proc = pexpect.spawnu('docker run --rm=true --volume {}:/src --tty=true '
'--interactive=true {} {}'.format(root, tag, cmd)) '--interactive=true {} {}'.format(root, tag, cmd))
if install: if install:
proc.sendline('pip install /src') proc.sendline('pip install /src')
@ -42,7 +42,13 @@ def spawn(request, tag, dockerfile, cmd, install=True, copy_src=False):
proc.logfile = sys.stdout proc.logfile = sys.stdout
request.addfinalizer(lambda: proc.terminate(True)) def _finalizer():
proc.terminate()
container_id = subprocess.check_output(['docker', 'ps']) \
.decode('utf-8').split('\n')[-2].split()[0]
subprocess.check_call(['docker', 'kill', container_id])
request.addfinalizer(_finalizer)
return proc return proc