From fb87dd883cf487bd0b3a2a5272be03bfd8018b08 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Tue, 10 Sep 2024 14:18:32 -0700 Subject: [PATCH] test: patch input() to return empty string This commit patches the `input()` builtin to return an empty string in the test setup, preventing tests from hanging while waiting for user input. It also adds cleanup for the patch in the teardown method. --- tests/basic/test_main.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/basic/test_main.py b/tests/basic/test_main.py index 934ef42c0..be8748191 100644 --- a/tests/basic/test_main.py +++ b/tests/basic/test_main.py @@ -5,7 +5,7 @@ import tempfile from io import StringIO from pathlib import Path from unittest import TestCase -from unittest.mock import MagicMock, patch +from unittest.mock import MagicMock, patch, mock_open import git from prompt_toolkit.input import DummyInput @@ -29,6 +29,8 @@ class TestMain(TestCase): # Fake home directory prevents tests from using the real ~/.aider.conf.yml file: self.homedir_obj = IgnorantTemporaryDirectory() os.environ["HOME"] = self.homedir_obj.name + self.input_patcher = patch('builtins.input', return_value='') + self.mock_input = self.input_patcher.start() def tearDown(self): os.chdir(self.original_cwd) @@ -36,6 +38,7 @@ class TestMain(TestCase): self.homedir_obj.cleanup() os.environ.clear() os.environ.update(self.original_env) + self.input_patcher.stop() def test_main_with_empty_dir_no_files_on_command(self): main(["--no-git"], input=DummyInput(), output=DummyOutput())