avocado
avocado copied to clipboard
NRunner plugin: per test sysinfo support
The per-test sysinfo support in Avocado is implemented inside the avocado.core.test
module, which on most cases may never be used in the nrunner based executions (unless the test is an avocado-instrumented
test, but still used differently).
The goal of this issue is to support per-test sysinfo as well as it's possible, taking into account that under most nrunner based jobs, tests will run in parallel, and this, the pre
and post
concepts of the per-test sysinfo collection are questionable.
After the discussion, we come up with different approach for this problem. Now we are using two types of gathering sysinfo. The pre/post Job sysinfo and pre/post Test sysinfo. Both of those are working well for legacy runner but for the nrunner are not run inside testing environment created by Spawners, because of it, the sysinfo gathers wrong data.
For this problem we decided to use requirements resolver architecture, where every test will have sysinfo as requirement and the requirement resolver will control the running of the sysinfo. For that we need to create sysinfo runner which can be spawned by Spawners and control by requirement resolver. Such runner will gather the sysinfo and send it to the avocado via messages. Such system will replace the pre/post Job and pre/post Test sysinfo.
Part of #4802