Merge pull request #1833 from aanand/deprecate-relative-volumes-without-dot
Show a warning when a relative path is specified without "./"
(cherry picked from commit 52733f6996)
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
Conflicts:
compose/config.py
tests/unit/config_test.py
This commit is contained in:
parent
16440ff055
commit
5548aa5c79
3 changed files with 75 additions and 7 deletions
|
|
@ -72,7 +72,52 @@ class VolumePathTest(unittest.TestCase):
|
|||
d = make_service_dict('foo', {'volumes': ['~:/container/path']}, working_dir='.')
|
||||
self.assertEqual(d['volumes'], ['/home/user:/container/path'])
|
||||
|
||||
def test_named_volume_with_driver(self):
|
||||
@mock.patch.dict(os.environ)
|
||||
def test_volume_binding_with_local_dir_name_raises_warning(self):
|
||||
def make_dict(**config):
|
||||
make_service_dict('foo', config, working_dir='.')
|
||||
|
||||
with mock.patch('compose.config.log.warn') as warn:
|
||||
make_dict(volumes=['/container/path'])
|
||||
self.assertEqual(0, warn.call_count)
|
||||
|
||||
make_dict(volumes=['/data:/container/path'])
|
||||
self.assertEqual(0, warn.call_count)
|
||||
|
||||
make_dict(volumes=['.:/container/path'])
|
||||
self.assertEqual(0, warn.call_count)
|
||||
|
||||
make_dict(volumes=['..:/container/path'])
|
||||
self.assertEqual(0, warn.call_count)
|
||||
|
||||
make_dict(volumes=['./data:/container/path'])
|
||||
self.assertEqual(0, warn.call_count)
|
||||
|
||||
make_dict(volumes=['../data:/container/path'])
|
||||
self.assertEqual(0, warn.call_count)
|
||||
|
||||
make_dict(volumes=['.profile:/container/path'])
|
||||
self.assertEqual(0, warn.call_count)
|
||||
|
||||
make_dict(volumes=['~:/container/path'])
|
||||
self.assertEqual(0, warn.call_count)
|
||||
|
||||
make_dict(volumes=['~/data:/container/path'])
|
||||
self.assertEqual(0, warn.call_count)
|
||||
|
||||
make_dict(volumes=['~tmp:/container/path'])
|
||||
self.assertEqual(0, warn.call_count)
|
||||
|
||||
make_dict(volumes=['data:/container/path'], volume_driver='mydriver')
|
||||
self.assertEqual(0, warn.call_count)
|
||||
|
||||
make_dict(volumes=['data:/container/path'])
|
||||
self.assertEqual(1, warn.call_count)
|
||||
warning = warn.call_args[0][0]
|
||||
self.assertIn('"data:/container/path"', warning)
|
||||
self.assertIn('"./data:/container/path"', warning)
|
||||
|
||||
def test_named_volume_with_driver_does_not_expand(self):
|
||||
d = make_service_dict('foo', {
|
||||
'volumes': ['namedvolume:/data'],
|
||||
'volume_driver': 'foodriver',
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue