eiffel-community / eiffel

The Eiffel framework vocabulary, descriptions, guides and schemas along with links to relevant implementation repositories.
Apache License 2.0
122 stars 59 forks source link

Add test that verifies history table entries #352

Closed magnusbaeck closed 1 year ago

magnusbaeck commented 1 year ago

Applicable Issues

Fixes #351

Description of the Change

It's easy to forget to add an entry in the history table when you copy an existing event definition file. We therefore add a Python test file with a short test that verifies that each event definition has a corresponding history table entry.

The new test exposed to definition files without history tables so we had to correct them too.

Alternate Designs

I considered adding the check in generate_docs.py instead, thus making it part of the documentation generation. However, that would make it harder to experiment and play around with the definition files.

Benefits

Will catch mistakes so a human won't have to.

Possible Drawbacks

Adds ~4 s to the tox execution time.

Sign-off

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or

(b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or

(c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it.

(d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved.

Signed-off-by: Magnus Bäck \magnus.back@axis.com