mirror of
https://github.com/git-for-windows/git.git
synced 2026-03-17 22:19:19 -05:00
p7519: add fsmonitor--daemon
Repeat all of the fsmonitor perf tests using `git fsmonitor--daemon` and the "Simple IPC" interface. Signed-off-by: Jeff Hostetler <jeffhost@microsoft.com>
This commit is contained in:
committed by
Johannes Schindelin
parent
2f147c4df9
commit
da7c67f194
@@ -24,7 +24,8 @@ test_description="Test core.fsmonitor"
|
||||
# GIT_PERF_7519_SPLIT_INDEX: used to configure core.splitIndex
|
||||
# GIT_PERF_7519_FSMONITOR: used to configure core.fsMonitor. May be an
|
||||
# absolute path to an integration. May be a space delimited list of
|
||||
# absolute paths to integrations.
|
||||
# absolute paths to integrations. (This hook or list of hooks does not
|
||||
# include the built-in fsmonitor--daemon.)
|
||||
#
|
||||
# The big win for using fsmonitor is the elimination of the need to scan the
|
||||
# working directory looking for changed and untracked files. If the file
|
||||
@@ -135,10 +136,16 @@ test_expect_success "one time repo setup" '
|
||||
|
||||
setup_for_fsmonitor() {
|
||||
# set INTEGRATION_SCRIPT depending on the environment
|
||||
if test -n "$INTEGRATION_PATH"
|
||||
if test -n "$USE_FSMONITOR_DAEMON"
|
||||
then
|
||||
git config core.useBuiltinFSMonitor true &&
|
||||
INTEGRATION_SCRIPT=false
|
||||
elif test -n "$INTEGRATION_PATH"
|
||||
then
|
||||
git config core.useBuiltinFSMonitor false &&
|
||||
INTEGRATION_SCRIPT="$INTEGRATION_PATH"
|
||||
else
|
||||
git config core.useBuiltinFSMonitor false &&
|
||||
#
|
||||
# Choose integration script based on existence of Watchman.
|
||||
# Fall back to an empty integration script.
|
||||
@@ -281,4 +288,30 @@ test_expect_success "setup without fsmonitor" '
|
||||
test_fsmonitor_suite
|
||||
trace_stop
|
||||
|
||||
#
|
||||
# Run a full set of perf tests using the built-in fsmonitor--daemon.
|
||||
# It does not use the Hook API, so it has a different setup.
|
||||
# Explicitly start the daemon here and before we start client commands
|
||||
# so that we can later add custom tracing.
|
||||
#
|
||||
|
||||
test_lazy_prereq HAVE_FSMONITOR_DAEMON '
|
||||
git version --build-options | grep "feature:" | grep "fsmonitor--daemon"
|
||||
'
|
||||
|
||||
if test_have_prereq HAVE_FSMONITOR_DAEMON
|
||||
then
|
||||
USE_FSMONITOR_DAEMON=t
|
||||
|
||||
trace_start fsmonitor--daemon--server
|
||||
git fsmonitor--daemon --start
|
||||
|
||||
trace_start fsmonitor--daemon--client
|
||||
test_expect_success "setup for fsmonitor--daemon" 'setup_for_fsmonitor'
|
||||
test_fsmonitor_suite
|
||||
|
||||
git fsmonitor--daemon --stop
|
||||
trace_stop
|
||||
fi
|
||||
|
||||
test_done
|
||||
|
||||
Reference in New Issue
Block a user