feat: add --exit flag to test cases for controlled termination

This commit is contained in:
Paul Gauthier 2024-09-10 14:30:04 -07:00 committed by Paul Gauthier (aider)
parent 59bdc45728
commit 454c2f4d0e

View file

@ -41,22 +41,22 @@ class TestMain(TestCase):
self.input_patcher.stop() self.input_patcher.stop()
def test_main_with_empty_dir_no_files_on_command(self): def test_main_with_empty_dir_no_files_on_command(self):
main(["--no-git"], input=DummyInput(), output=DummyOutput()) main(["--no-git", "--exit"], input=DummyInput(), output=DummyOutput())
def test_main_with_emptqy_dir_new_file(self): def test_main_with_emptqy_dir_new_file(self):
main(["foo.txt", "--yes", "--no-git"], input=DummyInput(), output=DummyOutput()) main(["foo.txt", "--yes", "--no-git", "--exit"], input=DummyInput(), output=DummyOutput())
self.assertTrue(os.path.exists("foo.txt")) self.assertTrue(os.path.exists("foo.txt"))
@patch("aider.repo.GitRepo.get_commit_message", return_value="mock commit message") @patch("aider.repo.GitRepo.get_commit_message", return_value="mock commit message")
def test_main_with_empty_git_dir_new_file(self, _): def test_main_with_empty_git_dir_new_file(self, _):
make_repo() make_repo()
main(["--yes", "foo.txt"], input=DummyInput(), output=DummyOutput()) main(["--yes", "foo.txt", "--exit"], input=DummyInput(), output=DummyOutput())
self.assertTrue(os.path.exists("foo.txt")) self.assertTrue(os.path.exists("foo.txt"))
@patch("aider.repo.GitRepo.get_commit_message", return_value="mock commit message") @patch("aider.repo.GitRepo.get_commit_message", return_value="mock commit message")
def test_main_with_empty_git_dir_new_files(self, _): def test_main_with_empty_git_dir_new_files(self, _):
make_repo() make_repo()
main(["--yes", "foo.txt", "bar.txt"], input=DummyInput(), output=DummyOutput()) main(["--yes", "foo.txt", "bar.txt", "--exit"], input=DummyInput(), output=DummyOutput())
self.assertTrue(os.path.exists("foo.txt")) self.assertTrue(os.path.exists("foo.txt"))
self.assertTrue(os.path.exists("bar.txt")) self.assertTrue(os.path.exists("bar.txt"))
@ -73,7 +73,7 @@ class TestMain(TestCase):
subdir.mkdir() subdir.mkdir()
make_repo(str(subdir)) make_repo(str(subdir))
main( main(
["--yes", str(subdir / "foo.txt"), str(subdir / "bar.txt")], ["--yes", str(subdir / "foo.txt"), str(subdir / "bar.txt"), "--exit"],
input=DummyInput(), input=DummyInput(),
output=DummyOutput(), output=DummyOutput(),
) )
@ -107,7 +107,7 @@ class TestMain(TestCase):
# This will throw a git error on windows if get_tracked_files doesn't # This will throw a git error on windows if get_tracked_files doesn't
# properly convert git/posix/paths to git\posix\paths. # properly convert git/posix/paths to git\posix\paths.
# Because aider will try and `git add` a file that's already in the repo. # Because aider will try and `git add` a file that's already in the repo.
main(["--yes", str(fname)], input=DummyInput(), output=DummyOutput()) main(["--yes", str(fname), "--exit"], input=DummyInput(), output=DummyOutput())
def test_setup_git(self): def test_setup_git(self):
io = InputOutput(pretty=False, yes=True) io = InputOutput(pretty=False, yes=True)
@ -371,7 +371,7 @@ class TestMain(TestCase):
def test_verbose_mode_lists_env_vars(self): def test_verbose_mode_lists_env_vars(self):
self.create_env_file(".env", "AIDER_DARK_MODE=on") self.create_env_file(".env", "AIDER_DARK_MODE=on")
with patch("sys.stdout", new_callable=StringIO) as mock_stdout: with patch("sys.stdout", new_callable=StringIO) as mock_stdout:
main(["--no-git", "--verbose"], input=DummyInput(), output=DummyOutput()) main(["--no-git", "--verbose", "--exit"], input=DummyInput(), output=DummyOutput())
output = mock_stdout.getvalue() output = mock_stdout.getvalue()
relevant_output = "\n".join( relevant_output = "\n".join(
line line