Open GoogleCodeExporter opened 9 years ago
Seconding this, I would prefer to have configuration files on a per-module
basis, with all the units relevant to that module. Rather than making new
configuration files for multiple modules, I'd much rather have a configuration
file for the suite as a whole that was nothing but inclusions.
In addition, this facility would be useful to put common test configurations in
a common file.
For this use case, here are my suggestions for operations on the various
sections. These might not be as general as could be written, but would be
enough to get started.
include: Require it to be the first directives, if present. This eliminates
confusion about implied priority from order of appearance.
server,proxy: One consistent definition. Conflicting definitions are an error.
Multiple definitions are not an error as long as the definitions are identical.
load,test: Load the union of self-defined files and all included files in
depth-first-search order.
exclude: Set-difference (item removal) of all specified files for this
configuration. Therefore, a file excluded in one configuration might be
subsequently be included in a sibling configuration.
serve: Serve the union of self-defined files and all included files.
plugin: Load all plugins. Require that matching "name" fields have identical
definitions for all remaining fields.
timeout: Provides an overridable default. The default applies for the present
configuration and all that include it, that is, bottom-up rather than top-down.
If two siblings provide an differing timeouts, no default value is created.
There are only a few primitive operations on configuration fields needed to
implement all this: (1) Depth-first search and file list construction, (2)
Identical definition checking, (3) Propagation of default values.
Original comment by eric.eh9@gmail.com
on 12 Apr 2012 at 3:33
A second comment. It's apparent after thinking about the file list operation
that file exclusion is properly a sub-specification of "load", "test", and
"serve". Without breaking current configuration files, the following syntax
could be used in addition to the present:
test:
- include:
- ...
- ...
- exclude:
- ...
This maps a scalar to a sequence of (maps from scalar to sequence). The current
syntax for "test" etc. is map of a scalar to a sequence, so these are
distinguishable by YAML type.
Original comment by eric.eh9@gmail.com
on 12 Apr 2012 at 3:47
My use case: I have 2 config files (1 with code coverage, the other without).
It'd be nice to include a common base config file. instead of copy and pasting
into the 2 config files.
Original comment by ehu...@mobileiron.com
on 2 Jul 2012 at 8:50
Original issue reported on code.google.com by
yitzchak...@gmail.com
on 7 Feb 2012 at 5:56