Since the comment email seems to have been sent to the bit bucket by RT I include it below...
----
From: ajh@ts.com
Subject: Re: [cpan #14664] Wrong test plan causes test failure
Date: 21 September 2005 10:15:17 BDT
To: comment-Mac-Growl@rt.cpan.org
(This is a version of an email that I sent yesterday, but seems to have been swallowed whole
by the IMAP stuff at my new workplace. Apologies if it got to you and I'm duplicating my
pointless rambles.)
On 20 Sep 2005, at 16:15, Chris_Nandor via RT wrote:
Full context and any attached attachments can be found at:
<URL:
http://rt.cpan.org/NoAuth/Bug.html?id=14664 >
[ADIE - Tue Sep 20 05:14:52 2005]:
Should be 10 not 11 tests in Mac-Growl.t.
Not for me.
Ok. I'm an idiot. What makes it worse was that I checked the code too :-)
Can you run `make test TEST_VERBOSE=1` and give me the complete output?
Also, supply the versions of Growl, and Mac::Growl, and the output of `perl -v`?
Platform details:
----
Growl: 0.72
Mac::Growl: 0.65
% perl -V
Summary of my perl5 (revision 5 version 8 subversion 7) configuration:
Platform:
osname=darwin, osvers=8.1.0, archname=darwin-2level
uname='darwin m25-mp4.cvx2-c.nth.dial.ntli.net 8.1.0 darwin kernel version 8.1.0: tue
may 10 18:16:08 pdt 2005; root:xnu-792.1.5.obj~4release_ppc power macintosh powerpc '
config_args='-de'
hint=recommended, useposix=true, d_sigaction=define
usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cc', ccflags ='-fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -
pipe -I/usr/local/include',
optimize='-O3',
cppflags='-no-cpp-precomp -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-
strict-aliasing -pipe -I/usr/local/include'
ccversion='', gccversion='4.0.0 20041026 (Apple Computer, Inc. build 4061)',
gccosandvers='darwin8'
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='env MACOSX_DEPLOYMENT_TARGET=10.3 cc', ldflags =' -L/usr/local/lib'
libpth=/usr/local/lib /usr/lib
libs=-ldbm -ldl -lm -lc
perllibs=-ldl -lm -lc
libc=/usr/lib/libc.dylib, so=dylib, useshrplib=false, libperl=libperl.a
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=bundle, d_dlsymun=undef, ccdlflags=' '
cccdlflags=' ', lddlflags=' -bundle -undefined dynamic_lookup -L/usr/local/lib'
Characteristics of this binary (from libperl):
Compile-time options: USE_LARGE_FILES
Built under darwin
Compiled at Jun 3 2005 16:06:32
@INC:
/usr/local/lib/perl5/5.8.7/darwin-2level
/usr/local/lib/perl5/5.8.7
/usr/local/lib/perl5/site_perl/5.8.7/darwin-2level
/usr/local/lib/perl5/site_perl/5.8.7
/usr/local/lib/perl5/site_perl
.
----
Of course, I got 11 passing tests when I ran it the second time.
After poking a bit more this seems to be the cause of the problem.
If, like me, you don't run 'make' as root, and the Mac::Glue for Growl hasn't already been
installed then you get an error at make time:
----
% perl Makefile.PL
Checking if your kit is complete...
Looks good
Writing Makefile for Mac::Growl
% make
cp lib/Mac/Growl.pm blib/lib/Mac/Growl.pm
cp lib/Mac/Glue/glues/GrowlHelperApp blib/lib/Mac/Glue/glues/GrowlHelperApp
cp lib/Mac/Glue/glues/GrowlHelperApp.pod blib/lib/Mac/Glue/glues/GrowlHelperApp.pod
Manifying blib/man3/Mac::Growl.3
Manifying blib/man3/Mac::Glue::glues::GrowlHelperApp.3
Making glue for '/Library/PreferencePanes/Growl.prefPane/Contents/Resources/
GrowlHelperApp.app'
MLDBM error: Second level tie failed, "Permission denied" at /usr/local/lib/perl5/site_perl/
5.8.7/Mac/AETE/Format/Glue.pm line 163
Can't tie to '/usr/local/lib/perl5/site_perl/5.8.7/Mac/Glue/glues/GrowlHelperApp':
Permission denied at /usr/local/lib/perl5/site_perl/5.8.7/Mac/AETE/Format/Glue.pm line
164.
Created and installed App glue for 'GrowlHelperApp.app, v0.7.2' (GrowlHelperApp)
----
I missed this the first time around. This causes the glue test to disappear:
----
% make test TEST_VERBOSE=1
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(1, 'blib/
lib', 'blib/arch')" t/*.t
t/Mac-Growl....1..11
ok 1 - use Mac::Growl;
ok 2 - register Mac::Growl Test
ok 3 - notify
ok 4 - notify sticky
ok 5 - notify fail
ok 6 # skip Notify Foundation test
ok 7 # skip Notify Mac::AppleScript test
ok 8 # skip Notify Mac::OSA::Simple test
ok 9 - notify MacPerl
# Looks like you planned 11 tests but only ran 10.
ok 10 - notify osascript
dubious
Test returned status 255 (wstat 65280, 0xff00)
DIED. FAILED test 11
Failed 1/11 tests, 90.91% okay (less 3 skipped tests: 7 okay, 63.64%)
Failed Test Stat Wstat Total Fail Failed List of Failed
------------------------------------------------------------------------------
-
t/Mac-Growl.t 255 65280 11 2 18.18% 11
3 subtests skipped.
Failed 1/1 test scripts, 0.00% okay. 1/11 subtests failed, 90.91% okay.
make: *** [test_dynamic] Error 255
----
Of course after I "fixed" the plan and installed the growl glue was installed too
----
e% sudo make install
Installing /usr/local/lib/perl5/site_perl/5.8.7/Mac/Glue/glues/GrowlHelperApp
Installing /usr/local/lib/perl5/site_perl/5.8.7/Mac/Glue/glues/GrowlHelperApp.pod
Writing /usr/local/lib/perl5/site_perl/5.8.7/darwin-2level/auto/Mac/Growl/.packlist
Appending installation info to /usr/local/lib/perl5/5.8.7/darwin-2level/perllocal.pod
----
Which meant the tests passed second time around.
----
% make test TEST_VERBOSE=1
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(1, 'blib/
lib', 'blib/arch')" t/*.t
t/Mac-Growl....1..11
ok 1 - use Mac::Growl;
ok 2 - register Mac::Growl Test
ok 3 - notify
ok 4 - notify sticky
ok 5 - notify fail
ok 6 # skip Notify Foundation test
ok 7 # skip Notify Mac::AppleScript test
ok 8 - notify Mac::Glue
ok 9 # skip Notify Mac::OSA::Simple test
ok 10 - notify MacPerl
ok 11 - notify osascript
ok 4.960s
3/11 skipped: various reasons
All tests successful, 3 subtests skipped.
Files=1, Tests=11, 5 wallclock secs ( 0.93 cusr + 0.41 csys = 1.34 CPU)
----
Hopefully this now makes sense :-)
Cheers,
Adrian