Hello,
I have pushed a new branch "labels". Please do
$ git diff origin/master origin/labels
to view the changes.
This code should enable us to leverage additional autotest
labels (not just the platform ones) for scheduling jobs.
So what we can do with it?
1. We can force a specific test case to be run always
in a virtual machine.
2. We can ensure that a specific test case is always run
only such a machine that has KVM support.
3. We can finally specify which Fedora release must be
installed for our test case to run. Let's take the
"initscripts" as an example - when we want to test *.fc12
package, we need to test it on Fedora 12 machine, and
similarly *.fc13 package on Fedora 13 machine. So we
must define it dynamically according to current input
arguments. We can do that now. (Btw, how the hell did we
do it up till now? I think we've forgotten about it :P)
Everything is defined in test_case/control file, like this:
aq_labels = ['virt', 'fc12']
or like this
aq_labels = ['virt']
aq_labels.append(envr.split('.')[-1]) # add distribution label (like
'fc13')
You can look at rpmlint, rpmguard and initscripts control files,
for testing purposes I have forced different labels to be
required for them.
I have tested the code a little on our staging server, and
I'll do more thorough testing soon (once I tackle all the
VM problems I encountered).
Comments, concerns, improvements welcome.
Thanks,
Kamil
Show replies by date