t/perf/p7519: add fsmonitor--daemon test cases
Repeat all of the fsmonitor perf tests using `git fsmonitor--daemon` and the "Simple IPC" interface. Signed-off-by: Jeff Hostetler <jeffhost@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
86f7433f97
commit
ad2b54e3e8
@ -141,7 +141,7 @@ test_expect_success "one time repo setup" '
|
|||||||
fi
|
fi
|
||||||
'
|
'
|
||||||
|
|
||||||
setup_for_fsmonitor () {
|
setup_for_fsmonitor_hook () {
|
||||||
# set INTEGRATION_SCRIPT depending on the environment
|
# set INTEGRATION_SCRIPT depending on the environment
|
||||||
if test -n "$INTEGRATION_PATH"
|
if test -n "$INTEGRATION_PATH"
|
||||||
then
|
then
|
||||||
@ -182,7 +182,11 @@ test_perf_w_drop_caches () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
test_fsmonitor_suite () {
|
test_fsmonitor_suite () {
|
||||||
if test -n "$INTEGRATION_SCRIPT"; then
|
if test -n "$USE_FSMONITOR_DAEMON"
|
||||||
|
then
|
||||||
|
DESC="builtin fsmonitor--daemon"
|
||||||
|
elif test -n "$INTEGRATION_SCRIPT"
|
||||||
|
then
|
||||||
DESC="fsmonitor=$(basename $INTEGRATION_SCRIPT)"
|
DESC="fsmonitor=$(basename $INTEGRATION_SCRIPT)"
|
||||||
else
|
else
|
||||||
DESC="fsmonitor=disabled"
|
DESC="fsmonitor=disabled"
|
||||||
@ -261,11 +265,11 @@ test_fsmonitor_suite () {
|
|||||||
trace_start fsmonitor-watchman
|
trace_start fsmonitor-watchman
|
||||||
if test -n "$GIT_PERF_7519_FSMONITOR"; then
|
if test -n "$GIT_PERF_7519_FSMONITOR"; then
|
||||||
for INTEGRATION_PATH in $GIT_PERF_7519_FSMONITOR; do
|
for INTEGRATION_PATH in $GIT_PERF_7519_FSMONITOR; do
|
||||||
test_expect_success "setup for fsmonitor $INTEGRATION_PATH" 'setup_for_fsmonitor'
|
test_expect_success "setup for fsmonitor $INTEGRATION_PATH" 'setup_for_fsmonitor_hook'
|
||||||
test_fsmonitor_suite
|
test_fsmonitor_suite
|
||||||
done
|
done
|
||||||
else
|
else
|
||||||
test_expect_success "setup for fsmonitor" 'setup_for_fsmonitor'
|
test_expect_success "setup for fsmonitor hook" 'setup_for_fsmonitor_hook'
|
||||||
test_fsmonitor_suite
|
test_fsmonitor_suite
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -293,4 +297,30 @@ test_expect_success "setup without fsmonitor" '
|
|||||||
test_fsmonitor_suite
|
test_fsmonitor_suite
|
||||||
trace_stop
|
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.
|
||||||
|
#
|
||||||
|
if test_have_prereq FSMONITOR_DAEMON
|
||||||
|
then
|
||||||
|
USE_FSMONITOR_DAEMON=t
|
||||||
|
|
||||||
|
test_expect_success "setup for builtin fsmonitor" '
|
||||||
|
trace_start fsmonitor--daemon--server &&
|
||||||
|
git fsmonitor--daemon start &&
|
||||||
|
|
||||||
|
trace_start fsmonitor--daemon--client &&
|
||||||
|
|
||||||
|
git config core.fsmonitor true &&
|
||||||
|
git update-index --fsmonitor
|
||||||
|
'
|
||||||
|
|
||||||
|
test_fsmonitor_suite
|
||||||
|
|
||||||
|
git fsmonitor--daemon stop
|
||||||
|
trace_stop
|
||||||
|
fi
|
||||||
|
|
||||||
test_done
|
test_done
|
||||||
|
Reference in New Issue
Block a user