in reply to Re: MakeMaker and multiple test directories
in thread MakeMaker and multiple test directories

Unfortunately, it's pyrite. CPAN ignores the return value of test.pl, so it will silently install modules for which the tests fail. You might as well not distribute tests in that case.

Replies are listed 'Best First'.
Re: Re: Re: MakeMaker and multiple test directories
by PodMaster (Abbot) on Jul 22, 2003 at 01:59 UTC
    Really? If that is true, it is still just a failing of CPAN, nothing less, nothing more. It does not invalidate the tests in any way (the tests are not there to stop cpan from installing a module).

    MJD says "you can't just make shit up and expect the computer to know what you mean, retardo!"
    I run a Win32 PPM repository for perl 5.6.x and 5.8.x -- I take requests (README).
    ** The third rule of perl club is a statement of fact: pod is sexy.

      Oops, it's a MakeMaker problem.

      Still, I really don't see the point of running the tests if you're going to ignore the results. At least if people ran them and they failed, people could work with me to fix the errors. If you had to force installation if the tests fail, as you do with t/ tests, at least you know you might have trouble.

      Update: MakeMaker doesn't run test.pl through Test::Harness. Read the article.

        In that case it is a non issue, as Test::Harness will exit abnormally if tests fail (cause that's what you're doing in with the fool's gold I provided above), and
        sub test_harness { require Test::Harness; require File::Spec; $Test::Harness::verbose = shift; local @INC = @INC; unshift @INC, map { File::Spec->rel2abs($_) } @_; Test::Harness::runtests(sort { lc $a cmp lc $b } @ARGV); }
        From `perldoc Test::Harness', runtests ... It returns true if everything was ok. Otherwise it will die() with one of the messages in the DIAGNOSTICS section

        update: chromatic I read the article (grrr). My suggestion was to use Test::Harness in test.pl via ExtUtils::Command::MM (see Re: MakeMaker and multiple test directories).

        UPDATE: Convince yourself http://crazyinsomniac.perlmonk.org/perl/misc/DEATH-0.01.tar.gz

        E:\dev\LOOSE\DEATH>tar -zxvf DEATH-0.01.tar.gz DEATH-0.01/ DEATH-0.01/Changes DEATH-0.01/DEATH.pm DEATH-0.01/Makefile.PL DEATH-0.01/MANIFEST DEATH-0.01/META.yml DEATH-0.01/mytests/ DEATH-0.01/mytests/01-load-This.t DEATH-0.01/README DEATH-0.01/test.pl E:\dev\LOOSE\DEATH>cd DEATH-0.01 E:\dev\LOOSE\DEATH\DEATH-0.01>perl Makefile.PL Checking if your kit is complete... Looks good Writing Makefile for DEATH E:\dev\LOOSE\DEATH\DEATH-0.01>nmake test Microsoft (R) Program Maintenance Utility Version 6.00.8168.0 Copyright (C) Microsoft Corp 1988-1998. All rights reserved. cp DEATH.pm blib\lib\DEATH.pm C:\Perl\bin\perl.exe "-Iblib\lib" "-Iblib\arch" test.pl mytests/01-load-This....# Failed test 1 in mytests/01-load-This.t at l +ine 4 # mytests/01-load-This.t line 4 is: ok(0); # If we made it this far, +we're ok. mytests/01-load-This....FAILED test 1 Failed 1/1 tests, 0.00% okay Failed Test Stat Wstat Total Fail Failed List of Failed ---------------------------------------------------------------------- +--------- mytests/01-load-This.t 1 1 100.00% 1 Failed 1/1 test scripts, 0.00% okay. 1/1 subtests failed, 0.00% okay. NMAKE : fatal error U1077: 'C:\Perl\bin\perl.exe' : return code '0xff' Stop.

        MJD says "you can't just make shit up and expect the computer to know what you mean, retardo!"
        I run a Win32 PPM repository for perl 5.6.x and 5.8.x -- I take requests (README).
        ** The third rule of perl club is a statement of fact: pod is sexy.