t0021: write "OUT <size>" only on success

"rot13-filter.pl" always writes "OUT <size>" to the debug log at the end of a response. This works perfectly for the existing responses "abort", "error", and "success". A new response "delayed", that will be introduced in a subsequent patch, accepts the input without giving the filtered result right away. At this point we cannot know the size of the response. Therefore, we do not write "OUT <size>" for "delayed" responses. To simplify the code we do not write "OUT <size>" for "abort" and "error" responses either as their size is always zero. Signed-off-by: Lars Schneider <larsxschneider@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Lars Schneider committed Jun 28, 2017 at 23:29 UTC 1757333410177e2b783fa8b29cf116bd6171c5bb
2 files changed +6 -6
t/t0021-conversion.sh
+3 -3
@@ -588,7 +588,7 @@ test_expect_success PERL 'process filter should restart after unexpected write f
588 cat >expected.log <<-EOF &&
589 START
590 init handshake complete
591 - IN: smudge smudge-write-fail.r $SF [OK] -- OUT: $SF [WRITE FAIL]
591 + IN: smudge smudge-write-fail.r $SF [OK] -- [WRITE FAIL]
592 START
593 init handshake complete
594 IN: smudge test.r $S [OK] -- OUT: $S . [OK]
@@ -634,7 +634,7 @@ test_expect_success PERL 'process filter should not be restarted if it signals a
634 cat >expected.log <<-EOF &&
635 START
636 init handshake complete
637 - IN: smudge error.r $SE [OK] -- OUT: 0 [ERROR]
637 + IN: smudge error.r $SE [OK] -- [ERROR]
638 IN: smudge test.r $S [OK] -- OUT: $S . [OK]
639 IN: smudge test2.r $S2 [OK] -- OUT: $S2 . [OK]
640 STOP
@@ -673,7 +673,7 @@ test_expect_success PERL 'process filter abort stops processing of all further f
673 cat >expected.log <<-EOF &&
674 START
675 init handshake complete
676 - IN: smudge abort.r $SA [OK] -- OUT: 0 [ABORT]
676 + IN: smudge abort.r $SA [OK] -- [ABORT]
677 STOP
678 EOF
679 test_cmp_exclude_clean expected.log debug.log &&
t/t0021/rot13-filter.pl
+3 -3
@@ -153,9 +153,6 @@ while (1) {
153 die "bad command '$command'";
154 }
155
156 - print $debug "OUT: " . length($output) . " ";
157 - $debug->flush();
158 -
156 if ( $pathname eq "error.r" ) {
157 print $debug "[ERROR]\n";
158 $debug->flush();
@@ -178,6 +175,9 @@ while (1) {
175 die "${command} write error";
176 }
177
178 + print $debug "OUT: " . length($output) . " ";
179 + $debug->flush();
180 +
181 while ( length($output) > 0 ) {
182 my $packet = substr( $output, 0, $MAX_PACKET_CONTENT_SIZE );
183 packet_bin_write($packet);