-
-
Notifications
You must be signed in to change notification settings - Fork 531
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
tox needs a configuration schema validation #1388
Comments
I'm on board with this. I would probably handle this post the rewrite I'm doing now, that also separates schema files. |
Marshmallow 3.X does a good job. It lets you define a schema, then validate and load nested dicts into objects (it's independent of serialization format, so it works with ini, toml, yaml, json, ...). It also has exporters for other specification tools like jsonschema. |
I am biased towards producing something that can be used by already existing code-editor plugins as I do not want to see ourselves hoping that people will start to write schema validators for tox. Out goal should be to publish a schema in a format that is easy consume by others. This can be quite tricky for tox because some options are implemented by plugins. This means that producing a relatively full schema would require to install all trusted plugins (we can keep an in-house list, probably). |
@ssbarnea feel free to do something now if you have the availability and time for it 👍 I'll definitely not have time to look at this more in detail this year, maybe next year myself, but if you do something I can do a review on it 👍 |
@gaborbernat What is the status with the rewrite? I am asking this because soon this bug will be one year old and I still find lots of errors related to skipdist or similar typos. I did not do anything about it for two main reasons:
|
In progress, but slowly due my availability being tied down with virtualenv maintainer tasks... The rewrite is still aimed for the first version in September... |
tox.ini has no valid syntax ;-) (in v3 at least) See #1702 and #1708 for lots of unspecified and unexpected behaviour. They existing both at the top level ini structure, such as section names, and also finer details like trying to encode literals like The most prominent and easiest problem is that there are some restrictions on env names, however they are ignored when tox is called with Even sane restriction on valid characters in paths would also impact |
I see https://github.com/tox-dev/tox-ini-fmt hasnt been mentioned here yet. I guess it is a good spot to develop validation of |
The tox option to skip source distribution building is skipsdist, but this seems to be often misspelled skipdist instead, which gets silently ignored and so does not take effect. Correct it everywhere, in hopes that new projects will finally stop copying this mistake around. See https://tox.readthedocs.io/en/latest/config.html#conf-skipsdist and tox-dev/tox#1388 for details. Change-Id: I930b16a0834d893080386b40989fa517f1bc343b
* Update ansible-role-chrony from branch 'master' to 15ad50777e976055eb5a1b85a9841ae268714f78 - Correct the tox option for skipping sdist generation The tox option to skip source distribution building is skipsdist, but this seems to be often misspelled skipdist instead, which gets silently ignored and so does not take effect. Correct it everywhere, in hopes that new projects will finally stop copying this mistake around. See https://tox.readthedocs.io/en/latest/config.html#conf-skipsdist and tox-dev/tox#1388 for details. Change-Id: I930b16a0834d893080386b40989fa517f1bc343b
The tox option to skip source distribution building is skipsdist, but this seems to be often misspelled skipdist instead, which gets silently ignored and so does not take effect. Correct it everywhere, in hopes that new projects will finally stop copying this mistake around. See https://tox.readthedocs.io/en/latest/config.html#conf-skipsdist and tox-dev/tox#1388 for details. Change-Id: I1c5eaf99582fa0f09a42a1143d6ca8d0bb9e7289
* Update ansible-role-redhat-subscription from branch 'master' to effac4c9d8b93cd7d8403275676cae015f30a0da - Correct the tox option for skipping sdist generation The tox option to skip source distribution building is skipsdist, but this seems to be often misspelled skipdist instead, which gets silently ignored and so does not take effect. Correct it everywhere, in hopes that new projects will finally stop copying this mistake around. See https://tox.readthedocs.io/en/latest/config.html#conf-skipsdist and tox-dev/tox#1388 for details. Change-Id: I1c5eaf99582fa0f09a42a1143d6ca8d0bb9e7289
The tox option to skip source distribution building is skipsdist, but this seems to be often misspelled skipdist instead, which gets silently ignored and so does not take effect. Correct it everywhere, in hopes that new projects will finally stop copying this mistake around. See https://tox.readthedocs.io/en/latest/config.html#conf-skipsdist and tox-dev/tox#1388 for details. Change-Id: Idfd678fd80b110255664958bf019127e472989b3
* Update tripleo-operator-ansible from branch 'master' to 920f76c1385545b16da829fdccdfc6a1711dbb70 - Correct the tox option for skipping sdist generation The tox option to skip source distribution building is skipsdist, but this seems to be often misspelled skipdist instead, which gets silently ignored and so does not take effect. Correct it everywhere, in hopes that new projects will finally stop copying this mistake around. See https://tox.readthedocs.io/en/latest/config.html#conf-skipsdist and tox-dev/tox#1388 for details. Change-Id: Idfd678fd80b110255664958bf019127e472989b3
* Update tripleo-ansible from branch 'master' to c58d3f18cdd3db6cef557d87dee20d5648a0cc1a - Merge "Correct the tox option for skipping sdist generation" - Correct the tox option for skipping sdist generation The tox option to skip source distribution building is skipsdist, but this seems to be often misspelled skipdist instead, which gets silently ignored and so does not take effect. Correct it everywhere, in hopes that new projects will finally stop copying this mistake around. See https://tox.readthedocs.io/en/latest/config.html#conf-skipsdist and tox-dev/tox#1388 for details. Change-Id: I75d7bebe855e62125e701fea89cf1527e3456535
The tox option to skip source distribution building is skipsdist, but this seems to be often misspelled skipdist instead, which gets silently ignored and so does not take effect. Correct it everywhere, in hopes that new projects will finally stop copying this mistake around. See https://tox.readthedocs.io/en/latest/config.html#conf-skipsdist and tox-dev/tox#1388 for details. Change-Id: I75d7bebe855e62125e701fea89cf1527e3456535
The tox option to skip source distribution building is skipsdist, but this seems to be often misspelled skipdist instead, which gets silently ignored and so does not take effect. Correct it everywhere, in hopes that new projects will finally stop copying this mistake around. See https://tox.readthedocs.io/en/latest/config.html#conf-skipsdist and tox-dev/tox#1388 for details. Change-Id: I5468d45cefea71a8cf618a6147bc7c6ca59742c3
The tox option to skip source distribution building is skipsdist, but this seems to be often misspelled skipdist instead, which gets silently ignored and so does not take effect. Correct it everywhere, in hopes that new projects will finally stop copying this mistake around. See https://tox.readthedocs.io/en/latest/config.html#conf-skipsdist and tox-dev/tox#1388 for details. Change-Id: I7880955f656cb171395a62689678c263829bee8b
* Update tripleo-upgrade from branch 'master' to 1f6fcc8dd49af3154e80246adac228ee5a6965a6 - Correct the tox option for skipping sdist generation The tox option to skip source distribution building is skipsdist, but this seems to be often misspelled skipdist instead, which gets silently ignored and so does not take effect. Correct it everywhere, in hopes that new projects will finally stop copying this mistake around. See https://tox.readthedocs.io/en/latest/config.html#conf-skipsdist and tox-dev/tox#1388 for details. Change-Id: I5468d45cefea71a8cf618a6147bc7c6ca59742c3
The tox option to skip source distribution building is skipsdist, but this seems to be often misspelled skipdist instead, which gets silently ignored and so does not take effect. Correct it everywhere, in hopes that new projects will finally stop copying this mistake around. See https://tox.readthedocs.io/en/latest/config.html#conf-skipsdist and tox-dev/tox#1388 for details. Change-Id: Icad8c8c48f7b34002a60aecc6b82e6ac56fd8a70
* Update tripleo-validations from branch 'master' to 56adfba6d0a5aa52124846a79f28bd58462b2b21 - Correct the tox option for skipping sdist generation The tox option to skip source distribution building is skipsdist, but this seems to be often misspelled skipdist instead, which gets silently ignored and so does not take effect. Correct it everywhere, in hopes that new projects will finally stop copying this mistake around. See https://tox.readthedocs.io/en/latest/config.html#conf-skipsdist and tox-dev/tox#1388 for details. Change-Id: I7880955f656cb171395a62689678c263829bee8b
* Update validations-common from branch 'master' to 956de6764f9619e96090dbc7255f743f406f4970 - Correct the tox option for skipping sdist generation The tox option to skip source distribution building is skipsdist, but this seems to be often misspelled skipdist instead, which gets silently ignored and so does not take effect. Correct it everywhere, in hopes that new projects will finally stop copying this mistake around. See https://tox.readthedocs.io/en/latest/config.html#conf-skipsdist and tox-dev/tox#1388 for details. Change-Id: Icad8c8c48f7b34002a60aecc6b82e6ac56fd8a70
The tox option to skip source distribution building is skipsdist, but this seems to be often misspelled skipdist instead, which gets silently ignored and so does not take effect. Correct it everywhere, in hopes that new projects will finally stop copying this mistake around. See https://tox.readthedocs.io/en/latest/config.html#conf-skipsdist and tox-dev/tox#1388 for details. Change-Id: I55c0f279bbcaa74763132667ab488396a561d35b
* Update validations-libs from branch 'master' to db0c72774c7e65c4aad28bcc4dde655a23e57524 - Correct the tox option for skipping sdist generation The tox option to skip source distribution building is skipsdist, but this seems to be often misspelled skipdist instead, which gets silently ignored and so does not take effect. Correct it everywhere, in hopes that new projects will finally stop copying this mistake around. See https://tox.readthedocs.io/en/latest/config.html#conf-skipsdist and tox-dev/tox#1388 for details. Change-Id: I55c0f279bbcaa74763132667ab488396a561d35b
The tox option to skip source distribution building is skipsdist, but this seems to be often misspelled skipdist instead, which gets silently ignored and so does not take effect. Correct it everywhere, in hopes that new projects will finally stop copying this mistake around. See https://tox.readthedocs.io/en/latest/config.html#conf-skipsdist and tox-dev/tox#1388 for details. Change-Id: I56bd83c4d70e751df6576a38111a5fa5ef656dac
* Update releases from branch 'master' to 5b2e171f0cd38b0f281c33df9cae196b8bf8203d - Correct the tox option for skipping sdist generation The tox option to skip source distribution building is skipsdist, but this seems to be often misspelled skipdist instead, which gets silently ignored and so does not take effect. Correct it everywhere, in hopes that new projects will finally stop copying this mistake around. See https://tox.readthedocs.io/en/latest/config.html#conf-skipsdist and tox-dev/tox#1388 for details. Change-Id: I56bd83c4d70e751df6576a38111a5fa5ef656dac
The tox option to skip source distribution building is skipsdist, but this seems to be often misspelled skipdist instead, which gets silently ignored and so does not take effect. Correct it everywhere, in hopes that new projects will finally stop copying this mistake around. See https://tox.readthedocs.io/en/latest/config.html#conf-skipsdist and tox-dev/tox#1388 for details. Change-Id: I42016fd82d01db25b1506f07d8631f98e8da399f
* Update ansible-role-collect-logs from branch 'master' to 64f56ca032ee1cac4b37a9b36a43d95bc3a73dbf - Merge "Correct the tox option for skipping sdist generation" - Correct the tox option for skipping sdist generation The tox option to skip source distribution building is skipsdist, but this seems to be often misspelled skipdist instead, which gets silently ignored and so does not take effect. Correct it everywhere, in hopes that new projects will finally stop copying this mistake around. See https://tox.readthedocs.io/en/latest/config.html#conf-skipsdist and tox-dev/tox#1388 for details. Change-Id: I42016fd82d01db25b1506f07d8631f98e8da399f
The tox option to skip source distribution building is skipsdist, but this seems to be often misspelled skipdist instead, which gets silently ignored and so does not take effect. Correct it everywhere, in hopes that new projects will finally stop copying this mistake around. See https://tox.readthedocs.io/en/latest/config.html#conf-skipsdist and tox-dev/tox#1388 for details. Change-Id: I05c1cc0c2fbf77021cc1e05bc96bee03528c69f0
* Update python-openstackclient from branch 'master' to 19b4ce402ee9075539dcab1026c1c612d0dfdea6 - Merge "Correct the tox option for skipping sdist generation" - Correct the tox option for skipping sdist generation The tox option to skip source distribution building is skipsdist, but this seems to be often misspelled skipdist instead, which gets silently ignored and so does not take effect. Correct it everywhere, in hopes that new projects will finally stop copying this mistake around. See https://tox.readthedocs.io/en/latest/config.html#conf-skipsdist and tox-dev/tox#1388 for details. Change-Id: I05c1cc0c2fbf77021cc1e05bc96bee03528c69f0
The tox option to skip source distribution building is skipsdist, but this seems to be often misspelled skipdist instead, which gets silently ignored and so does not take effect. Correct it everywhere, in hopes that new projects will finally stop copying this mistake around. See https://tox.readthedocs.io/en/latest/config.html#conf-skipsdist and tox-dev/tox#1388 for details. Change-Id: Id20f1ee2725533e2a06dc6798ead3cc9d70c35eb
* Update oslo.tools from branch 'master' to 02c638fda10edcaf4e11fa1ac8ca8a80b933ce36 - Correct the tox option for skipping sdist generation The tox option to skip source distribution building is skipsdist, but this seems to be often misspelled skipdist instead, which gets silently ignored and so does not take effect. Correct it everywhere, in hopes that new projects will finally stop copying this mistake around. See https://tox.readthedocs.io/en/latest/config.html#conf-skipsdist and tox-dev/tox#1388 for details. Change-Id: Id20f1ee2725533e2a06dc6798ead3cc9d70c35eb
* Update ansible-role-openstack-operations from branch 'master' to 55889cb0dfb340d2fbddfec17706cd9d53be1566 - Correct the tox option for skipping sdist generation The tox option to skip source distribution building is skipsdist, but this seems to be often misspelled skipdist instead, which gets silently ignored and so does not take effect. Correct it everywhere, in hopes that new projects will finally stop copying this mistake around. See https://tox.readthedocs.io/en/latest/config.html#conf-skipsdist and tox-dev/tox#1388 for details. Change-Id: Ie0667de615e02284cb6302d9df7165651a16f988
The tox option to skip source distribution building is skipsdist, but this seems to be often misspelled skipdist instead, which gets silently ignored and so does not take effect. Correct it everywhere, in hopes that new projects will finally stop copying this mistake around. See https://tox.readthedocs.io/en/latest/config.html#conf-skipsdist and tox-dev/tox#1388 for details. Change-Id: Ie0667de615e02284cb6302d9df7165651a16f988
The tox option to skip source distribution building is skipsdist, but this seems to be often misspelled skipdist instead, which gets silently ignored and so does not take effect. Correct it everywhere, in hopes that new projects will finally stop copying this mistake around. See https://tox.readthedocs.io/en/latest/config.html#conf-skipsdist and tox-dev/tox#1388 for details. Change-Id: Iac474f1d458c3b803eb28a33bd05002db31c4689
* Update ansible-role-container-registry from branch 'master' to a784f1a1916e848e000adc1d9dd84e1487064603 - Correct the tox option for skipping sdist generation The tox option to skip source distribution building is skipsdist, but this seems to be often misspelled skipdist instead, which gets silently ignored and so does not take effect. Correct it everywhere, in hopes that new projects will finally stop copying this mistake around. See https://tox.readthedocs.io/en/latest/config.html#conf-skipsdist and tox-dev/tox#1388 for details. Change-Id: Iac474f1d458c3b803eb28a33bd05002db31c4689
The tox option to skip source distribution building is skipsdist, but this seems to be often misspelled skipdist instead, which gets silently ignored and so does not take effect. Correct it everywhere, in hopes that new projects will finally stop copying this mistake around. See https://tox.readthedocs.io/en/latest/config.html#conf-skipsdist and tox-dev/tox#1388 for details. Change-Id: Ieee8041dd177b28d74a0f175fb6df340d158c3c9
The tox option to skip source distribution building is skipsdist, but this seems to be often misspelled skipdist instead, which gets silently ignored and so does not take effect. Correct it everywhere, in hopes that new projects will finally stop copying this mistake around. See https://tox.readthedocs.io/en/latest/config.html#conf-skipsdist and tox-dev/tox#1388 for details. Change-Id: I639066169913072b992c0e1073f9398d6ac8cdd2
* Update osc-lib from branch 'master' to 415a6c7b191ac665fb7763d12d1b427b7b630586 - Merge "Correct the tox option for skipping sdist generation" - Correct the tox option for skipping sdist generation The tox option to skip source distribution building is skipsdist, but this seems to be often misspelled skipdist instead, which gets silently ignored and so does not take effect. Correct it everywhere, in hopes that new projects will finally stop copying this mistake around. See https://tox.readthedocs.io/en/latest/config.html#conf-skipsdist and tox-dev/tox#1388 for details. Change-Id: I639066169913072b992c0e1073f9398d6ac8cdd2
The tox option to skip source distribution building is skipsdist, but this seems to be often misspelled skipdist instead, which gets silently ignored and so does not take effect. Correct it everywhere, in hopes that new projects will finally stop copying this mistake around. See https://tox.readthedocs.io/en/latest/config.html#conf-skipsdist and tox-dev/tox#1388 for details. Change-Id: I7880955f656cb171395a62689678c263829bee8b (cherry picked from commit 56adfba) (cherry picked from commit 1d0b42f) (cherry picked from commit 9197ba0adf4ee491d982af204c6fe7c190f45a71)
The tox option to skip source distribution building is skipsdist, but this seems to be often misspelled skipdist instead, which gets silently ignored and so does not take effect. Correct it everywhere, in hopes that new projects will finally stop copying this mistake around. See https://tox.readthedocs.io/en/latest/config.html#conf-skipsdist and tox-dev/tox#1388 for details. Change-Id: I7880955f656cb171395a62689678c263829bee8b (cherry picked from commit 56adfba) (cherry picked from commit 1d0b42f)
The tox option to skip source distribution building is skipsdist, but this seems to be often misspelled skipdist instead, which gets silently ignored and so does not take effect. Correct it everywhere, in hopes that new projects will finally stop copying this mistake around. See https://tox.readthedocs.io/en/latest/config.html#conf-skipsdist and tox-dev/tox#1388 for details. Change-Id: I7880955f656cb171395a62689678c263829bee8b (cherry picked from commit 56adfba)
The tox option to skip source distribution building is skipsdist, but this seems to be often misspelled skipdist instead, which gets silently ignored and so does not take effect. Correct it everywhere, in hopes that new projects will finally stop copying this mistake around. See https://tox.readthedocs.io/en/latest/config.html#conf-skipsdist and tox-dev/tox#1388 for details. Change-Id: I7880955f656cb171395a62689678c263829bee8b (cherry picked from commit 56adfba) (cherry picked from commit 1d0b42f) (cherry picked from commit 9197ba0adf4ee491d982af204c6fe7c190f45a71) (cherry picked from commit 9d65a662f1edd170476e1284223311360ada44d9)
The tox option to skip source distribution building is skipsdist, but this seems to be often misspelled skipdist instead, which gets silently ignored and so does not take effect. Correct it everywhere, in hopes that new projects will finally stop copying this mistake around. See https://tox.readthedocs.io/en/latest/config.html#conf-skipsdist and tox-dev/tox#1388 for details. Change-Id: Ic982e06ed216507a8a8e2d8a09ac26cabae743dd
* Update ansible-role-atos-hsm from branch 'master' to baec445a57a4bc190ff26907a641ce3e6d4757f0 - Correct the tox option for skipping sdist generation The tox option to skip source distribution building is skipsdist, but this seems to be often misspelled skipdist instead, which gets silently ignored and so does not take effect. Correct it everywhere, in hopes that new projects will finally stop copying this mistake around. See https://tox.readthedocs.io/en/latest/config.html#conf-skipsdist and tox-dev/tox#1388 for details. Change-Id: Ic982e06ed216507a8a8e2d8a09ac26cabae743dd
* Update ansible-role-thales-hsm from branch 'master' to e301ee0df19239a041448b85df8c51c5b03e4670 - Correct the tox option for skipping sdist generation The tox option to skip source distribution building is skipsdist, but this seems to be often misspelled skipdist instead, which gets silently ignored and so does not take effect. Correct it everywhere, in hopes that new projects will finally stop copying this mistake around. See https://tox.readthedocs.io/en/latest/config.html#conf-skipsdist and tox-dev/tox#1388 for details. Change-Id: I9b7768fdb4e8865648da1c697fa16ee2d1a9c604
The tox option to skip source distribution building is skipsdist, but this seems to be often misspelled skipdist instead, which gets silently ignored and so does not take effect. Correct it everywhere, in hopes that new projects will finally stop copying this mistake around. See https://tox.readthedocs.io/en/latest/config.html#conf-skipsdist and tox-dev/tox#1388 for details. Change-Id: I9b7768fdb4e8865648da1c697fa16ee2d1a9c604
The tox option to skip source distribution building is skipsdist, but this seems to be often misspelled skipdist instead, which gets silently ignored and so does not take effect. Correct it everywhere, in hopes that new projects will finally stop copying this mistake around. See https://tox.readthedocs.io/en/latest/config.html#conf-skipsdist and tox-dev/tox#1388 for details. Change-Id: I580d3bc78f50c919071ef09f68005399129d3a36
Having a configuration file schema would clearly make tox easier to use.
skipdist
vsskipsdist
.While this ticked may remind us about #999 I do not think that changing configuration format should be required in order to implement schema validation.
Making a new configuration format would be out of the scope but I am wondering if we could learn from http://schemastore.org/json/ which covers both json and yaml. One such validator for vscode can be seen at https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml -- I used it to validate some other file formats.
Maybe we could extend the existing validators to also use these schema format for validating ini files.
The text was updated successfully, but these errors were encountered: