summaryrefslogtreecommitdiff
path: root/t/perf/p5601-clone-reference.sh
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2019-08-12 15:58:03 (GMT)
committerJunio C Hamano <gitster@pobox.com>2019-08-12 16:05:13 (GMT)
commit362f8b280c0cdf2b7bbb0a8575e617a105f0a3ff (patch)
treed8d96c649eac5b6d538c809b8443720345b575f8 /t/perf/p5601-clone-reference.sh
parent2e27de94d485a6da0c8e264c165e55100f1a13a8 (diff)
downloadgit-362f8b280c0cdf2b7bbb0a8575e617a105f0a3ff.zip
git-362f8b280c0cdf2b7bbb0a8575e617a105f0a3ff.tar.gz
git-362f8b280c0cdf2b7bbb0a8575e617a105f0a3ff.tar.bz2
t/perf: rename duplicate-numbered test script
There are two perf scripts numbered p5600, but with otherwise different names ("clone-reference" versus "partial-clone"). We store timing results in files named after the whole script, so internally we don't get confused between the two. But "aggregate.perl" just prints the test number for each result, giving multiple entries for "5600.3". It also makes it impossible to skip one test but not the other with GIT_SKIP_TESTS. Let's renumber the one that appeared later (by date -- the source of the problem is that the two were developed on independent branches). For the non-perf test suite, our test-lint rule would have complained about this when the two were merged, but t/perf never learned that trick. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/perf/p5601-clone-reference.sh')
-rwxr-xr-xt/perf/p5601-clone-reference.sh27
1 files changed, 27 insertions, 0 deletions
diff --git a/t/perf/p5601-clone-reference.sh b/t/perf/p5601-clone-reference.sh
new file mode 100755
index 0000000..68fed66
--- /dev/null
+++ b/t/perf/p5601-clone-reference.sh
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+test_description='speed of clone --reference'
+. ./perf-lib.sh
+
+test_perf_default_repo
+
+test_expect_success 'create shareable repository' '
+ git clone --bare . shared.git
+'
+
+test_expect_success 'advance base repository' '
+ # Do not use test_commit here; its test_tick will
+ # use some ancient hard-coded date. The resulting clock
+ # skew will cause pack-objects to traverse in a very
+ # sub-optimal order, skewing the results.
+ echo content >new-file-that-does-not-exist &&
+ git add new-file-that-does-not-exist &&
+ git commit -m "new commit"
+'
+
+test_perf 'clone --reference' '
+ rm -rf dst.git &&
+ git clone --no-local --bare --reference shared.git . dst.git
+'
+
+test_done