Commit graph

1156 commits

Author SHA1 Message Date
Paul Gauthier
fe5e313a75 aider: Replaced redirect_stdout with redirect_stdin and opened os.devnull in read mode ('r') instead of write mode ('w').
# Context:
USER: stdin not stdout
ASSISTANT: I apologize for the confusion. To redirect stdin instead of stdout, we need to use `contextlib.redirect_stdin` instead of `contextlib.redirect_stdout`. Here's the updated code change for tests/test_main.py:

```python
tests/test_main.py
<<<<<<< ORIGINAL
    with open(os.devnull, 'w') as dev_null:
        with redirect_stdout(dev_null):
=======
    with open(os.devnull, 'r') as dev_null:
        with redirect_stdin(dev_null):
>>>>>>> UPDATED
            main()
```

This code change replaces `redirect_stdout` with `redirect_stdin` and opens os.devnull in read mode ('r') instead of write mode ('w').
2023-05-11 17:24:57 -07:00
Paul Gauthier
4928450ccf aider: Added a test case for main which creates a temporary directory, changes the current working directory, and invokes the main function with /dev/null piped to stdout.
# Context:
USER: add a test case for main which makes a new empty dir, makes it the cwd and invokes main() with /dev/null piped to stdin.
ASSISTANT: To add a test case for main, we need to import the necessary modules, create a temporary directory, change the current working directory, and invoke the main function with /dev/null piped to stdin. Here's the code change for tests/test_main.py:

```python
tests/test_main.py
<<<<<<< ORIGINAL

=======
import os
import sys
import tempfile
from contextlib import redirect_stdout
from unittest import TestCase
from aider.main import main

class TestMain(TestCase):
    def test_main_with_dev_null(self):
        with tempfile.TemporaryDirectory() as temp_dir:
            os.chdir(temp_dir)
            with open(os.devnull, 'w') as dev_null:
                with redirect_stdout(dev_null):
                    main()
>>>>>>> UPDATED
```

This code change imports the necessary modules, creates a new test class `TestMain`, and adds a test method `test_main_with_dev_null`. The test method creates a temporary directory, changes the current working directory to the temporary directory, and invokes the `main` function with /dev/null piped to stdout.
2023-05-11 17:24:29 -07:00
Paul Gauthier
db7aa7cdf1 aider: Created and added tests/test_main.py to git. 2023-05-11 17:17:50 -07:00
Paul Gauthier
6133eb61c1 fix tests and bug 2023-05-11 17:15:19 -07:00
Paul Gauthier
fe4a2836b7 aider: Added empty __init__.py file to tests directory to fix ModuleNotFoundError when running tests.
# Context:
USER: when I run pytests i get this error

======================================== ERRORS =========================================
_________________________ ERROR collecting tests/test_utils.py __________________________
ImportError while importing test module '/Users/gauthier/Projects/aider/tests/test_utils.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/local/Cellar/python@3.11/3.11.3/Frameworks/Python.framework/Versions/3.11/lib/python3.11/importlib/__init__.py:126: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
tests/test_utils.py:2: in <module>
    from aider.utils import replace_most_similar_chunk, strip_quoted_wrapping
E   ModuleNotFoundError: No module named 'aider'

ASSISTANT: It seems like the `aider` module is not being recognized when running the tests. To fix this issue, you can add an empty `__init__.py` file in the `tests` directory to make it a package. This will help Python recognize the `aider` module when running the tests.

Create a new empty file `tests/__init__.py`:

```python
tests/__init__.py
<<<<<<< ORIGINAL
=======
>>>>>>> UPDATED
```

After creating the empty `__init__.py` file in the `tests` directory, try running the tests again.
2023-05-11 17:12:42 -07:00
Paul Gauthier
6dd586c753 init testing 2023-05-11 17:11:22 -07:00