return $str;
}
+sub packet_compare_lists {
+ my ($expect, @result) = @_;
+ my $ix;
+ if (scalar @$expect != scalar @result) {
+ return undef;
+ }
+ for ($ix = 0; $ix < $#result; $ix++) {
+ if ($expect->[$ix] ne $result[$ix]) {
+ return undef;
+ }
+ }
+ return 1;
+}
+
sub packet_bin_read {
my $buffer;
my $bytes_read = read STDIN, $buffer, 4;
print $debug "START\n";
$debug->flush();
-( packet_txt_read() eq ( 0, "git-filter-client" ) ) || die "bad initialize";
-( packet_txt_read() eq ( 0, "version=2" ) ) || die "bad version";
-( packet_bin_read() eq ( 1, "" ) ) || die "bad version end";
+packet_compare_lists([0, "git-filter-client"], packet_txt_read()) ||
+ die "bad initialize";
+packet_compare_lists([0, "version=2"], packet_txt_read()) ||
+ die "bad version";
+packet_compare_lists([1, ""], packet_bin_read()) ||
+ die "bad version end";
packet_txt_write("git-filter-server");
packet_txt_write("version=2");
packet_flush();
-( packet_txt_read() eq ( 0, "capability=clean" ) ) || die "bad capability";
-( packet_txt_read() eq ( 0, "capability=smudge" ) ) || die "bad capability";
-( packet_txt_read() eq ( 0, "capability=delay" ) ) || die "bad capability";
-( packet_bin_read() eq ( 1, "" ) ) || die "bad capability end";
+packet_compare_lists([0, "capability=clean"], packet_txt_read()) ||
+ die "bad capability";
+packet_compare_lists([0, "capability=smudge"], packet_txt_read()) ||
+ die "bad capability";
+packet_compare_lists([0, "capability=delay"], packet_txt_read()) ||
+ die "bad capability";
+packet_compare_lists([1, ""], packet_bin_read()) ||
+ die "bad capability end";
foreach (@capabilities) {
packet_txt_write( "capability=" . $_ );