Expand source directories when checking for existence (#682).
Reviewed-on: https://projects.torsion.org/borgmatic-collective/borgmatic/pulls/683
This commit is contained in:
commit
5829196b70
2 changed files with 16 additions and 1 deletions
|
@ -314,7 +314,7 @@ def check_all_source_directories_exist(source_directories):
|
|||
missing_directories = [
|
||||
source_directory
|
||||
for source_directory in source_directories
|
||||
if not os.path.exists(source_directory)
|
||||
if not all([os.path.exists(directory) for directory in expand_directory(source_directory)])
|
||||
]
|
||||
if missing_directories:
|
||||
raise ValueError(f"Source directories do not exist: {', '.join(missing_directories)}")
|
||||
|
|
|
@ -2565,3 +2565,18 @@ def test_create_archive_with_non_existent_directory_and_source_directories_must_
|
|||
storage_config={},
|
||||
local_borg_version='1.2.3',
|
||||
)
|
||||
|
||||
|
||||
def test_check_all_source_directories_exist_with_glob_and_tilde_directories():
|
||||
flexmock(module).should_receive('expand_directory').with_args('foo*').and_return(
|
||||
('foo', 'food')
|
||||
)
|
||||
flexmock(module).should_receive('expand_directory').with_args('~/bar').and_return(
|
||||
('/root/bar',)
|
||||
)
|
||||
flexmock(module.os.path).should_receive('exists').and_return(False)
|
||||
flexmock(module.os.path).should_receive('exists').with_args('foo').and_return(True)
|
||||
flexmock(module.os.path).should_receive('exists').with_args('food').and_return(True)
|
||||
flexmock(module.os.path).should_receive('exists').with_args('/root/bar').and_return(True)
|
||||
|
||||
module.check_all_source_directories_exist(['foo*', '~/bar'])
|
||||
|
|
Loading…
Reference in a new issue