#150: "artificial ignorance": suppress errors and warnings that aren't important -------------------------+-------------------------------------------------- Reporter: dmalcolm | Owner: Type: enhancement | Status: new Priority: major | Milestone: Package Sanity Tests Component: tests | Version: 1.0 Keywords: | -------------------------+-------------------------------------------------- There are some interesting ideas in here about suppressing a logfile to show up the information that's truly important: http://www.ranum.com/security/computer_security/papers/ai/index.html
I think that the rpmlint test needs to have a set of filters, and should suppress output matching certain patterns. For example https://fedorahosted.org/pipermail/autoqa-results/2010-April/013903.html shows: {{{ gnome-python2-gnome.i686: W: spelling-error Summary(en_US) libgnome -> lib gnome, lib-gnome, cognomen }}}
i.e. it's complaining about a reference to "libgnome" within gnome- python2-gnome, which is clearly a false-positive.
For this case we might have a python filtering process that says something like this (caveat: untested): {{{ patterns = [ ": W: spelling-error \S+ libgnome .*", ]
def should_ignore(line): for pat in patterns # May want to precompile the patterns: m = re.match(pat, line) if m: return True # No match: return False
for line in rpmlint_output if not should_ignore(line): print(line) }}}
and then gradually grow patterns. The idea is to make it nice and lightweight, and Fedora QA can then easily take ownership of the suppresssions, without having to get patches into rpmlint.
#150: "artificial ignorance": suppress errors and warnings that aren't important --------------------------+------------------------------------------------- Reporter: dmalcolm | Owner: Type: enhancement | Status: new Priority: major | Milestone: Package Sanity Tests Component: tests | Version: 1.0 Resolution: | Keywords: --------------------------+------------------------------------------------- Comment (by wwoods):
Adding this to the test itself would seem to be a flexible way to filter out unneeded messages distrowide. Which sounds very useful.
Note that we'll probably *also* want some way of applying these sorts of filters as waivers (as per the resultsdb design) on a per-package/per- build basis.
There's some overlap in these two concepts but I don't think either one completely replaces the other.
#150: "artificial ignorance": suppress errors and warnings that aren't important --------------------------+------------------------------------------------- Reporter: dmalcolm | Owner: Type: enhancement | Status: new Priority: major | Milestone: Package Sanity Tests Component: tests | Version: 1.0 Resolution: | Keywords: --------------------------+------------------------------------------------- Comment (by skvidal):
what I was suggesting on irc is - if having the config db to hold those list of patterns, per pkg, is not available in the short run - then have a file in each branch of each pkg in the pkg scm. So before emailing the results from rpmlint to the pkg-owner - it would grab this file - feed the contents of this file in as the patterns in david's code example above and only email whatever was left.
Then it would be packager-controlled, per-branch and wouldn't require any other infrastructure.
#150: rpmlint: "artificial ignorance" - suppress errors and warnings that aren't important --------------------------+------------------------------------------------- Reporter: dmalcolm | Owner: Type: enhancement | Status: new Priority: major | Milestone: Package update tests Component: tests | Version: 1.0 Resolution: | Keywords: --------------------------+------------------------------------------------- Changes (by kparal):
* summary: "artificial ignorance": suppress errors and warnings that aren't important => rpmlint: "artificial ignorance" - suppress errors and warnings that aren't important * milestone: Package Sanity Tests => Package update tests
#150: rpmlint: "artificial ignorance" - suppress errors and warnings that aren't important -------------------------+-------------------------------------------------- Reporter: dmalcolm | Owner: Type: enhancement | Status: new Priority: major | Milestone: Package Update Acceptance Test Plan Component: tests | Resolution: Keywords: | -------------------------+-------------------------------------------------- Changes (by mcepl):
* cc: mcepl (added)
Comment:
well for making a spell checker a bit more sane we don't to develop artificial intelligence ... every spellchecker has some local dictionary, so we could go through our collection of specfiles and collect words which are OK albeit unusual (libgnome is a nice example).
autoqa-devel@lists.fedorahosted.org