@@ -1097,11 +1097,71 @@ integration_tests = [
1097
1097
' t9903-bash-prompt.sh' ,
1098
1098
]
1099
1099
1100
+ benchmarks = [
1101
+ ' perf/p0000-perf-lib-sanity.sh' ,
1102
+ ' perf/p0001-rev-list.sh' ,
1103
+ ' perf/p0002-read-cache.sh' ,
1104
+ ' perf/p0003-delta-base-cache.sh' ,
1105
+ ' perf/p0004-lazy-init-name-hash.sh' ,
1106
+ ' perf/p0005-status.sh' ,
1107
+ ' perf/p0006-read-tree-checkout.sh' ,
1108
+ ' perf/p0007-write-cache.sh' ,
1109
+ ' perf/p0008-odb-fsync.sh' ,
1110
+ ' perf/p0071-sort.sh' ,
1111
+ ' perf/p0090-cache-tree.sh' ,
1112
+ ' perf/p0100-globbing.sh' ,
1113
+ ' perf/p1006-cat-file.sh' ,
1114
+ ' perf/p1400-update-ref.sh' ,
1115
+ ' perf/p1450-fsck.sh' ,
1116
+ ' perf/p1451-fsck-skip-list.sh' ,
1117
+ ' perf/p1500-graph-walks.sh' ,
1118
+ ' perf/p2000-sparse-operations.sh' ,
1119
+ ' perf/p3400-rebase.sh' ,
1120
+ ' perf/p3404-rebase-interactive.sh' ,
1121
+ ' perf/p4000-diff-algorithms.sh' ,
1122
+ ' perf/p4001-diff-no-index.sh' ,
1123
+ ' perf/p4002-diff-color-moved.sh' ,
1124
+ ' perf/p4205-log-pretty-formats.sh' ,
1125
+ ' perf/p4209-pickaxe.sh' ,
1126
+ ' perf/p4211-line-log.sh' ,
1127
+ ' perf/p4220-log-grep-engines.sh' ,
1128
+ ' perf/p4221-log-grep-engines-fixed.sh' ,
1129
+ ' perf/p5302-pack-index.sh' ,
1130
+ ' perf/p5303-many-packs.sh' ,
1131
+ ' perf/p5304-prune.sh' ,
1132
+ ' perf/p5310-pack-bitmaps.sh' ,
1133
+ ' perf/p5311-pack-bitmaps-fetch.sh' ,
1134
+ ' perf/p5312-pack-bitmaps-revs.sh' ,
1135
+ ' perf/p5313-pack-objects.sh' ,
1136
+ ' perf/p5314-name-hash.sh' ,
1137
+ ' perf/p5326-multi-pack-bitmaps.sh' ,
1138
+ ' perf/p5332-multi-pack-reuse.sh' ,
1139
+ ' perf/p5333-pseudo-merge-bitmaps.sh' ,
1140
+ ' perf/p5550-fetch-tags.sh' ,
1141
+ ' perf/p5551-fetch-rescan.sh' ,
1142
+ ' perf/p5600-partial-clone.sh' ,
1143
+ ' perf/p5601-clone-reference.sh' ,
1144
+ ' perf/p6100-describe.sh' ,
1145
+ ' perf/p6300-for-each-ref.sh' ,
1146
+ ' perf/p7000-filter-branch.sh' ,
1147
+ ' perf/p7102-reset.sh' ,
1148
+ ' perf/p7300-clean.sh' ,
1149
+ ' perf/p7519-fsmonitor.sh' ,
1150
+ ' perf/p7527-builtin-fsmonitor.sh' ,
1151
+ ' perf/p7810-grep.sh' ,
1152
+ ' perf/p7820-grep-engines.sh' ,
1153
+ ' perf/p7821-grep-engines-fixed.sh' ,
1154
+ ' perf/p7822-grep-perl-character.sh' ,
1155
+ ' perf/p9210-scalar.sh' ,
1156
+ ' perf/p9300-fast-import-export.sh' ,
1157
+ ]
1158
+
1100
1159
# Sanity check that we are not missing any tests present in 't/'. This check
1101
1160
# only runs once at configure time and is thus best-effort, only. It is
1102
1161
# sufficient to catch missing test suites in our CI though.
1103
1162
foreach glob, tests : {
1104
1163
' t[0-9][0-9][0-9][0-9]-*.sh' : integration_tests,
1164
+ ' perf/p[0-9][0-9][0-9][0-9]-*.sh' : benchmarks,
1105
1165
' unit-tests/t-*.c' : unit_test_programs,
1106
1166
' unit-tests/u-*.c' : clar_test_suites,
1107
1167
}
@@ -1153,3 +1213,20 @@ foreach integration_test : integration_tests
1153
1213
timeout : 0 ,
1154
1214
)
1155
1215
endforeach
1216
+
1217
+ if perl.found() and time.found()
1218
+ benchmark_environment = test_environment
1219
+ benchmark_environment.set(' GTIME' , time.full_path())
1220
+
1221
+ foreach benchmark : benchmarks
1222
+ benchmark (fs.stem(benchmark), shell,
1223
+ args : [
1224
+ fs.name(benchmark),
1225
+ ],
1226
+ workdir : meson .current_source_dir() / ' perf' ,
1227
+ env : benchmark_environment,
1228
+ depends : test_dependencies + bin_wrappers,
1229
+ timeout : 0 ,
1230
+ )
1231
+ endforeach
1232
+ endif
0 commit comments