From: Pete Wyckoff Date: Sun, 22 Apr 2012 02:16:08 GMT Subject: Re: [PATCH] git-remote-testgit: fix race when spawning fast-import Message-ID: <20120422021608.GA11892@padd.com> In-Reply-To: <20120421234211.GC20473@ecki> drizzd@aon.at wrote on Sun, 22 Apr 2012 01:42 +0200: > On Sat, Apr 21, 2012 at 07:45:55PM -0400, Pete Wyckoff wrote: > > > > @@ -258,6 +264,7 @@ def main(args): > > > > more = True > > > > + sys.stdin = os.fdopen(sys.stdin.fileno(), 'r', 0) > > while (more): > > more = read_one_line(repo) > > There's another read in do_import(). I am not sure if it also suffers > from this race condition, but it certainly has the potential. It just takes one reopen of stdin for the whole program. So that one is handled automatically too. > > +test_expect_success 'racily pushing to local repo' ' > > + cp -a server server2 && > > + git clone "testgit::${PWD}/server2" localclone2 && > > + test_when_finished "rm -rf server2 localclone2" && > > + (cd localclone2 && > > + echo content >>file && > > + git commit -a -m three && > > + GIT_REMOTE_TESTGIT_SLEEPY=2 git push) && > > + compare_refs localclone2 HEAD server2 HEAD > > +' > > Should this test be running unconditionally? It will delay the otherwise > almost instant test by 2 seconds. More like 6 seconds, in fact, for all three interactions in "git push". I'll change the test to add a prereq on TOOSLOW; is there a better way to leave a test in to document the issue, but have it skipped? -- Pete