|  | @@ -4185,3 +4185,25 @@ class SerializeTest(unittest.TestCase):
 | 
	
		
			
				|  |  |          assert 'command: "true"\n' in serialized_config
 | 
	
		
			
				|  |  |          assert 'FOO: "Y"\n' in serialized_config
 | 
	
		
			
				|  |  |          assert 'BAR: "on"\n' in serialized_config
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    def test_serialize_escape_dollar_sign(self):
 | 
	
		
			
				|  |  | +        cfg = {
 | 
	
		
			
				|  |  | +            'version': '2.2',
 | 
	
		
			
				|  |  | +            'services': {
 | 
	
		
			
				|  |  | +                'web': {
 | 
	
		
			
				|  |  | +                    'image': 'busybox',
 | 
	
		
			
				|  |  | +                    'command': 'echo $$FOO',
 | 
	
		
			
				|  |  | +                    'environment': {
 | 
	
		
			
				|  |  | +                        'CURRENCY': '$$'
 | 
	
		
			
				|  |  | +                    },
 | 
	
		
			
				|  |  | +                    'entrypoint': ['$$SHELL', '-c'],
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        config_dict = config.load(build_config_details(cfg))
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        serialized_config = yaml.load(serialize_config(config_dict))
 | 
	
		
			
				|  |  | +        serialized_service = serialized_config['services']['web']
 | 
	
		
			
				|  |  | +        assert serialized_service['environment']['CURRENCY'] == '$$'
 | 
	
		
			
				|  |  | +        assert serialized_service['command'] == 'echo $$FOO'
 | 
	
		
			
				|  |  | +        assert serialized_service['entrypoint'][0] == '$$SHELL'
 |