Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tonybaloney/retox
For running a local continuous testing environment with tox
https://github.com/tonybaloney/retox
python testing testing-tools
Last synced: 3 months ago
JSON representation
For running a local continuous testing environment with tox
- Host: GitHub
- URL: https://github.com/tonybaloney/retox
- Owner: tonybaloney
- License: mit
- Archived: true
- Created: 2017-12-11T23:20:32.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2020-05-03T09:16:26.000Z (over 4 years ago)
- Last Synced: 2024-07-25T11:28:31.888Z (3 months ago)
- Topics: python, testing, testing-tools
- Language: Python
- Size: 689 KB
- Stars: 75
- Watchers: 4
- Forks: 2
- Open Issues: 10
-
Metadata Files:
- Readme: README.rst
- Changelog: HISTORY.rst
- License: LICENSE
Awesome Lists containing this project
- starred-awesome - retox - For running a local continuous testing environment with tox (Python)
README
Retox
=====.. image:: https://img.shields.io/pypi/v/retox.svg
:target: https://pypi.python.org/pypi/retox.. image:: https://img.shields.io/travis/tonybaloney/retox.svg
:target: https://travis-ci.org/tonybaloney/retox.. image:: https://codecov.io/gh/tonybaloney/retox/branch/master/graph/badge.svg
:target: https://codecov.io/gh/tonybaloney/retox.. image:: https://pyup.io/repos/github/tonybaloney/retox/shield.svg
:target: https://pyup.io/repos/github/tonybaloney/retox/
:alt: Updates.. image:: https://pyup.io/repos/github/tonybaloney/retox/python-3-shield.svg
:target: https://pyup.io/repos/github/tonybaloney/retox/
:alt: Python 3A command line service that runs your tox tests in parallel, using threading and multicore CPUs.
See your tox environments in a dashboard and automatically watch source folders for file changes and re-run tests.
See : https://github.com/tonybaloney/retox/raw/master/docs/_static/screenshot.jpeg for an example screenshot
.. image:: https://github.com/tonybaloney/retox/raw/master/docs/_static/retox_demo.gif
Requirements
------------Linux users may need to install libncurses5-dev before using Tox. If you see an error "ImportError: No module named '_curses'" this is because of the Requirement.
Usage
-----To install, run
.. code-block:: bash
pip install retox
Then from any project that has a `tox.ini` file setup and using tox, you can simply run
.. code-block:: bash
retox
This will start the service, from where you can press (b) to rebuild on demand.
Watching folders
----------------Retox can watch one or many directories for file changes and re-run the tox environments when changes are detected
.. code-block:: bash
retox -w my_project_folder -w my_test_folder
Excluding paths
---------------Retox will ignore files matching a given regex:
.. code-block:: bash
retox -w my_project_folder --exclude='.*\.(swp|pyc)$'
Tox support
-----------Any tox arguments can be given to the command, and using --help to get a full list of commands. Tox arguments will be passed to all virtualenvs
.. code-block:: bash
retox -e py27,py36
multicore configuration
-----------------------The number of concurrent processes in the threadpool can be set using the -n parameter.
By default this will be equal to the number of CPU's on the OS. If you want to expand or throttle this, use the
flag to change the size of the threadpool... code-block:: bash
retox -n 4
Logging
-------2 files will be created - .retox.log, which is a file for all runs of the logs for the virtual environments. This can be handy to tail to see live output
.retox.json - a JSON file with the virtualenv tasks and specific command output.Credits
-------This was inspired by the detox project, which was created by the tox development team. I worked and then significantly changed the way it works
to support re-running environments with ease.