Thread (8 messages) flat view 8 messages, 2 authors, 2016-06-15

Re: [PATCH] t5561: get rid of racy appending to logfile

From: Jeff King <hidden>
Date: 2016-06-15 23:06:40

On Thu, Sep 24, 2015 at 02:20:17AM +0200, Stephan Beyer wrote:
The definition of log_div() appended information to the web server's
logfile to make the test more readable. However, it could happen that
this information is written before the web server writes its log line
(this consistently happens with a PROFILE=GEN build), and hence the
test failed.
I don't know if you want to add more detail here or not, but I believe
the race is based on the amount of time between git-http-backend
finishes serving the request, and when the process exits. We run
log_div() as soon as the first is done, but Apache waits for the latter
to flush out the logfile. And PROFILE=GEN lengthens that time.
To get rid of this behavior, the logfile is not touched at all. This
commit removes log_div() and its calls. The readability-improving
information is kept in the test but filtered out before comparing
it to the actual logfile.

Signed-off-by: Stephan Beyer <redacted>
---
 t/t5560-http-backend-noserver.sh |  4 ----
 t/t5561-http-backend.sh          |  8 +-------
 t/t556x_common                   | 12 ------------
 3 files changed, 1 insertion(+), 23 deletions(-)
This looks good to me.

I'd have written the grep as:
-cat >exp <<EOF
+grep -e '^[GP]' >exp <<EOF
grep '^[^#]' >exp <<EOF

to exclude blank lines and comments, but I doubt it matters in practice
(I cannot imagine any line except GET or POST here).

-Peff
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help