dotbot
dotbot copied to clipboard
Add support for Windows and Cygwin
This PR introduces the following changes:
- Add full support for Windows Powershell (CPython 3.8+) and Cygwin (CPython 2.7+, PyPy 2.7, and PyPy 3.9).
- Migrate all existing unit tests from bash to Python.
- Isolate all unit test filesystem interactions so they run entirely in a temporary directory. This includes verification that files are not being opened or created outside the temporary directory.
- Test dotbot in CI on Linux, MacOS, and Windows, across all supported CPython and PyPy versions.
- Add code coverage reports when running locally.
This includes summary output at the CLI and generated HTML reports in
htmlcov/
. - Document how to run the unit tests locally, including environment setup.
The changes have been tested on these platforms:
- Windows Powershell (locally, and in CI)
- Linux (locally, and in CI)
- Cygwin (locally)
- MacOS (in CI)
Closes #102 Closes #307 Closes #309
I am excited to see the new testing framework in action - it was always challenging to develop tests for new features. Thanks for the efforts @kurtmckee
This looks like a huge improvement for dotbot on Windows, and I believe it will fix an issue I'm seeing that is closely related to #307. Thank you very much for all the work!
Thank you for this PR, looks awesome! I will take a closer look and give feedback / merge soon.
Thanks all for the feedback!
@anishathalye Please let me know if you see anything that needs adjusting. I'm happy to make changes. Thanks for your work on dotbot, and for reviewing this PR!
@anishathalye I've ported the recent repo changes over to keep this PR up-to-date. The latest commit resolves the associated merge conflicts.
This is beautiful, very thoroughly done. Thank you so much! And thank you for your patience, it took me forever to get around to looking at this.
You're welcome, and thanks for all of your work on dotbot! 😀