From: Antonio Larrosa Subject: Fix mock.patch with python3.4 In python 3.5, mock.patch uses create=True automatically if you are patching builtins in a module, but in python 3.4 the argument is still needed. --- a/tests/unit/test_debug.py +++ b/tests/unit/test_debug.py @@ -70,7 +70,7 @@ def test_information(system, pyversion, system.assert_called_once_with() -@mock.patch('flake8.main.debug.print') +@mock.patch('flake8.main.debug.print', create=True) @mock.patch('flake8.main.debug.information', return_value={}) @mock.patch('json.dumps', return_value='{}') def test_print_information_no_plugins(dumps, information, print_mock): @@ -84,7 +84,7 @@ def test_print_information_no_plugins(du assert print_mock.called is False -@mock.patch('flake8.main.debug.print') +@mock.patch('flake8.main.debug.print', create=True) @mock.patch('flake8.main.debug.information', return_value={}) @mock.patch('json.dumps', return_value='{}') def test_print_information(dumps, information, print_mock): --- a/tests/unit/test_base_formatter.py +++ b/tests/unit/test_base_formatter.py @@ -23,7 +23,7 @@ def test_start(filename): """Verify we open a new file in the start method.""" mock_open = mock.mock_open() formatter = base.BaseFormatter(options(output_file=filename)) - with mock.patch('flake8.formatting.base.open', mock_open): + with mock.patch('flake8.formatting.base.open', mock_open, create=True): formatter.start() if filename is None: @@ -93,7 +93,7 @@ def test_write_uses_an_output_file(tee): formatter = base.BaseFormatter(options(tee=tee)) formatter.output_fd = filemock - with mock.patch('flake8.formatting.base.print') as print_func: + with mock.patch('flake8.formatting.base.print', create=True) as print_func: formatter.write(line, source) if tee: assert print_func.called @@ -112,7 +112,7 @@ def test_write_uses_an_output_file(tee): ] -@mock.patch('flake8.formatting.base.print') +@mock.patch('flake8.formatting.base.print', create=True) def test_write_uses_print(print_function): """Verify that we use the print function without an output file.""" line = 'Something to write'