t0021: write "OUT <size>" only on success
authorLars Schneider <larsxschneider@gmail.com>
Wed, 28 Jun 2017 21:29:49 +0000 (23:29 +0200)
committerJunio C Hamano <gitster@pobox.com>
Thu, 29 Jun 2017 18:23:47 +0000 (11:23 -0700)
"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>
t/t0021-conversion.sh
t/t0021/rot13-filter.pl
index 0139b460e798e7aa17202f718725ad6d8ef298aa..0c04d346a149ee7c728e0807b5a3c6931cc5824a 100755 (executable)
@@ -588,7 +588,7 @@ test_expect_success PERL 'process filter should restart after unexpected write f
                cat >expected.log <<-EOF &&
                        START
                        init handshake complete
-                       IN: smudge smudge-write-fail.r $SF [OK] -- OUT: $SF [WRITE FAIL]
+                       IN: smudge smudge-write-fail.r $SF [OK] -- [WRITE FAIL]
                        START
                        init handshake complete
                        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
                cat >expected.log <<-EOF &&
                        START
                        init handshake complete
-                       IN: smudge error.r $SE [OK] -- OUT: 0 [ERROR]
+                       IN: smudge error.r $SE [OK] -- [ERROR]
                        IN: smudge test.r $S [OK] -- OUT: $S . [OK]
                        IN: smudge test2.r $S2 [OK] -- OUT: $S2 . [OK]
                        STOP
@@ -673,7 +673,7 @@ test_expect_success PERL 'process filter abort stops processing of all further f
                cat >expected.log <<-EOF &&
                        START
                        init handshake complete
-                       IN: smudge abort.r $SA [OK] -- OUT: 0 [ABORT]
+                       IN: smudge abort.r $SA [OK] -- [ABORT]
                        STOP
                EOF
                test_cmp_exclude_clean expected.log debug.log &&
index 0b943bb3776d2616a1c6793a7a31b6b6949fc8c6..5e43faeec15a0e2dbe8b449cac37945847ea5e4c 100644 (file)
@@ -153,9 +153,6 @@ sub packet_flush {
                die "bad command '$command'";
        }
 
-       print $debug "OUT: " . length($output) . " ";
-       $debug->flush();
-
        if ( $pathname eq "error.r" ) {
                print $debug "[ERROR]\n";
                $debug->flush();
@@ -178,6 +175,9 @@ sub packet_flush {
                        die "${command} write error";
                }
 
+               print $debug "OUT: " . length($output) . " ";
+               $debug->flush();
+
                while ( length($output) > 0 ) {
                        my $packet = substr( $output, 0, $MAX_PACKET_CONTENT_SIZE );
                        packet_bin_write($packet);