[Gluster-devel] Proposing a framework to leverage existing Python unit test standards for our testing

Jonathan Holloway jholloway at redhat.com
Wed Jul 20 08:11:49 UTC 2016


Hi Gluster-Devel,

There's been some conversation about standard Python unit test formats (PyUnit, PyTest, Nose) and potentially leveraging a tool I've been working on (called Glusto) that wraps those standards as well as covers the fundamentals required of the DiSTAF framework. I'm reaching out to propose this to the Gluster-Devel Community for consideration.

Some of the primary features Glusto offers are:
- Reads and writes yaml, json, and ini config file formats (including Ansible host files).
- Provides SSH, RPyC, logging (w/ ANSI color support), configuration, templating (via Jinja), and simple REST methods.
- Implements cartesian product combinations with standard PyUnit class format for the Gluster runs_on_volumes/runs_on_mounts/reuse-setup requirements.
- Wraps the Python standard framework modules (PyUnit, PyTest, Nose) in a single command with a config file option.
- Tests can also be run from the CLI, IDLE, or unittest savvy tools (e.g., Eclipse PyDev).
- Glusto methods can also be used from IDLE for troubleshooting during development--as well as in scripts.
- Allows for leveraging existing unit test features such as skip decorators, pytest markers, etc.

I know this was a brief and high-level intro to Glusto. This is just to get the topic started, and we can cover details in discussion.

The Glusto repo is at http://github.com/loadtheaccumulator/glusto
Docs are at http://glusto.readthedocs.io/ (with some additional information being added over the next couple of days).

Please take a look and provide any questions or comments.

Cheers,
Jonathan


More information about the Gluster-devel mailing list