| test_description='Basic sort performance tests' |
| test_expect_success 'setup' ' |
| git ls-files --stage "*.[ch]" "*.sh" | |
| git cat-file --batch >unsorted |
| test_perf 'sort(1) unsorted' ' |
| test_expect_success 'reverse' ' |
| sort -r <unsorted >reversed |
| for file in sorted reversed |
| test_perf "sort(1) $file" " |
| for file in unsorted sorted reversed |
| 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 |
| for file in unsorted sorted reversed |
| 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 |