| #!/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 |