During the past year the OpenStack Networking codebase has dramatically increased in size, and the same happened to unit tests.
OpenStack Networking now has over 5000 unit tests which take about 10 minutes to execute (at least on my machine)
While at a first glance this might seem great, most of these unit tests are actually not unit tests, but rather integration tests performed against plugins (which sometimes mock their backends with fake drivers); also the coverage of such unit tests probably deserves to be reviewed as well, as proved by the fact that odd syntax errors are sometimes still found in OpenStack Networking
The aim of this session is to have a discussion around the current state of OpenStack Networking unit tests, and decide, together with the community, an attack plan to improve coverage, reduce execution time and resource usage, and define guidelines for writing unit tests for OpenStack Networking
Proposed agenda for the session: 1 - Assessment of the current state of unit tests, with emphaisis on Plugin unit tests 2 - Discuss and decide what is a unit test and what is a integration test 2.b - If we agree that many tests are actually integration tests, do we deem them still useful? Should they be part of a gate job? 3 - Consider alternatives for plugin unit tests 4 - Fake libraries. Are they a simple and handy way for simulating a complex system, or just added burden for unit tests? 5 - Parallel testing (this should probably not even need discussion!) 6 - Define/Assign blueprints and bugs