in reply to Makefile.PL even weirder on Windows

The quick answer is "use the POD, Luke", to both. However, the POD for MakeMaker is terribly written. You should either have a VA.pm in the root of your source tarball, or have a Exporter/VA.pm, or a lib/Exporter/VA.pm, IIRC.

As far as the tests, have a t/yadda.pl that uses the Test::Harness output conventions, or a ./test.pl, IIRC. (OTOH, if you use ./test.pl, the output is ignored -- the tests will be run, but MM, and thus CPAN.pm, won't notice if the tests failed.)


Warning: Unless otherwise stated, code is untested. Do not use without understanding. Code is posted in the hopes it is useful, but without warranty. All copyrights are relinquished into the public domain unless otherwise stated. I am not an angel. I am capable of error, and err on a fairly regular basis. If I made a mistake, please let me know (such as by replying to this node).

  • Comment on Re: Makefile.PL even weirder on Windows

Replies are listed 'Best First'.
Re: Re: Makefile.PL even weirder on Windows
by John M. Dlugosz (Monsignor) on Jan 12, 2003 at 02:19 UTC
    You both are saying that the source project has various subdirectories, rather than the few files I have in one directory?

    I read about the testing tutorial and the module, but it didn't give the format of the expected output. But really the issue is that the auto-testing looks in a particular subdirectory. Or, you're saying that the file named "test.pl", rather than "test$_.perl" foreach (1..$n); will be seen but the output not automatically processed? Doesn't it (MM or CPAN) care about the exit code?!

    —John

      The answer to all your questions is "yes". Seriously.

      If you have a file named ./test.pl, it will be run, and the results ignored by the Makefile (IIRC, of course -- read the disclaimer) (MM doesn't actualy run anything, it only writes a makefile. CPAN only runs the makefile). If there is a ./t/ subdirectory, it will be run via Test::Harness. See it's POD for details of the output format, or just use it's runtime functions (ok, ok_if, etc).


      Warning: Unless otherwise stated, code is untested. Do not use without understanding. Code is posted in the hopes it is useful, but without warranty. All copyrights are relinquished into the public domain unless otherwise stated. I am not an angel. I am capable of error, and err on a fairly regular basis. If I made a mistake, please let me know (such as by replying to this node).