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 08:12:22PM +0200, Stephan Beyer wrote:
The definition of log_div() appended information to the web server's logfile to make the test more readable. However, log_div() was called right after a request is served (which is done by git-http-backend); the web server waits for the git-http-backend process to exit before it writes to the log file. When the duration between serving a request and exiting was long, the log_div() output was written before the last request's log, and the test failed. (This duration could become especially long for PROFILE=GEN builds.) To get rid of this behavior, we should not change the logfile at all. This commit removes log_div() and its calls. The additional information is kept in the test (for readability reasons) but filtered out before comparing it to the actual logfile. Signed-off-by: Stephan Beyer <redacted> --- Okay Peff, I added the information to the commit message (in my own words). Past tense for the situation before the patch, present tense for the situation after (hope that's right but should not be too important). I also used your proposed grep line because it is probably more robust.
This all looks good to me. Thanks so much for working on this.
-cat >exp <<EOF +grep '^[^#]' >exp <<EOF
One quick note for others who are reviewing: this violates our usual advice to use "<<-\EOF" for here-docs, but I think it's best as-is. We can't use "\" here because we _do_ want interpolation. The reason to use "<<-" is to match indentation with the rest of the test block. This particular content is outside a test block, which is something we typically avoid. But in this case, the expected content is essentially the whole of the script, and I think it reads a little more easily outside. So I don't think there is anything to change, but I wanted to point out my thought process so other reviewers don't end up repeating it. -Peff