https://blogs.gentoo.org/ago/2020/07/04/gentoo-tinderbox/ Issue: mail-filter/spamassassin-3.4.6-r1 fails tests. Discovered on: amd64 (internal ref: ci) NOTE: This machine uses GCC-11: https://gcc.gnu.org/gcc-11/porting_to.html If you think this is a GCC-11 related issue, please block bug 732706.
Created attachment 724597 [details] build.log build log and emerge --info
My initial take is that these tests are failing because neither the berkdb nor gdbm USE flags are enabled on dev-lang/perl in the test setup. I *think*, these are tests that need a db, and in the setup, none are available. Not sure what the answer is here. To require one of them if USE=test is enabled, or to nuke the tests when neither is enabled. Or bug upstream to skip the tests when no db providers are available.
(In reply to Philippe Chaintreuil from comment #2) > Not sure what the answer is here. To require one of them if USE=test is > enabled, or to nuke the tests when neither is enabled. Or bug upstream to > skip the tests when no db providers are available. Tests shouldn't be minimal, aim to run as many as possible along with the deps they need. (use || ( ... ) if either backends are okay for tests). But what about runtime? Is this just a test-only thing or is berkdb/gdbm expected at runtime too? Now that profiles dropped default berkdb, this may become an issue for someone. Not that I'm familiar with spamassassin, so don't ask me :)
(In reply to Ionen Wolkens from comment #3) > Tests shouldn't be minimal, aim to run as many as possible along with the > deps they need. > (use || ( ... ) if either backends are okay for tests). > > But what about runtime? > > Is this just a test-only thing or is berkdb/gdbm expected at runtime too? > Now that profiles dropped default berkdb, this may become an issue for > someone. > > Not that I'm familiar with spamassassin, so don't ask me :) One can technically run spamassassin without any db backing -- just download rules from the internet and have no bayes/learning -- but I think it's a small minority that does. I think these tests are failing because they're running in that minimal configuration. ("DBBasedAddrList.pm line 128" is about selecting a db backend to use and finding none. Those lines also say "open of auto-whitelist file failed" -- and "auto" indicates learning -- there's no db to put the learning into available.) Having berkdb no longer present is likely why these just started failing. So in this USE="-berkdb -mysql -postgresql -sqlite" setup, I suspect these tests shouldn't be running. However if any of those are set, then they should be present and passing. 1.) I should contact upstream and figure out if they expect tests to fail when there's no db at all. Seems like they should be skipped instead. 2.) I'm probably overlooking it, but does the test setup test all USE flag combinations? Are we only failing these tests for this specific combination? Or is this the only combination being run? (If it's the only one, is there documentation about how to affect which use flags are set in test?)
Closing: 3.4.6-r1 is no longer in the tree.