md5 = hashlib.md5()
md5.update(arvados.config.get('ARVADOS_API_HOST', '!nohost'))
realpaths = sorted(os.path.realpath(path) for path in args.paths)
- md5.update(''.join(realpaths))
+ md5.update('\0'.join(realpaths))
if any(os.path.isdir(path) for path in realpaths):
md5.update(str(max(args.max_manifest_depth, -1)))
elif args.filename:
self.cache_path_from_arglist(['-', '--filename', 'stdin']),
self.cache_path_from_arglist(['--filename', 'stdin', '-']))
+ def test_cache_names_differ_for_similar_paths(self):
+ # This test needs names at / that don't exist on the real filesystem.
+ self.assertNotEqual(
+ self.cache_path_from_arglist(['/_arvputtest1', '/_arvputtest2']),
+ self.cache_path_from_arglist(['/_arvputtest1/_arvputtest2']))
+
def test_cache_names_ignore_irrelevant_arguments(self):
# Workaround: parse_arguments bails on --filename with a directory.
path1 = self.cache_path_from_arglist(['/tmp'])