From 1a76bfd2a3f9222c39148b88b5534ce6a57fa280 Mon Sep 17 00:00:00 2001 From: nvbn Date: Thu, 30 Jul 2015 18:17:29 +0300 Subject: [PATCH] #298 Always clean-up after building container --- tests/functional/utils.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/tests/functional/utils.py b/tests/functional/utils.py index 69edb4b8..2ca2b839 100644 --- a/tests/functional/utils.py +++ b/tests/functional/utils.py @@ -1,5 +1,4 @@ import os -from contextlib import contextmanager import subprocess import shutil from tempfile import mkdtemp @@ -15,12 +14,14 @@ enabled = os.environ.get('FUNCTIONAL') def build_container(tag, dockerfile): tmpdir = mkdtemp() - with Path(tmpdir).joinpath('Dockerfile').open('w') as file: - file.write(dockerfile) - if subprocess.call(['docker', 'build', '--tag={}'.format(tag), tmpdir], - cwd=root) != 0: - raise Exception("Can't build a container") - shutil.rmtree(tmpdir) + try: + with Path(tmpdir).joinpath('Dockerfile').open('w') as file: + file.write(dockerfile) + if subprocess.call(['docker', 'build', '--tag={}'.format(tag), tmpdir], + cwd=root) != 0: + raise Exception("Can't build a container") + finally: + shutil.rmtree(tmpdir) def spawn(request, tag, dockerfile, cmd): @@ -32,6 +33,7 @@ def spawn(request, tag, dockerfile, cmd): proc = pexpect.spawnu('docker run --volume {}:/src --tty=true ' '--interactive=true {} {}'.format(root, tag, cmd)) proc.sendline('pip install /src') + proc.sendline('cd /') proc.logfile = sys.stdout