Skip to content
Snippets Groups Projects
Unverified Commit 5753cd98 authored by Zaida Zhou's avatar Zaida Zhou Committed by GitHub
Browse files

[Fix] backend_args should not be modified by get_file_backend (#897)

parent c46f891a
No related branches found
No related tags found
No related merge requests found
......@@ -91,8 +91,10 @@ def _get_file_backend(prefix: str, backend_args: dict):
"""
# backend name has a higher priority
if 'backend' in backend_args:
backend_name = backend_args.pop('backend')
backend = backends[backend_name](**backend_args)
# backend_args should not be modified
backend_args_bak = backend_args.copy()
backend_name = backend_args_bak.pop('backend')
backend = backends[backend_name](**backend_args_bak)
else:
backend = prefix_to_backends[prefix](**backend_args)
return backend
......
......@@ -107,10 +107,13 @@ def test_get_file_backend():
backend_args = {'backend': 'local'}
backend = fileio.get_file_backend(uri=None, backend_args=backend_args)
assert isinstance(backend, fileio.backends.LocalBackend)
# backend_args should not be modified
assert backend_args == {'backend': 'local'}
backend_args = {'backend': 'petrel', 'enable_mc': True}
backend = fileio.get_file_backend(uri=None, backend_args=backend_args)
assert isinstance(backend, fileio.backends.PetrelBackend)
assert backend_args == {'backend': 'petrel', 'enable_mc': True}
# backend name has a higher priority
backend_args = {'backend': 'http'}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment