mirror of
https://github.com/git/git.git
synced 2026-01-12 13:53:11 +09:00
p7519: allow running without watchman prereq
p7519 measures the performance of the fsmonitor code. To do this, it
uses the installed copy of Watchman. If Watchman isn't installed, a noop
integration script is installed in its place.
When in the latter mode, it is expected that the script should not write
a "last update token": in fact, it doesn't write anything at all since
the script is blank.
Commit 33226af42b (t/perf/fsmonitor: improve error message if typoing
hook name, 2020-10-26) made sure that running 'git update-index
--fsmonitor' did not write anything to stderr, but this is not the case
when using the empty Watchman script, since Git will complain that:
$ which watchman
watchman not found
$ cat .git/hooks/fsmonitor-empty
$ git -c core.fsmonitor=.git/hooks/fsmonitor-empty update-index --fsmonitor
warning: Empty last update token.
Prior to 33226af42b, the output wasn't checked at all, which allowed
this noop mode to work. But, 33226af42b breaks p7519 when running it
without a 'watchman(1)' on your system.
Handle this by only checking that the stderr is empty only when running
with a real watchman executable. Otherwise, assert that the error
message is the expected one when running in the noop mode.
Signed-off-by: Taylor Blau <me@ttaylorr.com>
Acked-by: Nipunn Koorapati <nipunn@dropbox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
36fa907d7a
commit
cc2d43be2b
@ -129,7 +129,12 @@ setup_for_fsmonitor() {
|
||||
|
||||
git config core.fsmonitor "$INTEGRATION_SCRIPT" &&
|
||||
git update-index --fsmonitor 2>error &&
|
||||
test_must_be_empty error # ensure no silent error
|
||||
if test_have_prereq WATCHMAN
|
||||
then
|
||||
test_must_be_empty error # ensure no silent error
|
||||
else
|
||||
grep "Empty last update token" error
|
||||
fi
|
||||
}
|
||||
|
||||
test_perf_w_drop_caches () {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user