t: adapt `test_copy_bytes()` to not use Perl
The `test_copy_bytes()` helper function copies up to N bytes from stdin to stdout. This is implemented using Perl, but it can be trivially adapted to instead use dd(1). Refactor the helper accordingly, which allows a bunch of tests to pass when Perl is not available. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>main
parent
2df6710097
commit
01486b5de8
|
@ -1640,17 +1640,7 @@ test_match_signal () {
|
|||
|
||||
# Read up to "$1" bytes (or to EOF) from stdin and write them to stdout.
|
||||
test_copy_bytes () {
|
||||
perl -e '
|
||||
my $len = $ARGV[1];
|
||||
while ($len > 0) {
|
||||
my $s;
|
||||
my $nread = sysread(STDIN, $s, $len);
|
||||
die "cannot read: $!" unless defined($nread);
|
||||
last unless $nread;
|
||||
print $s;
|
||||
$len -= $nread;
|
||||
}
|
||||
' - "$1"
|
||||
dd ibs=1 count="$1" 2>/dev/null
|
||||
}
|
||||
|
||||
# run "$@" inside a non-git directory
|
||||
|
|
Loading…
Reference in New Issue