瀏覽代碼

Tests for --dry-run + --verbosity fix.

Dan Helfman 7 年之前
父節點
當前提交
a72f5ff69a
共有 3 個文件被更改,包括 44 次插入1 次删除
  1. 1 1
      AUTHORS
  2. 1 0
      NEWS
  3. 42 0
      borgmatic/tests/unit/borg/test_create.py

+ 1 - 1
AUTHORS

@@ -4,7 +4,7 @@ Alexander Görtz: Python 3 compatibility
 Henning Schroeder: Copy editing
 Johannes Feichtner: Support for user hooks
 Michele Lazzeri: Custom archive names
-newtonne: Reading encryption password from external file
+newtonne: Read encryption password from external file
 Robin `ypid` Schneider: Support additional options of Borg
 Scott Squires: Custom archive names
 Thomas LÉVEIL: Support for a keep_minutely prune option

+ 1 - 0
NEWS

@@ -1,6 +1,7 @@
 1.1.15.dev0
  * Support for Borg BORG_PASSCOMMAND environment variable to read a password from an external file.
  * #55: Fix for missing tags/releases from Gitea and GitHub project hosting.
+ * Fix for Borg create error when using borgmatic's --dry-run and --verbosity options together.
 
 1.1.14
  * #49: Fix for typo in --patterns-from option.

+ 42 - 0
borgmatic/tests/unit/borg/test_create.py

@@ -317,6 +317,48 @@ def test_create_archive_with_dry_run_calls_borg_with_dry_run_parameter():
     )
 
 
+def test_create_archive_with_dry_run_and_verbosity_some_calls_borg_without_stats_parameter():
+    flexmock(module).should_receive('_expand_directory').and_return(['foo']).and_return(['bar'])
+    flexmock(module).should_receive('_write_pattern_file').and_return(None)
+    flexmock(module).should_receive('_make_pattern_flags').and_return(())
+    flexmock(module).should_receive('_make_pattern_flags').and_return(())
+    flexmock(module).should_receive('_make_exclude_flags').and_return(())
+    insert_subprocess_mock(CREATE_COMMAND + ('--info', '--dry-run'))
+
+    module.create_archive(
+        verbosity=VERBOSITY_SOME,
+        dry_run=True,
+        repository='repo',
+        location_config={
+            'source_directories': ['foo', 'bar'],
+            'repositories': ['repo'],
+            'exclude_patterns': None,
+        },
+        storage_config={},
+    )
+
+
+def test_create_archive_with_dry_run_and_verbosity_lots_calls_borg_without_stats_parameter():
+    flexmock(module).should_receive('_expand_directory').and_return(['foo']).and_return(['bar'])
+    flexmock(module).should_receive('_write_pattern_file').and_return(None)
+    flexmock(module).should_receive('_make_pattern_flags').and_return(())
+    flexmock(module).should_receive('_make_pattern_flags').and_return(())
+    flexmock(module).should_receive('_make_exclude_flags').and_return(())
+    insert_subprocess_mock(CREATE_COMMAND + ('--debug', '--list', '--dry-run'))
+
+    module.create_archive(
+        verbosity=VERBOSITY_LOTS,
+        dry_run=True,
+        repository='repo',
+        location_config={
+            'source_directories': ['foo', 'bar'],
+            'repositories': ['repo'],
+            'exclude_patterns': None,
+        },
+        storage_config={},
+    )
+
+
 def test_create_archive_with_compression_calls_borg_with_compression_parameters():
     flexmock(module).should_receive('_expand_directory').and_return(['foo']).and_return(['bar'])
     flexmock(module).should_receive('_write_pattern_file').and_return(None)