You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@spamassassin.apache.org by bu...@bugzilla.spamassassin.org on 2004/12/02 02:18:51 UTC

[Bug 4010] New: make test fails if Storable is not present

http://bugzilla.spamassassin.org/show_bug.cgi?id=4010

           Summary: make test fails if Storable is not present
           Product: Spamassassin
           Version: 3.0.1
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: minor
          Priority: P4
         Component: Building & Packaging
        AssignedTo: dev@spamassassin.apache.org
        ReportedBy: michael@insulin-pumpers.org


make test fails if Storable is not present, even though the docs say....
 - Storable             (from CPAN)

    This is a required module if you use spamd and allow user
    configurations to be used (ie: you don't use -x, -u, -q/--sql-config,
    -Q/--setuid-with-sql, --ldap-config, or --setuid-with-ldap).  Third
    party utilities may also require this module for the same
    functionality.  Storable is used to shift configuration when a spamd
    process switches between users.

NOTE: that v 3.00 does make test just fine.



------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

[Bug 4010] make test fails if Storable is not present

Posted by bu...@bugzilla.spamassassin.org.
http://bugzilla.spamassassin.org/show_bug.cgi?id=4010





------- Additional Comments From jm@jmason.org  2004-12-02 11:40 -------
Subject: Re:  make test fails if Storable is not present 

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


btw, we have a buildbot set up to test SpamAssassin with just the required
modules -- "reqd-modules-only-5.8.1".  That's not showing any failures
here...

  http://bugzilla.spamassassin.org:8010/reqd-modules-only-5.8.1

- --j.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
Comment: Exmh CVS

iD8DBQFBr2+5MJF5cimLx9ARAiFFAJ41tYzkAJp0QGC7B0flu4aNsKm6EQCcCmqA
7hjsYK+XUI4xvZaVM1mQ8nA=
=BdQh
-----END PGP SIGNATURE-----





------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

[Bug 4010] make test fails if Storable is not present

Posted by bu...@bugzilla.spamassassin.org.
http://bugzilla.spamassassin.org/show_bug.cgi?id=4010





------- Additional Comments From felicity@kluge.net  2004-12-04 13:46 -------
Subject: Re:  make test fails if Storable is not present

On Sat, Dec 04, 2004 at 12:24:37PM -0800, bugzilla-daemon@bugzilla.spamassassin.org wrote:
> So we do indeed require Storable as long as --max-conn-per-child is not 1.  So 
> which is the way to fix this: 
> (a) Always use --max-conn-per-child=1 in the tests (which might miss bugs) 
> (b) Make $copy_config_p aware of the --no-user-config switch and use that in 
> the tests. 
> (c) Both. 
>  
> I guess (b) is the correct answer. 

I seem to recall that we simplified things down to "always copy" from some
bug...   aha, bug 3826 is referenced by r55242 which is the commit that set it
up that way.

I would add a (d) option:

(d) If Storable is available, run test as normal.  If not, run with
--max-conn-per-child=1.  Perhaps put a notice when doing the "perl
Makefile.PL" that indicates some functionality may not be tested.





------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

[Bug 4010] make test fails if Storable is not present

Posted by bu...@bugzilla.spamassassin.org.
http://bugzilla.spamassassin.org/show_bug.cgi?id=4010





------- Additional Comments From felicity@kluge.net  2004-12-03 15:25 -------
Subject: Re:  make test fails if Storable is not present

On Fri, Dec 03, 2004 at 02:58:39PM -0800, bugzilla-daemon@bugzilla.spamassassin.org wrote:
> Isn't Storable shipped with Perl 5.8?  As long as we don't set 
> --max-conn-per-child we definitely need Storable.  So should we set that 
> option or skip all spamd tests if Storable isn't present? 

Storable isn't required for spamd to work, so it's not required for the tests
where it wouldn't be required otherwise.

I'd say we need to pass the appropriate options such that Storable isn't used
unless we're testing functionality that needs it.





------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

[Bug 4010] make test fails if Storable is not present

Posted by bu...@bugzilla.spamassassin.org.
http://bugzilla.spamassassin.org/show_bug.cgi?id=4010





------- Additional Comments From michael@insulin-pumpers.org  2005-01-07 14:59 -------
SpamAssassin 3.0.2 -- bug still there....

debug: SpamAssassin version 3.0.2
debug: Score set 0 chosen.
debug: no Storable module found
Required module Storable not found!


Maybe you need to kill a running spamd process?




------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

[Bug 4010] make test fails if Storable is not present

Posted by bu...@bugzilla.spamassassin.org.
http://bugzilla.spamassassin.org/show_bug.cgi?id=4010





