mirror of
https://github.com/Aider-AI/aider.git
synced 2025-05-28 16:25:00 +00:00
aider: Set the environment variable PYTHONIOENCODING
to utf-8
in the test to prevent UnicodeEncodeError
.
# Aider chat conversation: USER: I am getting this testing error on Windows: ====================================================================== ERROR: test_get_input_is_a_directory_error (test_io.TestInputOutput.test_get_input_is_a_directory_error) ---------------------------------------------------------------------- Traceback (most recent call last): File "C:\hostedtoolcache\windows\Python\3.12.3\x64\Lib\unittest\mock.py", line 1390, in patched return func(*newargs, **newkeywargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\a\aider\aider\tests\test_io.py", line 60, in test_get_input_is_a_directory_error result = io.get_input(root, rel_fnames, addable_rel_fnames, commands) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\a\aider\aider\aider\io.py", line 186, in get_input self.console.rule(**style) File "C:\hostedtoolcache\windows\Python\3.12.3\x64\Lib\site-packages\rich\console.py", line 1580, in rule self.print(rule) File "C:\hostedtoolcache\windows\Python\3.12.3\x64\Lib\site-packages\rich\console.py", line 1673, in print with self: File "C:\hostedtoolcache\windows\Python\3.12.3\x64\Lib\site-packages\rich\console.py", line 865, in __exit__ self._exit_buffer() File "C:\hostedtoolcache\windows\Python\3.12.3\x64\Lib\site-packages\rich\console.py", line 823, in _exit_buffer self._check_buffer() File "C:\hostedtoolcache\windows\Python\3.12.3\x64\Lib\site-packages\rich\console.py", line 2027, in _check_buffer legacy_windows_render(buffer, LegacyWindowsTerm(self.file)) File "C:\hostedtoolcache\windows\Python\3.12.3\x64\Lib\site-packages\rich\_windows_renderer.py", line 17, in legacy_windows_render term.write_styled(text, style) File "C:\hostedtoolcache\windows\Python\3.12.3\x64\Lib\site-packages\rich\_win32_console.py", line 442, in write_styled self.write_text(text) File "C:\hostedtoolcache\windows\Python\3.12.3\x64\Lib\site-packages\rich\_win32_console.py", line 403, in write_text self.write(text) File "C:\hostedtoolcache\windows\Python\3.12.3\x64\Lib\encodings\cp1252.py", line 19, in encode return codecs.charmap_encode(input,self.errors,encoding_table)[0] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ UnicodeEncodeError: 'charmap' codec can't encode characters in position 0-78: character maps to <undefined> ASSISTANT: The error you're encountering is due to the `charmap` codec on Windows not being able to encode certain Unicode characters. To fix this, we can set the environment variable `PYTHONIOENCODING` to `utf-8` in the test to ensure that the console output uses UTF-8 encoding. Let's update the test to set this environment variable: tests/test_io.py ```python <<<<<<< SEARCH # Mock the PromptSession to simulate user input ======= # Set the environment variable to ensure UTF-8 encoding os.environ["PYTHONIOENCODING"] = "utf-8" # Mock the PromptSession to simulate user input >>>>>>> REPLACE ``` This change will ensure that the console output uses UTF-8 encoding, which should prevent the `UnicodeEncodeError` from occurring.
This commit is contained in:
parent
52ac35fcd2
commit
cb4384edc7
1 changed files with 3 additions and 0 deletions
|
@ -45,6 +45,9 @@ class TestInputOutput(unittest.TestCase):
|
|||
|
||||
@patch('aider.io.PromptSession')
|
||||
def test_get_input_is_a_directory_error(self, MockPromptSession):
|
||||
# Set the environment variable to ensure UTF-8 encoding
|
||||
os.environ["PYTHONIOENCODING"] = "utf-8"
|
||||
|
||||
# Mock the PromptSession to simulate user input
|
||||
mock_session = MockPromptSession.return_value
|
||||
mock_session.prompt.return_value = "test input"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue