Replies: 3 comments 6 replies
-
Hi @richtja , my only concern with that approach is that we are replacing a "plugin" with a "requirement". This might be work for this particular case, but this could lead us to always trying to use the requirements. I guess, that what I'm trying to say is: today we have the "plugin" concept, and they can be executed at the test level (pre/post). With the next runner architecture are we going to remove that functionality? IIUC our options so far are:
Since we are always talking about how much "standalone" should be a runner and I have to confess that item 3 feels like a good choice. |
Beta Was this translation helpful? Give feedback.
-
The current design of Requirements Resolver proposed on #4532 uses a simple dependency graph to set a dependency of a test and requirements. As we evolve the idea of runners and tasks on In this architecture of dependency graph, the Requirements Resolver is just a small piece. |
Beta Was this translation helpful? Give feedback.
-
@beraldoleal I understand your concerns, but right now in the legacy runner we don't have any pre/post plugins on test level the sysinfo plugin is hard-coded inside Test class. What we have is I like the @willianrampazzo idea that we adapt the plugin system to be run as Task. We can add a new layer to it so the creating of new plugins will be unchanged, but internally the avocado will be crating Tasks and for users the functionality stay the same. |
Beta Was this translation helpful? Give feedback.
-
In the legacy runner we have sysinfo plugin which can save sysinfo before and after execution of each test. We would like to bring this feature to the nrunner architecture. With nrunner comes new problems to be dealt with.
The test can be run in parallel so the results of sysinfo can be affected by the other tests.
The test is run isolated from avocado core via runners and can by run in the container or even on the remote machine. This means that the sysinfo have to be gathered on the runner side.
This problem is tracked in #3877
A possible solution will be to create specific runner for gathering sysinfo @willianrampazzo doing for the Requirements resolver. Such a runner will be run before and after each test execution in the same environment as the test itself, and it will send sysinfo to the avocado core. And because the tests are run in parallel the sysinfo has to have information about running tests, so the user can decide if the sysinfo was affected by other runs.
This is just an outline of the solution and I would like to know your opinions on it. From the result of this discussion I can create a blueprint if it will be necessary.
Beta Was this translation helpful? Give feedback.
All reactions