From 9585c8f90868e095531f3b41ec4776bad5d20932 Mon Sep 17 00:00:00 2001 From: Dan Helfman Date: Fri, 13 Sep 2019 13:08:23 -0700 Subject: [PATCH] Fix for spurious Borg traceback when initializing a repository in an empty directory (#201). --- NEWS | 3 +++ borgmatic/execute.py | 2 +- setup.py | 2 +- tests/unit/test_execute.py | 4 ++-- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/NEWS b/NEWS index 0e9071712..09f6e39bb 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,6 @@ +1.3.16.dev0 + * #201: Fix for spurious Borg traceback when initializing a repository in an empty directory. + 1.3.15 * #208: Fix for traceback when the "checks" option has an empty value. * #209: Bypass Borg error about a moved repository via "relocated_repo_access_is_ok" option in diff --git a/borgmatic/execute.py b/borgmatic/execute.py index 44dc16dff..d3ec975b1 100644 --- a/borgmatic/execute.py +++ b/borgmatic/execute.py @@ -57,7 +57,7 @@ def execute_command(full_command, output_log_level=logging.INFO, shell=False): logger.debug(' '.join(full_command)) if output_log_level is None: - output = subprocess.check_output(full_command, shell=shell) + output = subprocess.check_output(full_command, stderr=subprocess.STDOUT, shell=shell) return output.decode() if output is not None else None else: execute_and_log_output(full_command, output_log_level, shell=shell) diff --git a/setup.py b/setup.py index a42a86d5c..443a041ea 100644 --- a/setup.py +++ b/setup.py @@ -1,6 +1,6 @@ from setuptools import find_packages, setup -VERSION = '1.3.15' +VERSION = '1.3.16.dev0' setup( diff --git a/tests/unit/test_execute.py b/tests/unit/test_execute.py index ec2ebe957..f90640365 100644 --- a/tests/unit/test_execute.py +++ b/tests/unit/test_execute.py @@ -31,7 +31,7 @@ def test_execute_command_captures_output(): full_command = ['foo', 'bar'] expected_output = '[]' flexmock(module.subprocess).should_receive('check_output').with_args( - full_command, shell=False + full_command, stderr=module.subprocess.STDOUT, shell=False ).and_return(flexmock(decode=lambda: expected_output)).once() output = module.execute_command(full_command, output_log_level=None) @@ -43,7 +43,7 @@ def test_execute_command_captures_output_with_shell(): full_command = ['foo', 'bar'] expected_output = '[]' flexmock(module.subprocess).should_receive('check_output').with_args( - full_command, shell=True + full_command, stderr=module.subprocess.STDOUT, shell=True ).and_return(flexmock(decode=lambda: expected_output)).once() output = module.execute_command(full_command, output_log_level=None, shell=True)