This lets us one-line git commands easily like ``, but without
having to remember --git-dir or escape arguments.
popen_rd(\@cmd);
}
+sub qx {
+ my ($self, @cmd) = @_;
+ my $fh = $self->popen(@cmd);
+ return <$fh> if wantarray;
+ local $/;
+ <$fh>
+}
+
sub cleanup {
my ($self) = @_;
_destroy($self, qw(in out pid));
local $/;
is($all, <$fh>, 'entire read matches');
};
+
+ my $ref = $gcf->qx(qw(cat-file blob), $buf);
+ is($all, $ref, 'qx read giant single string');
+
+ my @ref = $gcf->qx(qw(cat-file blob), $buf);
+ is($all, join('', @ref), 'qx returned array when wanted');
+ my $nl = scalar @ref;
+ ok($nl > 1, "qx returned array length of $nl");
}
done_testing();