Meta/Dothem: --breaking builds and tests with BREAKING_CHANGES enabled

Junio C Hamano committed Sep 5, 2025 at 15:50 UTC 0a2e649da773651bb0002635318d9f69dedab395
1 file changed +15 -13
Dothem
+15 -13
@@ -26,7 +26,9 @@ inst_prefix=$(
26 )
27
28 force= with_dash= test_long= M= install= doc= notest= bootstrap= branches= jobs=
29 -scratch= noprove= memtrash=--memtrash with_cocci= with_leaks= with_sha256= san= clean= with_meson=
29 +scratch= noprove= memtrash=--memtrash with_cocci= with_leaks= with_sha256= san=
30 +clean= with_meson= breaking=
31 +
32 while case "$1" in
33 --pedantic | --locale=* | --loose) M="$M $1" ;;
34 --force) force=$1 ;;
@@ -44,6 +46,7 @@ while case "$1" in
46 --memtrash) memtrash=--memtrash ;;
47 --test=*) test="$1" ;;
48 --scratch) scratch=y ;;
49 + --breaking) breaking=breaking ;;
50 --bootstrap) bootstrap=y ;;
51 --base=*) BUILDBASE=${1#*=} ;;
52 --branches=*) branches=${1#*=} ;;
@@ -278,7 +281,7 @@ do
281 section SANITIZE=address,undefined
282 SANITIZE=address,undefined Meta/Make $M $jobs test &&
283 Meta/Make >/dev/null distclean
281 - elif test "$with_leaks$with_sha256$dotest" = test
284 + elif test "$breaking$with_leaks$with_sha256$dotest" = test
285 then
286 section test
287 Meta/Make $M $noprove ${test+"$test"} $jobs $test_long \
@@ -287,20 +290,19 @@ do
290 elif test -n "$with_leaks"
291 then
292 section leaks
290 - (
291 - export SANITIZE=leak
292 - export GIT_TEST_PASSING_SANITIZE_LEAK=true
293 - Meta/Make -j16 $T CC=clang test &&
294 - Meta/Make -j16 >/dev/null distclean
295 - )
293 + SANITIZE=leak \
294 + GIT_TEST_PASSING_SANITIZE_LEAK=true \
295 + Meta/Make -j16 $T CC=clang test &&
296 + Meta/Make >/dev/null distclean
297 elif test -n "$with_sha256"
298 then
299 section sha256
299 - (
300 - export GIT_TEST_DEFAULT_HASH=sha256
301 - Meta/Make -j16 $T test &&
302 - Meta/Make >/dev/null distclean
303 - )
300 + GIT_TEST_DEFAULT_HASH=sha256 Meta/Make -j16 $T test
301 + elif test -n "$breaking"
302 + then
303 + section breaking
304 + Meta/Make -j16 WITH_BREAKING_CHANGES=YesPlease test &&
305 + Meta/Make >/dev/null distclean
306 fi &&
307
308 # docs