From 76963e44add9810c1d906b5fbd052dc3fb480479 Mon Sep 17 00:00:00 2001 From: Erfan Gholamian Date: Fri, 21 Aug 2020 19:32:37 +0430 Subject: [PATCH] Added integration test for build error when building with docker cli Signed-off-by: Erfan Gholamian --- tests/integration/service_test.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/tests/integration/service_test.py b/tests/integration/service_test.py index 985c4d77a..e11616491 100644 --- a/tests/integration/service_test.py +++ b/tests/integration/service_test.py @@ -36,6 +36,7 @@ from compose.parallel import ParallelStreamWriter from compose.project import OneOffFilter from compose.project import Project from compose.service import BuildAction +from compose.service import BuildError from compose.service import ConvergencePlan from compose.service import ConvergenceStrategy from compose.service import IpcMode @@ -987,6 +988,26 @@ class ServiceTest(DockerClientTestCase): image = self.client.inspect_image('composetest_web') assert image['Config']['Labels']['com.docker.compose.test'] + def test_build_cli_with_build_error(self): + base_dir = tempfile.mkdtemp() + self.addCleanup(shutil.rmtree, base_dir) + + with open(os.path.join(base_dir, 'Dockerfile'), 'w') as f: + f.write('\n'.join([ + "FROM busybox", + "RUN exit 2", + ])) + service = self.create_service('web', + build={ + 'context': base_dir, + 'labels': {'com.docker.compose.test': 'true'}}, + ) + with pytest.raises(BuildError) as excinfo: + service.build(cli=True) + + reason = excinfo.value.reason + assert "The command '/bin/sh -c exit 2' returned a non-zero code: 2" == reason + def test_up_build_cli(self): base_dir = tempfile.mkdtemp() self.addCleanup(shutil.rmtree, base_dir)