Show quoted text>>>>> On Fri, 11 Sep 2015 04:11:14 -0400, "Ed J via RT" <bug-ExtUtils-MakeMaker@rt.cpan.org> said:
Show quoted text > <URL:
https://rt.cpan.org/Ticket/Display.html?id=106975 >
> Andreas, on the github issue you said:
>> If the idiom is working, I'm a happy user. I'm not coding police. The idiom is not working anymore and as far as I can see there is no replacement.
Show quoted text > The replacement is (note plural TEST_FILE*S*):
Show quoted text > make testdb TEST_FILES=t/02-blah.t
Well, I see I got to point out what exactly I mean. To understand my
example, please try it with t/make.t directly in your copy of the
ExtUtils-MakeMaker git repository. As I do below. Watch carefully in the
outputs below that with current sources both an incantation with
TEST_FILES=t/make.t and with TEST_FILE=t/make.t loads the harness
one-liner which is not what I want. Whereas with v7.05_08 it loads the
test script t/make.t immediately which is the behaviour I expect and
actually want. Do you see the difference now?
In the following you see six prompts, denoted by '(N)%'. The first
command (1) is a git command that documents which sources are active
locally. Then I call 'make testdb', once with (2) TEST_FILES=t/make.t
and once with (3) TEST_FILE=t/make.t. Both start the debugger with the
harness oneliner
main::(-e:1) undef *Test::Harness::Switches [...]
Then the command (4) is again a git command to switch to v7.05_08. You
should be able to reproduce this in your repository. And in (5) I call
again 'perl makedb' with TEST_FILE=t/make.t. This command produces a bit
more output from MakeMaker because we have changed the sources by the
git command. Then the command has to be repeated as in (6). The
repetition is only necessary once. Please note that with that older
MakeMaker the debugger starts directly in the t/make.t script, witness
main::(t/make.t:11): my $MM = bless [...]
Do you see the difference now? Do you understand the intention of the
original code now?
(1)% git describe
v6.99_11-400-g35e0ee4
(2)% make testdb TEST_FILES=t/make.t
PERL_DL_NONLAZY=1 "/home/sand/src/perl/repoperls/installed-perls/perl/v5.23.2-201-gf8fbb01/165a/bin/perl" "-Iblib/arch" "-Iblib/lib" -d "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/make.t
Loading DB routines from perl5db.pl version 1.49_01
Editor support available.
Enter h or 'h h' for help, or 'man perldebug' for more help.
main::(-e:1): undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')
DB<38> q
(3)% make testdb TEST_FILE=t/make.t
PERL_DL_NONLAZY=1 "/home/sand/src/perl/repoperls/installed-perls/perl/v5.23.2-201-gf8fbb01/165a/bin/perl" "-Iblib/arch" "-Iblib/lib" -d "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
Loading DB routines from perl5db.pl version 1.49_01
Editor support available.
Enter h or 'h h' for help, or 'man perldebug' for more help.
main::(-e:1): undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')
DB<38> q
(4)% git checkout v7.05_08
[...]
(5)% make testdb TEST_FILE=t/make.t
[...]
(6)% make testdb TEST_FILE=t/make.t
[...]
PERL_DL_NONLAZY=1 "/home/sand/src/perl/repoperls/installed-perls/perl/v5.23.2-201-gf8fbb01/165a/bin/perl" "-Iblib/arch" "-Iblib/lib" -d "-Iblib/lib" "-Iblib/arch" t/make.t
Loading DB routines from perl5db.pl version 1.49_01
Editor support available.
Enter h or 'h h' for help, or 'man perldebug' for more help.
1..3
main::(t/make.t:11): my $MM = bless { MAKE => "nmake6" }, "MM";
DB<38> q
# No tests run!
Makefile:956: recipe for target 'testdb_dynamic' failed
%
HTH,
--
andreas