[RESEND] Test::Aggregate::Nested Keeps Reloading a Module under t/lib

Shlomi Fish shlomif at iglu.org.il
Wed Dec 8 09:04:37 GMT 2010


(Resending because I did not get a reply.)

Hi all,

Here at reask.com we are trying to make the test suite run faster by using 
Test::Aggregate::Nested, but we're running into this problem:

[shell]

shlomif:$cat_dir$ perl -d -Ilib script/reask_run_tests.t 

Loading DB routines from perl5db.pl version 1.32
Editor support available.

Enter h or `h h' for help, or `man perldebug' for more help.

main::(script/reask_run_tests.t:9):
9:      my $aggregate_test_dir = dir($Bin)->parent->subdir('t')->stringify;
  DB<1757> n
main::(script/reask_run_tests.t:11):
11:     my $tests = Test::Aggregate::Nested
12:         ->new( { dirs => $aggregate_test_dir, set_filenames => 1} );
  DB<1757> n
main::(script/reask_run_tests.t:13):
13:     $tests->run;
  DB<1757> n
1..46
    ok 1 - use Catalyst::Test;
    ok 2 - Request should succeed
    1..2
ok 1 - Tests for /home/shlomif/progs/Work/reask/reask/catalyst/Reask/t/01app.t
    1..0 # SKIP set TEST_POD to enable this test
ok 2 # skip set TEST_POD to enable this test
    1..0 # SKIP set TEST_POD to enable this test
ok 3 # skip set TEST_POD to enable this test
Subroutine new redefined at t/lib/Reask/Mock_Net_Twitter.pm line 36.
 at t/lib/Reask/Mock_Net_Twitter.pm line 36
        require Reask/Mock_Net_Twitter.pm called at t/lib/Reask/Mock_Auth.pm 
line 6
        Reask::Mock_Auth::BEGIN() called at t/lib/Reask/Mock_Net_Twitter.pm 
line 36
        eval {...} called at t/lib/Reask/Mock_Net_Twitter.pm line 36
        require Reask/Mock_Auth.pm called at 
/home/shlomif/progs/Work/reask/reask/catalyst/Reask/t/04live_app.t line 29
        homeshlomifprogsWorkreaskreaskcatalystReaskt04live_appt::BEGIN() 
called at t/lib/Reask/Mock_Net_Twitter.pm line 36
        eval {...} called at t/lib/Reask/Mock_Net_Twitter.pm line 36
        require 
/home/shlomif/progs/Work/reask/reask/catalyst/Reask/t/04live_app.t called at 
(eval 2466)[/usr/lib/perl5/vendor_perl/5.10.1/Test/Aggregate/Nested.pm:146] 
line 2
        homeshlomifprogsWorkreaskreaskcatalystReaskt04live_appt::__ANON__[(eval 
2466)[/usr/lib/perl5/vendor_perl/5.10.1/Test/Aggregate/Nested.pm:146]:2]() 
called at /usr/lib/perl5/vendor_perl/5.10.1/Test/Builder.pm line 218
        eval {...} called at /usr/lib/perl5/vendor_perl/5.10.1/Test/Builder.pm 
