diff --git a/tests/test_main.py b/tests/test_main.py index 03b4601e..8eb76057 100644 --- a/tests/test_main.py +++ b/tests/test_main.py @@ -46,7 +46,9 @@ def test_get_rules(): def test_get_command(): - with patch('thefuck.main.Popen') as Popen: + with patch('thefuck.main.Popen') as Popen,\ + patch('thefuck.main.os.environ', + new_callable=lambda: {}): Popen.return_value.stdout.read.return_value = b'stdout' Popen.return_value.stderr.read.return_value = b'stderr' assert main.get_command(['thefuck', 'apt-get', 'search', 'vim']) \ @@ -54,7 +56,8 @@ def test_get_command(): Popen.assert_called_once_with('apt-get search vim', shell=True, stdout=PIPE, - stderr=PIPE) + stderr=PIPE, + env={'LANG': 'C'}) def test_get_matched_rule(): diff --git a/thefuck/main.py b/thefuck/main.py index b2754b98..e69046d3 100644 --- a/thefuck/main.py +++ b/thefuck/main.py @@ -3,6 +3,7 @@ from imp import load_source from pathlib import Path from os.path import expanduser from subprocess import Popen, PIPE +import os import sys @@ -56,7 +57,8 @@ def get_rules(user_dir, settings): def get_command(args): """Creates command from `args` and executes it.""" script = ' '.join(args[1:]) - result = Popen(script, shell=True, stdout=PIPE, stderr=PIPE) + result = Popen(script, shell=True, stdout=PIPE, stderr=PIPE, + env=dict(os.environ, LANG='C')) return Command(script, result.stdout.read().decode('utf-8'), result.stderr.read().decode('utf-8'))