t9300: factor out portable "head -c" replacement
[gitweb.git] / t / test-lib-functions.sh
index 48884d520813998a735d89d406b45c63b0bf748d..90856d67e52dcdaabd13e78abd29c7c3d3949643 100644 (file)
@@ -961,3 +961,17 @@ test_env () {
                done
        )
 }
+
+# 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);
+                       print $s;
+                       $len -= $nread;
+               }
+       ' - "$1"
+}