------- Additional Comments From michael@insulin-pumpers.org  2004-12-02 14:21 -------
Created an attachment (id=2543)
 --> (http://bugzilla.spamassassin.org/attachment.cgi?id=2543&action=view)
output of make test TEST_VERBOSE=1

All spamc/spamd failures apparently because of missing optional module that
throws
the error:

"Required module Storable not found!"




------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

[Bug 4010] make test fails if Storable is not present

Posted by bu...@bugzilla.spamassassin.org.
http://bugzilla.spamassassin.org/show_bug.cgi?id=4010





------- Additional Comments From spamassassin-contrib@msquadrat.de  2004-12-04 12:24 -------
The code in question is this: 
 
# always copy the config, later code may disable 
my $copy_config_p = 1; 
#[...] 
if ( defined $opt{'max-conn-per-child'} ) { 
  $clients_per_child = $opt{'max-conn-per-child'}; 
  # Make sure that the values are at least 1 
  $clients_per_child = undef if ( $clients_per_child < 1 ); 
} 
# Set some "sane" limits for defaults 
$childlimit        ||= 5; 
$clients_per_child ||= 200; 
#[...] 
unless ($clients_per_child > 1) { 
  # unset $copy_config_p so we don't bother trying to copy things back 
  # after closing the connection 
  $copy_config_p = 0; 
} 
#[...] 
# If we need Storable, and it's not installed, alert now before we daemonize. 
die "Required module Storable not found!\n" 
  if ($copy_config_p && !$spamtest->_is_storable_available()); 
 
 
So we do indeed require Storable as long as --max-conn-per-child is not 1.  So 
which is the way to fix this: 
(a) Always use --max-conn-per-child=1 in the tests (which might miss bugs) 
(b) Make $copy_config_p aware of the --no-user-config switch and use that in 
the tests. 
(c) Both. 
 
I guess (b) is the correct answer. 



------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

[Bug 4010] make test fails if Storable is not present

Posted by bu...@bugzilla.spamassassin.org.
http://bugzilla.spamassassin.org/show_bug.cgi?id=4010





------- Additional Comments From parkerm@pobox.com  2004-12-04 16:04 -------
Subject: Re:  make test fails if Storable is not present

On Sat, Dec 04, 2004 at 01:46:36PM -0800, bugzilla-daemon@bugzilla.spamassassin.org wrote:
> 
> On Sat, Dec 04, 2004 at 12:24:37PM -0800, bugzilla-daemon@bugzilla.spamassassin.org wrote:
> > So we do indeed require Storable as long as --max-conn-per-child is not 1.  So 
> > which is the way to fix this: 
> > (a) Always use --max-conn-per-child=1 in the tests (which might miss bugs) 
> > (b) Make $copy_config_p aware of the --no-user-config switch and use that in 
> > the tests. 
> > (c) Both. 
> >  
> > I guess (b) is the correct answer. 
> 
> I seem to recall that we simplified things down to "always copy" from some
> bug...   aha, bug 3826 is referenced by r55242 which is the commit that set it
> up that way.
> 

Indeed, --no-user-config is set when using SQL prefs, so what it
really means is not NO user config, but NO ON DISK (ie user_prefs)
user config.  So (b) is not a valid option.

> I would add a (d) option:
> 
> (d) If Storable is available, run test as normal.  If not, run with
> --max-conn-per-child=1.  Perhaps put a notice when doing the "perl
> Makefile.PL" that indicates some functionality may not be tested.
> 

This sounds like the least painful route.

Michael




------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

[Bug 4010] make test fails if Storable is not present

Posted by bu...@bugzilla.spamassassin.org.
http://bugzilla.spamassassin.org/show_bug.cgi?id=4010

spamassassin-contrib@msquadrat.de changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|Building & Packaging        |Regression Tests



------- Additional Comments From spamassassin-contrib@msquadrat.de  2004-12-02 11:10 -------
If possible, please attach the full output of 'make test TEST_VERBOSE=1'.  
(That would make it easier for us to find the points where it fails without 
having to play around with the local configuration.)  Thanks. 



------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

[Bug 4010] make test fails if Storable is not present

Posted by bu...@bugzilla.spamassassin.org.
http://bugzilla.spamassassin.org/show_bug.cgi?id=4010





------- Additional Comments From spamassassin-contrib@msquadrat.de  2004-12-03 14:58 -------
Isn't Storable shipped with Perl 5.8?  As long as we don't set 
--max-conn-per-child we definitely need Storable.  So should we set that 
option or skip all spamd tests if Storable isn't present? 



------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.