Added integration test for build error when building with docker cli

Signed-off-by: Erfan Gholamian <egholamian2@gmail.com>
This commit is contained in:
Erfan Gholamian 2020-08-21 19:32:37 +04:30 committed by Ulysses Souza
parent 76c92b01d4
commit 76963e44ad

View File

@ -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)