44 lines
962 B
Bash
Executable File
44 lines
962 B
Bash
Executable File
#!/bin/sh
|
|
|
|
test_description="Performance tests for git stash -p"
|
|
|
|
. ./perf-lib.sh
|
|
|
|
test_perf_fresh_repo
|
|
|
|
test_expect_success "setup" '
|
|
mkdir files &&
|
|
test_seq 1 100000 | while read i; do
|
|
echo "content $i" >files/$i.txt || return 1
|
|
done &&
|
|
git add files/ &&
|
|
git commit -q -m "add tracked files" &&
|
|
echo modified >files/1.txt
|
|
'
|
|
|
|
test_perf "stash -p, no fsmonitor" \
|
|
--setup 'echo modified >files/1.txt' '
|
|
printf "q\n" | git stash -p >/dev/null 2>&1 || true
|
|
'
|
|
|
|
if test_have_prereq FSMONITOR_DAEMON
|
|
then
|
|
test_expect_success "enable builtin fsmonitor" '
|
|
git config core.fsmonitor true &&
|
|
git fsmonitor--daemon start &&
|
|
git update-index --fsmonitor &&
|
|
git status >/dev/null 2>&1
|
|
'
|
|
|
|
test_perf "stash -p, builtin fsmonitor" \
|
|
--setup 'echo modified >files/1.txt && git status >/dev/null 2>&1' '
|
|
printf "q\n" | git stash -p >/dev/null 2>&1 || true
|
|
'
|
|
|
|
test_expect_success "stop builtin fsmonitor" '
|
|
git fsmonitor--daemon stop
|
|
'
|
|
fi
|
|
|
|
test_done
|