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)
|
||||
service_name = extends['service']
|
||||
|
||||
if config_path == self.config_file.filename:
|
||||
if config_path == os.path.abspath(self.config_file.filename):
|
||||
try:
|
||||
service_config = self.config_file.get_service(service_name)
|
||||
except KeyError:
|
||||
|
|
|
@ -18,6 +18,7 @@ from ...helpers import build_config_details
|
|||
from ...helpers import BUSYBOX_IMAGE_WITH_TAG
|
||||
from compose.config import config
|
||||
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_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('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')
|
||||
class ExpandPathTest(unittest.TestCase):
|
||||
|
|
Loading…
Reference in New Issue