----- "Kamil Paral" <kparal(a)redhat.com> wrote:
I have a question,
I will reply to myself, I got it all wrong.
how does a test (rpmguard in my case)
know, which architecture to test? This is a method header:
def run_once(self, nvr, name, kojitag):
I receive the package NVR, but architecture is not included
in that. On the other hand, the architecture is communicated
from the watcher to the harness:
autoqa post-koji-build --name vim --kojitag dist-f10-updates-candidate
--arch x86_64 vim-7.2.315-1.fc10
The --arch tag specifies not which packages to test but on which
machines to run. My fault.
I have looked at rpmlint test and it simply tests
all architectures of a NVR. But is that correct?
Because if one architecture is built sooner then the other,
I was told that 'updates-candidate' tag is applies only
after all architectures were built. Therefore my question
is pointless.
say x86_64 sooner then i686, then our tests may pick it up
in that moment and test only x86_64 arch. After a while when
we check again:
1) will we test the i686 arch, or will we consider this NVR
as "done"?
2) if we pick up the NVR again, won't we test now both
architectures (and therefore report x86_64 errors twice)?
Thanks for explanation.
When studying this issue, I don't quite understand current
wwoods' code:
def process_testlist(opts, args, testlist):
# XXX TODO we may pull new tests from CVS at this point
# XXX HACK: only run rpmlint on one single arch, since one test will cover
# the packages for all arches
if 'x86_64' not in opts.arch and 'rpmlint' in testlist:
testlist.remove('rpmlint')
return testlist
Why would that mean that rpmlint is not run multiple times?
I think when "--arch x86_64 --arch i686" is specified it will
run on both architectures. When only "--arch i686" is specified
rpmlint will not run at all (which is bad). I would need the
same behaviour as rpmlint (I can also check packages on
arbitrary architecture), but I don't think the hack is doing
the right thing.