diff options
Diffstat (limited to 't/t0021')
-rw-r--r-- | t/t0021/rot13-filter.pl | 35 |
1 files changed, 28 insertions, 7 deletions
diff --git a/t/t0021/rot13-filter.pl b/t/t0021/rot13-filter.pl index ad685d92f8..4b2d9087d4 100644 --- a/t/t0021/rot13-filter.pl +++ b/t/t0021/rot13-filter.pl @@ -55,6 +55,20 @@ sub rot13 { 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; @@ -110,18 +124,25 @@ sub packet_flush { 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=" . $_ ); |