From da87331b60ec182e939081eb16effa2b9aa8be3c Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Mon, 13 Nov 2023 13:15:42 +0000 Subject: [PATCH] spawn: don't append to scalarrefs on stdout/stderr None of our current code relies on it, and I can't imagine it's something we'd need in the future, actually... This keeps the door open for relying more on Spawn in TestCommon. --- lib/PublicInbox/Spawn.pm | 2 +- t/spawn.t | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/PublicInbox/Spawn.pm b/lib/PublicInbox/Spawn.pm index 849438bca..9c6806906 100644 --- a/lib/PublicInbox/Spawn.pm +++ b/lib/PublicInbox/Spawn.pm @@ -401,7 +401,7 @@ sub read_out_err ($) { seek($fh, 0, SEEK_SET); my $dst = $opt->{$fd}; $dst = $opt->{$fd} = $dst->[1] if ref($dst) eq 'ARRAY'; - PublicInbox::IO::read_all $fh, 0, $dst, length($$dst); + PublicInbox::IO::read_all $fh, 0, $dst } } diff --git a/t/spawn.t b/t/spawn.t index 3479b6b32..48f541b83 100644 --- a/t/spawn.t +++ b/t/spawn.t @@ -26,7 +26,7 @@ require PublicInbox::DS; is($out, 'in', 'stdin read and stdout captured'); $opt->{0} = \"IN\n3\nLINES"; my @out = run_qx(['sh', '-c', 'echo E >&2; cat'], undef, $opt); - is($e, "e\nE\n", 'captured stderr appended to string'); + is($e, "E\n", 'captured stderr clobbers string'); is_deeply(\@out, [ "IN\n", "3\n", 'LINES' ], 'stdout array'); } -- 2.47.2