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