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
autoqa-devel@lists.fedorahosted.org