|  | @@ -1304,6 +1304,29 @@ class ConfigTest(unittest.TestCase):
 | 
	
		
			
				|  |  |          assert npipe_mount.target == '/named_pipe'
 | 
	
		
			
				|  |  |          assert not npipe_mount.is_named_volume
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    def test_load_bind_mount_relative_path(self):
 | 
	
		
			
				|  |  | +        expected_source = 'C:\\tmp\\web' if IS_WINDOWS_PLATFORM else '/tmp/web'
 | 
	
		
			
				|  |  | +        base_file = config.ConfigFile(
 | 
	
		
			
				|  |  | +            'base.yaml', {
 | 
	
		
			
				|  |  | +                'version': '3.4',
 | 
	
		
			
				|  |  | +                'services': {
 | 
	
		
			
				|  |  | +                    'web': {
 | 
	
		
			
				|  |  | +                        'image': 'busybox:latest',
 | 
	
		
			
				|  |  | +                        'volumes': [
 | 
	
		
			
				|  |  | +                            {'type': 'bind', 'source': './web', 'target': '/web'},
 | 
	
		
			
				|  |  | +                        ],
 | 
	
		
			
				|  |  | +                    },
 | 
	
		
			
				|  |  | +                },
 | 
	
		
			
				|  |  | +            },
 | 
	
		
			
				|  |  | +        )
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        details = config.ConfigDetails('/tmp', [base_file])
 | 
	
		
			
				|  |  | +        config_data = config.load(details)
 | 
	
		
			
				|  |  | +        mount = config_data.services[0].get('volumes')[0]
 | 
	
		
			
				|  |  | +        assert mount.target == '/web'
 | 
	
		
			
				|  |  | +        assert mount.type == 'bind'
 | 
	
		
			
				|  |  | +        assert mount.source == expected_source
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      def test_config_valid_service_names(self):
 | 
	
		
			
				|  |  |          for valid_name in ['_', '-', '.__.', '_what-up.', 'what_.up----', 'whatup']:
 | 
	
		
			
				|  |  |              services = config.load(
 |