diff options
Diffstat (limited to 't/perf/p0071-sort.sh')
-rwxr-xr-x | t/perf/p0071-sort.sh | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/t/perf/p0071-sort.sh b/t/perf/p0071-sort.sh new file mode 100755 index 0000000..ae4ddac --- /dev/null +++ b/t/perf/p0071-sort.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +test_description='Basic sort performance tests' +. ./perf-lib.sh + +test_perf_default_repo + +test_expect_success 'setup' ' + git ls-files --stage "*.[ch]" "*.sh" | + cut -f2 -d" " | + git cat-file --batch >unsorted +' + +test_perf 'sort(1) unsorted' ' + sort <unsorted >sorted +' + +test_expect_success 'reverse' ' + sort -r <unsorted >reversed +' + +for file in sorted reversed +do + test_perf "sort(1) $file" " + sort <$file >actual + " +done + +for file in unsorted sorted reversed +do + + test_perf "string_list_sort() $file" " + test-tool string-list sort <$file >actual + " + + test_expect_success "string_list_sort() $file sorts like sort(1)" " + test_cmp_bin sorted actual + " +done + +for file in unsorted sorted reversed +do + test_perf "DEFINE_LIST_SORT $file" " + test-tool mergesort sort <$file >actual + " + + test_expect_success "DEFINE_LIST_SORT $file sorts like sort(1)" " + test_cmp_bin sorted actual + " +done + +test_done |