In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/b17397621f1e997fadd615214400d296c2677d96?hp=c440907b5d816077e5dcc75bb0275152e9957afc>
- Log ----------------------------------------------------------------- commit b17397621f1e997fadd615214400d296c2677d96 Author: Nicholas Clark <[email protected]> Date: Fri Sep 18 14:14:57 2009 +0100 Avoid re-creating a temporary file with constant contents for use.t M MANIFEST M t/comp/use.t A t/lib/test_use_14937.pm commit dd90d555fd3323e29dc92c0ff0b2a6569cd2cc2e Author: Nicholas Clark <[email protected]> Date: Fri Sep 18 14:00:23 2009 +0100 Avoid using lib.pm in miniperl's tests. M MANIFEST M t/comp/use.t A t/lib/test_use.pm M t/re/pat.t ----------------------------------------------------------------------- Summary of changes: MANIFEST | 2 + t/comp/use.t | 77 ++++++++++++++++++++++------------------------ t/lib/test_use.pm | 11 +++++++ t/lib/test_use_14937.pm | 1 + t/re/pat.t | 4 ++- 5 files changed, 54 insertions(+), 41 deletions(-) create mode 100644 t/lib/test_use.pm create mode 100644 t/lib/test_use_14937.pm diff --git a/MANIFEST b/MANIFEST index 4350606..b987cc7 100644 --- a/MANIFEST +++ b/MANIFEST @@ -4203,6 +4203,8 @@ t/lib/Sans_mypragma.pm Test module for t/lib/mypragma.t t/lib/strict/refs Tests of "use strict 'refs'" for strict.t t/lib/strict/subs Tests of "use strict 'subs'" for strict.t t/lib/strict/vars Tests of "use strict 'vars'" for strict.t +t/lib/test_use_14937.pm A test pragma for t/comp/use.t +t/lib/test_use.pm A test pragma for t/comp/use.t t/lib/warnings/1global Tests of global warnings for warnings.t t/lib/warnings/2use Tests for "use warnings" for warnings.t t/lib/warnings/3both Tests for interaction of $^W and "use warnings" diff --git a/t/comp/use.t b/t/comp/use.t index 6afc1f0..a7ecda8 100755 --- a/t/comp/use.t +++ b/t/comp/use.t @@ -2,7 +2,7 @@ BEGIN { chdir 't' if -d 't'; - @INC = '../lib'; + @INC = ('../lib', 'lib'); $INC{"feature.pm"} = 1; # so we don't attempt to load feature.pm } @@ -37,7 +37,7 @@ sub _ok { } else { print "not ok $test\n"; } - my @caller = caller(2); + my @caller = caller(1); print "# Failed test at $caller[1] line $caller[2]\n"; print "# Got '$got'\n"; if ($type eq 'is') { @@ -118,85 +118,82 @@ is ($@, ""); eval 'require 5.11.0; ${"foo"} = "bar";'; is ($@, ""); -{ use lib } # check that subparse saves pending tokens +{ use test_use } # check that subparse saves pending tokens -local $lib::VERSION = 1.0; +local $test_use::VERSION = 1.0; -eval "use lib 0.9"; +eval "use test_use 0.9"; is ($@, ''); -eval "use lib 1.0"; +eval "use test_use 1.0"; is ($@, ''); -eval "use lib 1.01"; +eval "use test_use 1.01"; isnt ($@, ''); -eval "use lib 0.9 qw(fred)"; +eval "use test_use 0.9 qw(fred)"; is ($@, ''); -is($INC[0], "fred"); +is("@test_use::got", "fred"); -eval "use lib 1.0 qw(joe)"; +eval "use test_use 1.0 qw(joe)"; is ($@, ''); -is($INC[0], "joe"); +is("@test_use::got", "joe"); -eval "use lib 1.01 qw(freda)"; +eval "use test_use 1.01 qw(freda)"; isnt($@, ''); -isnt($INC[0], "freda"); +is("@test_use::got", "joe"); { - local $lib::VERSION = 35.36; - eval "use lib v33.55"; + local $test_use::VERSION = 35.36; + eval "use test_use v33.55"; is ($@, ''); - eval "use lib v100.105"; - like ($@, qr/lib version v100.105.0 required--this is only version v35\.360\.0/); + eval "use test_use v100.105"; + like ($@, qr/test_use version v100.105.0 required--this is only version v35\.360\.0/); - eval "use lib 33.55"; + eval "use test_use 33.55"; is ($@, ''); - eval "use lib 100.105"; - like ($@, qr/lib version 100.105 required--this is only version 35.36/); + eval "use test_use 100.105"; + like ($@, qr/test_use version 100.105 required--this is only version 35.36/); - local $lib::VERSION = '35.36'; - eval "use lib v33.55"; + local $test_use::VERSION = '35.36'; + eval "use test_use v33.55"; like ($@, ''); - eval "use lib v100.105"; - like ($@, qr/lib version v100.105.0 required--this is only version v35\.360\.0/); + eval "use test_use v100.105"; + like ($@, qr/test_use version v100.105.0 required--this is only version v35\.360\.0/); - eval "use lib 33.55"; + eval "use test_use 33.55"; is ($@, ''); - eval "use lib 100.105"; - like ($@, qr/lib version 100.105 required--this is only version 35.36/); + eval "use test_use 100.105"; + like ($@, qr/test_use version 100.105 required--this is only version 35.36/); - local $lib::VERSION = v35.36; - eval "use lib v33.55"; + local $test_use::VERSION = v35.36; + eval "use test_use v33.55"; is ($@, ''); - eval "use lib v100.105"; - like ($@, qr/lib version v100.105.0 required--this is only version v35\.36\.0/); + eval "use test_use v100.105"; + like ($@, qr/test_use version v100.105.0 required--this is only version v35\.36\.0/); - eval "use lib 33.55"; + eval "use test_use 33.55"; is ($@, ''); - eval "use lib 100.105"; - like ($@, qr/lib version 100.105 required--this is only version v35.36/); + eval "use test_use 100.105"; + like ($@, qr/test_use version 100.105 required--this is only version v35.36/); } { # Regression test for patch 14937: # Check that a .pm file with no package or VERSION doesn't core. - open F, ">xxx$$.pm" or die "Cannot open xxx$$.pm: $!\n"; - print F "1;\n"; - close F; - eval "use lib '.'; use xxx$$ 3;"; - like ($@, qr/^xxx$$ defines neither package nor VERSION--version check failed at/); - unlink "xxx$$.pm"; + # (git commit 2658f4d9934aba5f8b23afcc078dc12b3a40223) + eval "use test_use_14937 3"; + like ($@, qr/^test_use_14937 defines neither package nor VERSION--version check failed at/); } my @ver = split /\./, sprintf "%vd", $^V; diff --git a/t/lib/test_use.pm b/t/lib/test_use.pm new file mode 100644 index 0000000..f1ed0b1 --- /dev/null +++ b/t/lib/test_use.pm @@ -0,0 +1,11 @@ +#!perl -w +# Don't use strict because this is for testing use + +package test_use; + +sub import { + shift; + @got = @_; +} + +1; diff --git a/t/lib/test_use_14937.pm b/t/lib/test_use_14937.pm new file mode 100644 index 0000000..0afc604 --- /dev/null +++ b/t/lib/test_use_14937.pm @@ -0,0 +1 @@ +1; diff --git a/t/re/pat.t b/t/re/pat.t index f84e07f..7b5bbb3 100644 --- a/t/re/pat.t +++ b/t/re/pat.t @@ -2877,7 +2877,9 @@ sub run_tests { { - use lib 'lib'; + BEGIN { + unshift @INC, 'lib'; + } use Cname; ok 'fooB' =~ /\N{foo}[\N{B}\N{b}]/, "Passthrough charname"; -- Perl5 Master Repository
