-
Notifications
You must be signed in to change notification settings - Fork 4
Description
Several frameworks and tools related to testing also include the ability to configure themselves through a configuration file of some sort. This allows users to not have to save their command-line options through aliases/scripts/etc, but still allow configs to be persistent.
An example of this is Pytest, which searches for one of a few possible config files and a root directory. This is explained in further detail here: https://docs.pytest.org/en/6.2.x/customize.html#config-file-formats
Other tools that do this include tox, mypy, flake8, etc.
Quilla could benefit from something similar, which would even allow configs to be versioned in VCS.
This functionality could be done as either a plugin, or alternatively it could be handled similarly to how Pytest does it. The latter option would require the whole parsing/config system that Quilla uses to be overhauled by making a new Parser class that would abstract adding cofig file options and CLI options, which is admittedly more work.
As a practical example, the Pytest Argument Parser can be found here: https://github.com/pytest-dev/pytest/blob/main/src/_pytest/config/argparsing.py . It might be helpful to see how they did it, since Quilla uses the same plugin library.
Some considerations with this ticket:
- What language should the config file be written in? YAML, INI, TOML, JSON, etc. are various options, each with their own benefits and drawbacks
- How will this configuration file integrate with the existing
pytest-quillaplugin? Would we use a setup.cfg file system like flake8/mypy/pytest, or would we want to keep our files separate? - Do we actually want to support config files? Currently, the only way to configure Quilla is done through CLI options or alternatively through plugins (uiconf.py file/installed plugins). If this is good enough, we can label it as such but we should consider whether or not this is something worth supporting.