#218: re-use fedora-qa script for checking PackageReviewGuidelines
--------------------+-------------------------------------------------------
Reporter: kparal | Owner:
Type: task | Status: new
Priority: major | Milestone: Future test cases
Component: tests | Version: 1.0
Keywords: |
--------------------+-------------------------------------------------------
Aurélien Bompard has written a "fedora-qa" tool, which checks all the MUST
items in !PackageReviewGuidelines that are not covered by rpmlint.
http://fedoraproject.org/wiki/AurelienBompard#QA
There's a high possibility that we could re-use parts of his code for
several new AutoQA test cases. Worth investigating.
--
Ticket URL: <https://fedorahosted.org/autoqa/ticket/218>
AutoQA <http://autoqa.fedorahosted.org>
Automated QA project
#294: Detect required Fedora releases correctly
--------------------+-------------------------------------------------------
Reporter: kparal | Owner:
Type: defect | Status: new
Priority: minor | Milestone: 0.5.0
Component: core | Keywords:
--------------------+-------------------------------------------------------
Currently we use this approach in control.autoqa to require a specific
Fedora release for a test run:
{{{
# if we want to install the package, we must have this test running on
# Fedora release corresponding to the package; thus the autotest label of
the
# correct distribution must be present (like 'fc13'); let's strip it from
the
# NVR (last part)
if autoqa_args.has_key('nvr'):
labels.append(autoqa_args['nvr'].split('.')[-1])
}}}
That is incorrect, because the package may look like foo-1.1-1.i686.fc15.1
. We have to use a different way.
--
Ticket URL: <https://fedorahosted.org/autoqa/ticket/294>
AutoQA <http://autoqa.fedorahosted.org>
Automated QA project
#268: Rename lib/python to lib/autoqa
----------------------+-----------------------------------------------------
Reporter: jskladan | Owner:
Type: task | Status: new
Priority: minor | Milestone: Finger Food
Component: core | Keywords:
----------------------+-----------------------------------------------------
It would make more sense to have it named as 'autoqa' rather than 'python'
- e.g. when we want to import the library from inside the git, etc.
Of course, adequate changes need to be made in Makefile and autoqa.spec
--
Ticket URL: <https://fedorahosted.org/autoqa/ticket/268>
AutoQA <http://autoqa.fedorahosted.org>
Automated QA project
#295: Provide proper functions for ENVRA manipulation
-------------------------+--------------------------------------------------
Reporter: kparal | Owner:
Type: enhancement | Status: new
Priority: minor | Milestone: Finger Food
Component: core | Keywords:
-------------------------+--------------------------------------------------
Some testcases need to manipulate ENVRA names, like stripping epoch,
stripping architecture, detecting whether build name contains epoch,
parsing out package name, etc. The current implementation (taken from
depcheck) is clearly sub-optimal, because it doesn't reflect the full RPM
naming spec, just the most widespread usage (e.g. can colon be part of
NVR, except for separating epoch?):
{{{
def strip_epoch(rpmstr):
return rpmstr.split(':',1)[-1] # works for E:N-V-R.A or N-V-R.A
def strip_arch(rpmstr):
return rpmstr.rsplit('.',1)[0]
}}}
Let's create one or more methods for these tasks in our library and let's
use rpmUtils module in them. That ensures that the correct algorithms for
detecting epochs, names, releases, etc are used.
Most of the use cases for those methods have been mentioned in the
description, but search through available code whether some more use cases
are needed.
--
Ticket URL: <https://fedorahosted.org/autoqa/ticket/295>
AutoQA <http://autoqa.fedorahosted.org>
Automated QA project
#272: Tell test which arch it is supposed to test
-------------------------+--------------------------------------------------
Reporter: kparal | Owner:
Type: enhancement | Status: new
Priority: major | Milestone: Finger Food
Component: core | Keywords:
-------------------------+--------------------------------------------------
Some tests need to know which architecture to check. But currently we
don't pass that information (in the control file). The test can take a
guess by detecting operating system architecture (not hardware
architecture), but that's an ugly workaround. Pass the architecture info
from autoqa script to the test.
--
Ticket URL: <https://fedorahosted.org/autoqa/ticket/272>
AutoQA <http://autoqa.fedorahosted.org>
Automated QA project
On 03/31/2011 01:17 PM, Orion Poplawski wrote:
> This doesn't seem right. Can't compare across releases?
At the moment, this is expected behavior. Rpmguard only compares builds
within a release or, more specifically, within a koji tag (dist-f16 in
this particular case).
If you would like to see comparisons across tags, please file an
enhancement request with AutoQA [1].
Tim
[1] https://fedorahosted.org/autoqa/
PS:
autoqa-devel@ would probably be a good list to at least cc: for rpmguard
(or other autoqa test) questions.
> -------- Original Message --------
> Subject: rpmguard: PASSED; 0 warnings for netcdf-4.1.2-1.fc16
> Date: Thu, 31 Mar 2011 19:14:27 +0000 (UTC)
> From: autoqa(a)fedoraproject.org
> To: autoqa-results(a)lists.fedorahosted.org, netcdf-owner(a)fedoraproject.org
>
> Stored logs available at
> <http://autoqa.fedoraproject.org/results/76250-autotest/qa03.c.fedoraproject…>
>
> ----------------------------------------------------------------------
> ========================================
> netcdf-4.1.2-1.fc16
> ========================================
> N: There is no previous build of netcdf-4.1.2-1.fc16 in dist-f16 tag (or its
> parents).
> N: ----
Hello gang,
I know from James, that we all are eager to discuss the next steps and goals in AutoQA development.
As I promised to James, I've created some topics outline with some brief keynotes(see below).
Feel free to add/remove/change anything on-list.
J.
= Next AutoQA release(s) =
== Genearal Goals ==
* Small incremental changes
* Faster releases
=== Requirements ===
* Staging server (so we can test incremental changes)
* Ideally testing & pushing changes by individual tickets rather than whole releases.
== Functional Goals ==
* #262 - Changed watcher/event architecture
* vhumpa already submitted some changes, they are under review right now
* #276 - Support for independent test development
* Extremely usefull not only for external developers, but also for our own use - i.e. we'd like to be able to update tests without the need for building whole new autoqa rpm.
* Suggested solutions
* "quick'n'dirty" - autotest grabbing tests from specified git repo/branch before scheduling the test
* "proper" - creating some variant of pypi e.g. 'repo' based on .tgz files & tools to install/check updates/etc from that 'repo'
* what tools/services are out there (pipy, slackware repo, ...)? Can we use them for our purposes without too much hacking?
* #258 - 'make test'
* #196 - Standard logging for autoqa & watchers
* there are some changes in some of the mkrizek's logging branch
* IMHO mostly unusable, since autoqa scripts (and watchers) changed quite a bit.
* The autoqa.logger lib can be a good start <http://git.fedorahosted.org/git/?p=autoqa.git;a=blob;f=lib/python/logger.py…>
* I'd also rather see the autoqa.logger library to provide logging interface (e.g. {{{autoqa.logger.error("message")}}} instead of{{{logging.error("message")}}}). This can simply provide the logging calls, but if we ever decide to do some stuff other than just simple "put to stdout/stderr", we won't have to change all the code, just the library.
* #254 - Transfer autoqa library to clients
* lmr & jlaska are working on patching autotest so it complains with fedora packaging policies <https://github.com/lmr/autotest/tree/fudcon>
* this will probably change the way how single parts of autotest are discovered & transfered to the clients. We should keep an eye on the matter, so we can search for possible ways to bend this routine to our purposes.
* #245 - Support for test re-scheduling
* I see this as quite huge & not so explored area. I guess I'd postpone this particular ticket at least up until ResultsDB is in place.