In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/20c002109cce68de85ddf6451b809a24ae6d650a?hp=6e256d6843282fdbfc400027b4dd7313ab63caf1>
- Log ----------------------------------------------------------------- commit 20c002109cce68de85ddf6451b809a24ae6d650a Author: Father Chrysostomos <[email protected]> Date: Wed Sep 22 13:10:19 2010 -0700 Add lib to @INC in t/base/rs.t t/base/rs.t needs to @INClude the lib directory before requiring PerlIO::scalar, even if the require is in an eval, because it will otherwise pick up a previously-installed copy. Since 87b9e1600 (Eliminate PL_* accessor functions under ithreads), a binary-incompatible change, Iâve been getting these errors: t/base/rs......................................................dyld: lazy symbol binding failed: Symbol not found: _Perl_Istack_sp_ptr Referenced from: /usr/local/lib/perl5/5.13.5/darwin-thread-multi-2level/auto/PerlIO/scalar/scalar.bundle Expected in: dynamic lookup dyld: Symbol not found: _Perl_Istack_sp_ptr Referenced from: /usr/local/lib/perl5/5.13.5/darwin-thread-multi-2level/auto/PerlIO/scalar/scalar.bundle Expected in: dynamic lookup FAILED--no leader found Failed a basic test (base/rs.t) -- cannot continue. make: *** [test] Error 255 ----------------------------------------------------------------------- Summary of changes: t/base/rs.t | 12 +++++++++--- 1 files changed, 9 insertions(+), 3 deletions(-) diff --git a/t/base/rs.t b/t/base/rs.t index 51681e9..ab41652 100644 --- a/t/base/rs.t +++ b/t/base/rs.t @@ -115,7 +115,12 @@ $/ = "\n"; } -if (not eval q/use PerlIO::scalar; use PerlIO::via::scalar; 1/) { +{ + # If we do not include the lib directories, we may end up picking up a + # binary-incompatible previously-installed version. The eval wonât help in + # intercepting a SIGTRAP. + local @INC = ("../lib", "lib", @INC); + if (not eval q/use PerlIO::scalar; use PerlIO::via::scalar; 1/) { # In-memory files necessitate PerlIO::via::scalar, thus a perl with # perlio and dynaloading enabled. miniperl won't be able to run this # test, so skip it @@ -127,8 +132,8 @@ if (not eval q/use PerlIO::scalar; use PerlIO::via::scalar; 1/) { print "ok $test # skipped - Can't test in memory file with miniperl/without PerlIO::Scalar\n"; $test_count++; } -} -else { + } + else { # Test if a file in memory behaves the same as a real file (= re-run the test with a file in memory) open TESTFILE, "<", \$teststring; test_string(*TESTFILE); @@ -137,6 +142,7 @@ else { open TESTFILE, "<", \$teststring2; test_record(*TESTFILE); close TESTFILE; + } } # Get rid of the temp file -- Perl5 Master Repository