line 218
        Test::Builder::subtest('Test::Builder=HASH(0x1dcd618)', 'Tests for 
/home/shlomif/progs/Work/reask/reask/catalyst/Reask...', 'CODE(0x1b237f0)') 
called at /usr/lib/perl5/vendor_perl/5.10.1/Test/More.pm line 725
        Test::More::subtest('Tests for 
/home/shlomif/progs/Work/reask/reask/catalyst/Reask...', 'CODE(0x1b237f0)') 
called at (eval 2466)
[/usr/lib/perl5/vendor_perl/5.10.1/Test/Aggregate/Nested.pm:146] line 2
        eval '        package 
homeshlomifprogsWorkreaskreaskcatalystReaskt04live_appt;
        Test::Aggregate::Nested::subtest("Tests for 
/home/shlomif/progs/Work/reask/reask/catalyst/Reask/t/04live_app.t", sub { do 
$test });

;' called at /usr/lib/perl5/vendor_perl/5.10.1/Test/Aggregate/Nested.pm line 
146
        Test::Aggregate::Nested::run('Test::Aggregate::Nested=HASH(0x41b83f8)') 
called at script/reask_run_tests.t line 13
Subroutine BUILDARGS redefined at t/lib/Reask/MockOAuth.pm line 27.
 at t/lib/Reask/MockOAuth.pm line 27
        require Reask/MockOAuth.pm called at t/lib/Reask/Mock_Auth.pm line 18
        Reask::Mock_Auth::BEGIN() called at t/lib/Reask/MockOAuth.pm line 27
        eval {...} called at t/lib/Reask/MockOAuth.pm line 27
        require Reask/Mock_Auth.pm called at 
/home/shlomif/progs/Work/reask/reask/catalyst/Reask/t/04live_app.t line 29
        homeshlomifprogsWorkreaskreaskcatalystReaskt04live_appt::BEGIN() 
called at t/lib/Reask/MockOAuth.pm line 27
        eval {...} called at t/lib/Reask/MockOAuth.pm line 27
        require 
/home/shlomif/progs/Work/reask/reask/catalyst/Reask/t/04live_app.t called at 
(eval 2466)[/usr/lib/perl5/vendor_perl/5.10.1/Test/Aggregate/Nested.pm:146] 
line 2
        homeshlomifprogsWorkreaskreaskcatalystReaskt04live_appt::__ANON__[(eval 
2466)[/usr/lib/perl5/vendor_perl/5.10.1/Test/Aggregate/Nested.pm:146]:2]() 
called at /usr/lib/perl5/vendor_perl/5.10.1/Test/Builder.pm line 218
        eval {...} called at /usr/lib/perl5/vendor_perl/5.10.1/Test/Builder.pm 
line 218
        Test::Builder::subtest('Test::Builder=HASH(0x1dcd618)', 'Tests for 
/home/shlomif/progs/Work/reask/reask/catalyst/Reask...', 'CODE(0x1b237f0)') 
called at /usr/lib/perl5/vendor_perl/5.10.1/Test/More.pm line 725
        Test::More::subtest('Tests for 
/home/shlomif/progs/Work/reask/reask/catalyst/Reask...', 'CODE(0x1b237f0)') 
called at (eval 2466)
[/usr/lib/perl5/vendor_perl/5.10.1/Test/Aggregate/Nested.pm:146] line 2
        eval '        package 
homeshlomifprogsWorkreaskreaskcatalystReaskt04live_appt;
        Test::Aggregate::Nested::subtest("Tests for 
/home/shlomif/progs/Work/reask/reask/catalyst/Reask/t/04live_app.t", sub { do 
$test });

;' called at /usr/lib/perl5/vendor_perl/5.10.1/Test/Aggregate/Nested.pm line 
146
        Test::Aggregate::Nested::run('Test::Aggregate::Nested=HASH(0x41b83f8)') 
called at script/reask_run_tests.t line 13
Subroutine BUILD redefined at t/lib/Reask/MockOAuth.pm line 33.
 at t/lib/Reask/MockOAuth.pm line 33
        require Reask/MockOAuth.pm called at t/lib/Reask/Mock_Auth.pm line 18
        Reask::Mock_Auth::BEGIN() called at t/lib/Reask/MockOAuth.pm line 33
        eval {...} called at t/lib/Reask/MockOAuth.pm line 33
        require Reask/Mock_Auth.pm called at 
/home/shlomif/progs/Work/reask/reask/catalyst/Reask/t/04live_app.t line 29
        homeshlomifprogsWorkreaskreaskcatalystReaskt04live_appt::BEGIN() 
called at t/lib/Reask/MockOAuth.pm line 33
        eval {...} called at t/lib/Reask/MockOAuth.pm line 33
        require 
/home/shlomif/progs/Work/reask/reask/catalyst/Reask/t/04live_app.t called at 
(eval 2466)[/usr/lib/perl5/vendor_perl/5.10.1/Test/Aggregate/Nested.pm:146] 
line 2
        homeshlomifprogsWorkreaskreaskcatalystReaskt04live_appt::__ANON__[(eval 
2466)[/usr/lib/perl5/vendor_perl/5.10.1/Test/Aggregate/Nested.pm:146]:2]() 
called at /usr/lib/perl5/vendor_perl/5.10.1/Test/Builder.pm line 218
        eval {...} called at /usr/lib/perl5/vendor_perl/5.10.1/Test/Builder.pm 
line 218
        Test::Builder::subtest('Test::Builder=HASH(0x1dcd618)', 'Tests for 
/home/shlomif/progs/Work/reask/reask/catalyst/Reask...', 'CODE(0x1b237f0)') 
called at /usr/lib/perl5/vendor_perl/5.10.1/Test/More.pm line 725
        Test::More::subtest('Tests for 
/home/shlomif/progs/Work/reask/reask/catalyst/Reask...', 'CODE(0x1b237f0)') 
called at (eval 2466)
[/usr/lib/perl5/vendor_perl/5.10.1/Test/Aggregate/Nested.pm:146] line 2
        eval '        package 
homeshlomifprogsWorkreaskreaskcatalystReaskt04live_appt;
        Test::Aggregate::Nested::subtest("Tests for 
/home/shlomif/progs/Work/reask/reask/catalyst/Reask/t/04live_app.t", sub { do 
$test });

;' called at /usr/lib/perl5/vendor_perl/5.10.1/Test/Aggregate/Nested.pm line 
146
        Test::Aggregate::Nested::run('Test::Aggregate::Nested=HASH(0x41b83f8)') 
called at script/reask_run_tests.t line 13
Subroutine _build_ua redefined at t/lib/Reask/MockOAuth.pm line 40.
 at t/lib/Reask/MockOAuth.pm line 40
        require Reask/MockOAuth.pm called at t/lib/Reask/Mock_Auth.pm line 18
        Reask::Mock_Auth::BEGIN() called at t/lib/Reask/MockOAuth.pm line 40
        eval {...} called at t/lib/Reask/MockOAuth.pm line 40
        require Reask/Mock_Auth.pm called at 
/home/shlomif/progs/Work/reask/reask/catalyst/Reask/t/04live_app.t line 29
        homeshlomifprogsWorkreaskreaskcatalystReaskt04live_appt::BEGIN() 
called at t/lib/Reask/MockOAuth.pm line 40
        eval {...} called at t/lib/Reask/MockOAuth.pm line 40
        require 
/home/shlomif/progs/Work/reask/reask/catalyst/Reask/t/04live_app.t called at 
(eval 2466)[/usr/lib/perl5/vendor_perl/5.10.1/Test/Aggregate/Nested.pm:146] 
line 2
        homeshlomifprogsWorkreaskreaskcatalystReaskt04live_appt::__ANON__[(eval 
2466)[/usr/lib/perl5/vendor_perl/5.10.1/Test/Aggregate/Nested.pm:146]:2]() 
called at /usr/lib/perl5/vendor_perl/5.10.1/Test/Builder.pm line 218
        eval {...} called at /usr/lib/perl5/vendor_perl/5.10.1/Test/Builder.pm 
line 218
        Test::Builder::subtest('Test::Builder=HASH(0x1dcd618)', 'Tests for 
/home/shlomif/progs/Work/reask/reask/catalyst/Reask...', 'CODE(0x1b237f0)') 
called at /usr/lib/perl5/vendor_perl/5.10.1/Test/More.pm line 725
        Test::More::subtest('Tests for 
/home/shlomif/progs/Work/reask/reask/catalyst/Reask...', 'CODE(0x1b237f0)') 
called at (eval 2466)
[/usr/lib/perl5/vendor_perl/5.10.1/Test/Aggregate/Nested.pm:146] line 2
        eval '        package 
homeshlomifprogsWorkreaskreaskcatalystReaskt04live_appt;
        Test::Aggregate::Nested::subtest("Tests for 
/home/shlomif/progs/Work/reask/reask/catalyst/Reask/t/04live_app.t", sub { do 
$test });

;' called at /usr/lib/perl5/vendor_perl/5.10.1/Test/Aggregate/Nested.pm line 
146
        Test::Aggregate::Nested::run('Test::Aggregate::Nested=HASH(0x41b83f8)') 
called at script/reask_run_tests.t line 13
Subroutine authenticate redefined at t/lib/Reask/MockOAuth.pm line 46.
 at t/lib/Reask/MockOAuth.pm line 46
        require Reask/MockOAuth.pm called at t/lib/Reask/Mock_Auth.pm line 18
        Reask::Mock_Auth::BEGIN() called at t/lib/Reask/MockOAuth.pm line 46
        eval {...} called at t/lib/Reask/MockOAuth.pm line 46
        require Reask/Mock_Auth.pm called at 
/home/shlomif/progs/Work/reask/reask/catalyst/Reask/t/04live_app.t line 29
        homeshlomifprogsWorkreaskreaskcatalystReaskt04live_appt::BEGIN() 
called at t/lib/Reask/MockOAuth.pm line 46
        eval {...} called at t/lib/Reask/MockOAuth.pm line 46
        require 
/home/shlomif/progs/Work/reask/reask/catalyst/Reask/t/04live_app.t called at 
(eval 2466)[/usr/lib/perl5/vendor_perl/5.10.1/Test/Aggregate/Nested.pm:146] 
line 2
        homeshlomifprogsWorkreaskreaskcatalystReaskt04live_appt::__ANON__[(eval 
2466)[/usr/lib/perl5/vendor_perl/5.10.1/Test/Aggregate/Nested.pm:146]:2]() 
called at /usr/lib/perl5/vendor_perl/5.10.1/Test/Builder.pm line 218
        eval {...} called at /usr/lib/perl5/vendor_perl/5.10.1/Test/Builder.pm 
line 218
        Test::Builder::subtest('Test::Builder=HASH(0x1dcd618)', 'Tests for 
/home/shlomif/progs/Work/reask/reask/catalyst/Reask...', 'CODE(0x1b237f0)') 
called at /usr/lib/perl5/vendor_perl/5.10.1/Test/More.pm line 725
        Test::More::subtest('Tests for 
/home/shlomif/progs/Work/reask/reask/catalyst/Reask...', 'CODE(0x1b237f0)') 
called at (eval 2466)
[/usr/lib/perl5/vendor_perl/5.10.1/Test/Aggregate/Nested.pm:146] line 2
        eval '        package 
homeshlomifprogsWorkreaskreaskcatalystReaskt04live_appt;
        Test::Aggregate::Nested::subtest("Tests for 
/home/shlomif/progs/Work/reask/reask/catalyst/Reask/t/04live_app.t", sub { do 
$test });

;' called at /usr/lib/perl5/vendor_perl/5.10.1/Test/Aggregate/Nested.pm line 
146
        Test::Aggregate::Nested::run('Test::Aggregate::Nested=HASH(0x41b83f8)') 
called at script/reask_run_tests.t line 13
^CDBD::Pg::db::column_info(/usr/lib/perl5/vendor_perl/5.10.1/x86_64-linux-
thread-multi/DBD/Pg.pm:533):
533:                            if (@$info) {
  DB<1757> 

[/shell]

We are loading some .pm files from t/lib in several scripts and they set up 
stuff upon startup and yet it seems that they are being loaded again from some 
reason.

Is there any way we can overcome it?

Regards,

	Shlomi Fish

-- 
-----------------------------------------------------------------
Shlomi Fish       http://www.shlomifish.org/
Rethinking CPAN - http://shlom.in/rethinking-cpan

<rindolf> She's a hot chick. But she smokes.
<go|dfish> She can smoke as long as she's smokin'.

Please reply to list if it's a mailing list post - http://shlom.in/reply .


More information about the tapx-dev mailing list