mirror of https://github.com/docker/compose.git
Fix "extends" same file optimization (#6425)
Fix "extends" same file optimization
This commit is contained in:
commit
7172849913
|
@ -615,7 +615,7 @@ class ServiceExtendsResolver(object):
|
||||||
config_path = self.get_extended_config_path(extends)
|
config_path = self.get_extended_config_path(extends)
|
||||||
service_name = extends['service']
|
service_name = extends['service']
|
||||||
|
|
||||||
if config_path == self.config_file.filename:
|
if config_path == os.path.abspath(self.config_file.filename):
|
||||||
try:
|
try:
|
||||||
service_config = self.config_file.get_service(service_name)
|
service_config = self.config_file.get_service(service_name)
|
||||||
except KeyError:
|
except KeyError:
|
||||||
|
|
|
@ -18,6 +18,7 @@ from ...helpers import build_config_details
|
||||||
from ...helpers import BUSYBOX_IMAGE_WITH_TAG
|
from ...helpers import BUSYBOX_IMAGE_WITH_TAG
|
||||||
from compose.config import config
|
from compose.config import config
|
||||||
from compose.config import types
|
from compose.config import types
|
||||||
|
from compose.config.config import ConfigFile
|
||||||
from compose.config.config import resolve_build_args
|
from compose.config.config import resolve_build_args
|
||||||
from compose.config.config import resolve_environment
|
from compose.config.config import resolve_environment
|
||||||
from compose.config.environment import Environment
|
from compose.config.environment import Environment
|
||||||
|
@ -4887,6 +4888,11 @@ class ExtendsTest(unittest.TestCase):
|
||||||
assert types.SecurityOpt.parse('apparmor:unconfined') in svc['security_opt']
|
assert types.SecurityOpt.parse('apparmor:unconfined') in svc['security_opt']
|
||||||
assert types.SecurityOpt.parse('seccomp:unconfined') in svc['security_opt']
|
assert types.SecurityOpt.parse('seccomp:unconfined') in svc['security_opt']
|
||||||
|
|
||||||
|
@mock.patch.object(ConfigFile, 'from_filename', wraps=ConfigFile.from_filename)
|
||||||
|
def test_extends_same_file_optimization(self, from_filename_mock):
|
||||||
|
load_from_filename('tests/fixtures/extends/no-file-specified.yml')
|
||||||
|
from_filename_mock.assert_called_once()
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.xfail(IS_WINDOWS_PLATFORM, reason='paths use slash')
|
@pytest.mark.xfail(IS_WINDOWS_PLATFORM, reason='paths use slash')
|
||||||
class ExpandPathTest(unittest.TestCase):
|
class ExpandPathTest(unittest.TestCase):
|
||||||
|
|
Loading…
Reference in New Issue