In article <20020509024050.W12565@alpha.hut.fi>, Jarkko Hietaniemi <jhi@iki.fi> wrote: >On Wed, May 08, 2002 at 10:16:42AM -0700, Yitzchak Scott-Thoennes wrote: >> test 19 (was 17) "An attempt at lvalueable barewords broke this": >> Test fails (and failed in 5.6.1 also), and I don't know anything >> about it. TODO'd it for someone else to deal with. This test was added by 9955: Change 9955 by jhi@alpha on 2001/05/02 13:05:38 Test for #9952. Affected files ... .... //depot/perl/t/op/tie.t#16 edit Differences ... ==== //depot/perl/t/op/tie.t#16 (xtext) ==== @@ -196,3 +196,9 @@ vec($b,1,1)=0; die unless $a eq $b; EXPECT +######## +# An attempt at lvalueable barewords broke this + +tie FH, 'main'; +EXPECT + and 9952 seems to be a coredump-fix, so this test should probably be moved to somewhere where it can do a fresh_perl. I'm not sure whether it should or should not be expecting the "Can't modify constant item" that it gets. Also noticed a problem with the last test in the script. It was doing prints instead of warns, resulting in false ok for older perls: --- t/op/tie.t.orig Wed May 8 19:26:24 2002 +++ t/op/tie.t Thu May 9 16:38:48 2002 @@ -1,9 +1,12 @@ #!./perl -# This test harness will (eventually) test the "tie" functionality -# without the need for a *DBM* implementation. - -# Currently it only tests the untie warning +# Add new tests to the end with format: +# "########\n# test description\nTest code\nEXPECT\nWarn or die msgs (if any)\n" +# +# This test script does NOT test the output of the test code. It ONLY +# checks warnings or croaks. Todo tests should have TODO as the start +# of the description. Note also that warnings are not enabled: if you +# need to test a perl warning, enable its class in your test. chdir 't' if -d 't'; @INC = '../lib'; @@ -24,7 +27,7 @@ my($prog,$expected) = split(/\nEXPECT\n/, $_, 2); print("not ok $i # bad test format\n"), next unless defined $expected; - my ($testname) = $prog =~ /^(# .*)\n/; + my ($testname) = $prog =~ /^\n?(# .*)\n/; $testname ||= ''; eval "$prog" ; $status = $?; @@ -235,8 +238,8 @@ # correct unlocalisation of tied hashes (patch #16431) use Tie::Hash ; tie %tied, Tie::StdHash; -{ local $hash{'foo'} } print "exist1\n" if exists $hash{'foo'}; -{ local $tied{'foo'} } print "exist2\n" if exists $tied{'foo'}; -{ local $ENV{'foo'} } print "exist3\n" if exists $ENV{'foo'}; +{ local $hash{'foo'} } warn "plain hash bad unlocalize" if exists $hash{'foo'}; +{ local $tied{'foo'} } warn "tied hash bad unlocalize" if exists $tied{'foo'}; +{ local $ENV{'foo'} } warn "%ENV bad unlocalize" if exists $ENV{'foo'}; EXPECT End of Patch.Thread Previous | Thread Next