[Fix] backend_args should not be modified by get_file_backend (#897)
parent
c46f891a97
commit
5753cd98e0
|
@ -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'}
|
||||
|
|
Loading…
Reference in New Issue