mbox series

[0/2] Reduce explicit sleep calls in t7063 untracked cache tests

Message ID pull.1166.git.1646041236.gitgitgadget@gmail.com (mailing list archive)
Headers show
Series Reduce explicit sleep calls in t7063 untracked cache tests | expand

Message

Philippe Blain via GitGitGadget Feb. 28, 2022, 9:40 a.m. UTC
As noted in a recent proposed patch to t/t7519-status-fsmonitor.sh, a number
of test cases in t\t7063-status-untracked-cache.sh explicitly sleep a
second, in order to avoid the untracked cache content being invalidated by
an mtime race condition.

Even though it's only 9 seconds of sleeping that can be straightforwardly
replaced, it seems worth fixing if possible.

Replace sleep calls with backdating of filesystem changes, but first fix the
test-tool chmtime functionality to work for directories in Windows.

I do have a question to the list here: Do mingw.c changes need to be
upstreamed somewhere? I don't understand the exact relationship between this
file and the MinGW project.

Tao Klerks (2):
  t/helper/test-chmtime: update mingw to support chmtime on directories
  t7063: mtime-mangling instead of delays in untracked cache testing

 compat/mingw.c                    | 33 ++++++++++++++++++++++++++-----
 t/t7063-status-untracked-cache.sh | 29 ++++++++++++++++-----------
 2 files changed, 45 insertions(+), 17 deletions(-)


base-commit: 4c53a8c20f8984adb226293a3ffd7b88c3f4ac1a
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1166%2FTaoK%2Ftaok-untracked-cache-testing-remote-waits-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1166/TaoK/taok-untracked-cache-testing-remote-waits-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/1166

Comments

Ævar Arnfjörð Bjarmason Feb. 28, 2022, 11:03 a.m. UTC | #1
On Mon, Feb 28 2022, Tao Klerks via GitGitGadget wrote:

> As noted in a recent proposed patch to t/t7519-status-fsmonitor.sh, a number
> of test cases in t\t7063-status-untracked-cache.sh explicitly sleep a
> second, in order to avoid the untracked cache content being invalidated by
> an mtime race condition.
>
> Even though it's only 9 seconds of sleeping that can be straightforwardly
> replaced, it seems worth fixing if possible.
>
> Replace sleep calls with backdating of filesystem changes, but first fix the
> test-tool chmtime functionality to work for directories in Windows.

Thanks, it will be nice to have that test run a bit faster in wallclock
terms.

> I do have a question to the list here: Do mingw.c changes need to be
> upstreamed somewhere? I don't understand the exact relationship between this
> file and the MinGW project.

No, it's 100% ours. We just put (somewhat inconsistently in some cases)
our own code that is only needed for "compat" with some "platforms" into
compat/*.

Well, somewhat/mostly, then "contrib/" is supposed to be third-party
imports, but some code in both is 100% ours, some is out-of-tree, some
is effectively perma-forked and has no "upstream" anymore etc.
Jeff Hostetler Feb. 28, 2022, 3:29 p.m. UTC | #2
On 2/28/22 4:40 AM, Tao Klerks via GitGitGadget wrote:
> As noted in a recent proposed patch to t/t7519-status-fsmonitor.sh, a number
> of test cases in t\t7063-status-untracked-cache.sh explicitly sleep a
> second, in order to avoid the untracked cache content being invalidated by
> an mtime race condition.
> 
> Even though it's only 9 seconds of sleeping that can be straightforwardly
> replaced, it seems worth fixing if possible.
> 
> Replace sleep calls with backdating of filesystem changes, but first fix the
> test-tool chmtime functionality to work for directories in Windows.
> 
> I do have a question to the list here: Do mingw.c changes need to be
> upstreamed somewhere? I don't understand the exact relationship between this
> file and the MinGW project.
> 
> Tao Klerks (2):
>    t/helper/test-chmtime: update mingw to support chmtime on directories
>    t7063: mtime-mangling instead of delays in untracked cache testing
> 
>   compat/mingw.c                    | 33 ++++++++++++++++++++++++++-----
>   t/t7063-status-untracked-cache.sh | 29 ++++++++++++++++-----------
>   2 files changed, 45 insertions(+), 17 deletions(-)
> 
> 
> base-commit: 4c53a8c20f8984adb226293a3ffd7b88c3f4ac1a
> Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1166%2FTaoK%2Ftaok-untracked-cache-testing-remote-waits-v1
> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1166/TaoK/taok-untracked-cache-testing-remote-waits-v1
> Pull-Request: https://github.com/gitgitgadget/git/pull/1166
> 

Thanks for working on this.  It would be nice to be able
to drop that commit (read: hack) from my fsmonitor series.

Jeff