Proposal for separating Tests into groups
From: Markus Schaber <m.schaber_at_codesys.com>
Date: Thu, 13 Jun 2013 13:20:11 +0000
This are two alternative proposals for the test suite:
Rationale: Developers restrain from implementing some tests because they just take to much time to run at every commit.
Other test systems like JUnit, NUnit or the CODESYS Test Manager come with ways to select unit tests by category, so we could implement something similar with our tests.
1) Just two test sets: simple and extended tests:
Then running the test with an command line option --simple will skip those tests. Explicitly mentioning extended tests by number will still run them, and can be combined with the --simple flag.
Continous integration systems and the tests before signing an release should still execute the full test suite.
But before a small, not destabilizing commit (use common sense here), only running the non-extended tests is mandatory (and maybe the extended tests covering that specific area.)
For make check, it would be an SIMPLE=true variable.
Examples for such categories could be:
Each test then gets attributed with the categories which are valid for this test.
When running the tests, one could pass a parameter to run only the tests which are attributed with at least one of the given flags. For example, if you changed something in FSFS, "--categories=Smoke,Fsfs" would run the smoke tests and the FSFS tests. A second "--exclude=Repository,5,7" switch could be used to exclude test categories as well as single tests by number.
For make check, we'd have a CATEGORIES and EXCLUDE variables.
Both ideas are still in a very raw, unpolished state, and may be discussed today live on the meeting.
(This email was sent from a mobile device...)
CODESYSŪ a trademark of 3S-Smart Software Solutions GmbH
Inspiring Automation Solutions
E-Mail: m.schaber_at_codesys.com | Web: codesys.com
Managing Directors: Dipl.Inf. Dieter Hess, Dipl.Inf. Manfred Werner | Trade register: Kempten HRB 6186 | Tax ID No.: DE 167014915
This is an archived mail posted to the Subversion Dev mailing list.