@@ -1097,11 +1097,71 @@ integration_tests = [
10971097 ' t9903-bash-prompt.sh' ,
10981098]
10991099
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+
11001159# Sanity check that we are not missing any tests present in 't/'. This check
11011160# only runs once at configure time and is thus best-effort, only. It is
11021161# sufficient to catch missing test suites in our CI though.
11031162foreach glob, tests : {
11041163 ' 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,
11051165 ' unit-tests/t-*.c' : unit_test_programs,
11061166 ' unit-tests/u-*.c' : clar_test_suites,
11071167}
@@ -1153,3 +1213,20 @@ foreach integration_test : integration_tests
11531213 timeout : 0 ,
11541214 )
11551215endforeach
1216+
1217+ if 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