Easier way to clone jobs for test development
|Target version:||QA - future|
In order to contribute to openQA, most of the people I know of, they are cloning a job from [openqa.suse.de] and then they add their test into that. So, while they are writing their new test, they have to run the whole build which might be consisted of 20-30 tests more or less. So, instead of waiting for a number of unreleated tests to finish (waste of time), I would like to propose a functionality where you can run only one = the test you are developing and you are interested into (e.g. java, or unzip).
So far, I managed to do that (credits to @Romanos) by creating a new medium, a new testsuite, a new jobgroup and modifying the main.pm accordingly. As a side effect, I have to play with
git stash save and
git stash pop and be careful to not submit unwanted changes (this hack) in
main.pm. The whole workflow is documented [here] and [here], but instead of working around it, I would prefer an official solution to that problem. Probably you guys have already something in mind ;)
#1 Updated by coolo over 2 years ago
- Subject changed from Isolated test runs to Easier way to clone jobs for test development
- Target version set to future
unfortunately not. What we can do is cloning the job with a setting where to insert your test so that the first run creates a qcow with the snapshot before that point. So that successive runs can start from that snapshot. But you can't isolate a test from the rest generically - as the SUT needs to be prepared in a custom way.
#5 Updated by okurz about 1 year ago
- Status changed from New to Resolved
- Assignee set to okurz
With https://github.com/os-autoinst/os-autoinst/pull/1019 and https://github.com/os-autoinst/os-autoinst/pull/962 we have two new variables for controlling the schedule so three in total: INCLUDE_MODULES, EXCLUDE_MODULES as well as SCHEDULE to define a completely custom schedule. In many cases people already use this to schedule a minimum test schedule, e.g.
openqa-clone-job … <id> SCHEDULE=tests/boot/boot_to_desktop,tests/my/module . I guess this is (nearly) as simple as it gets. We could only work towards having
tests/my/module depend automatically on
tests/boot/boot_to_desktop but I guess this is out of scope for this ticket but could be covered by #44420