I will investigate which commit caused the breakages, but in the meantime here is the op/taint.t dump output, confirming that ${^TAINT} has indeed been written to:
C:\Dev\Git\perl\t>..\perl harness op\taint.t op/taint.t .. 1/797 SV = PVMG(0x7afa7c) at 0x7d12cc REFCNT = 1 FLAGS = (GMG,SMG,IOK,pIOK) IV = 1 NV = 0 PV = 0 MAGIC = 0x7c275c MG_VIRTUAL = &PL_vtbl_sv MG_TYPE = PERL_MAGIC_sv(\0) MG_OBJ = 0x7d12bc MG_LEN = 5 MG_PTR = 0x7d1fcc "\24AINT" SV = PVMG(0x7afa7c) at 0x7d12cc REFCNT = 1 FLAGS = (GMG,SMG,IOK,pIOK) IV = 0 NV = 0 PV = 0 MAGIC = 0x7c275c MG_VIRTUAL = &PL_vtbl_sv MG_TYPE = PERL_MAGIC_sv(\0) MG_OBJ = 0x7d12bc MG_LEN = 5 MG_PTR = 0x7d1fcc "\24AINT" # Failed test 592 - Assigning to ${^TAINT} fails at op/taint.t line 1648 # got '' # expected /(?^:^Modification of a read-only value attempted)/ op/taint.t .. Failed 1/797 subtests (less 46 skipped subtests: 750 okay) Test Summary Report ------------------- op/taint.t (Wstat: 0 Tests: 797 Failed: 1) Failed test: 592 Files=1, Tests=797, 0 wallclock secs ( 0.08 usr + 0.00 sys = 0.08 CPU) Result: FAIL On 12 August 2013 20:44, Father Chrysostomos <spr...@cpan.org> wrote: > Steve Hay wrote: >> t/re/pat.t, t/re/pat_thr.t, t/op/taint.t and >> dist/threads-shared/t/clone.t all fail (in a threaded build) at >> c9f1f591ba751b24222b22f1f3a6799db0ab0d1b (Read-only COWs), the first >> of your three merge commits. > > Thank you. Can you tell which commit in the branch caused it? > > What do you get if you dump ${^TAINT} before and after the attempt to > write to it? > > diff --git a/t/op/taint.t b/t/op/taint.t > index b521408..479db1d 100644 > --- a/t/op/taint.t > +++ b/t/op/taint.t > @@ -1643,8 +1643,10 @@ SKIP: { > > > is(${^TAINT}, 1, '$^TAINT is on'); > - > +use Devel::Peek; > +Dump ${^TAINT}; > eval { ${^TAINT} = 0 }; > +Dump ${^TAINT}; > is(${^TAINT}, 1, '$^TAINT is not assignable'); > like($@, qr/^Modification of a read-only value attempted/, > 'Assigning to ${^TAINT} fails'); >