]> git.ipfire.org Git - thirdparty/git.git/commitdiff
t: introduce WITH_BREAKING_CHANGES prerequisite
authorJunio C Hamano <gitster@pobox.com>
Tue, 11 Mar 2025 21:25:02 +0000 (14:25 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 12 Mar 2025 15:48:21 +0000 (08:48 -0700)
Earlier c5bc9a7f (Makefile: wire up build option for deprecated
features, 2025-01-22) made an unfortunate decision to introduce the
WITHOUT_BREAKING_CHANGES prerequisite to perform tests that ensure
the historical behaviour that may be different from what we will
have in the future.  It would inevitably invite double-negation when
we need to add tests to ensure the behaviour we want to have in the
future.

Introduce WITH_BREAKING_CHANGES prerequisite and replace the
existing uses of WITHOUT_BREAKING_CHANGES prerequisite.  To catch
any future topics that add more uses of WITHOUT_BREAKING_CHANGES,
mark it as a removed prerequisite.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t5323-pack-redundant.sh
t/t5505-remote.sh
t/t5515-fetch-merge-logic.sh
t/t5516-fetch-push.sh
t/test-lib.sh

index 688cd9706c876a7edcaf0bcd642ae08ece188d4d..bc30bc9652d734e80205e06cd2198464a37ee1e1 100755 (executable)
@@ -36,7 +36,7 @@ relationship between packs and objects is as follows:
 
 . ./test-lib.sh
 
-if ! test_have_prereq WITHOUT_BREAKING_CHANGES
+if test_have_prereq WITH_BREAKING_CHANGES
 then
        skip_all='skipping git-pack-redundant tests; built with breaking changes'
        test_done
index bb7e0c6879ed8a694b66ab2c9324beb39b34251a..82fccf8e360e130a5d3800932942625106e11f6a 100755 (executable)
@@ -1123,7 +1123,7 @@ Pull: refs/heads/main:refs/heads/origin
 Pull: refs/heads/next:refs/heads/origin2
 EOF
 
-test_expect_success WITHOUT_BREAKING_CHANGES 'migrate a remote from named file in $GIT_DIR/remotes' '
+test_expect_success !WITH_BREAKING_CHANGES 'migrate a remote from named file in $GIT_DIR/remotes' '
        git clone one five &&
        origin_url=$(pwd)/one &&
        (
@@ -1149,7 +1149,7 @@ test_expect_success WITHOUT_BREAKING_CHANGES 'migrate a remote from named file i
        )
 '
 
-test_expect_success WITHOUT_BREAKING_CHANGES 'migrate a remote from named file in $GIT_DIR/branches' '
+test_expect_success !WITH_BREAKING_CHANGES 'migrate a remote from named file in $GIT_DIR/branches' '
        git clone --template= one six &&
        origin_url=$(pwd)/one &&
        (
@@ -1165,7 +1165,7 @@ test_expect_success WITHOUT_BREAKING_CHANGES 'migrate a remote from named file i
        )
 '
 
-test_expect_success WITHOUT_BREAKING_CHANGES 'migrate a remote from named file in $GIT_DIR/branches (2)' '
+test_expect_success !WITH_BREAKING_CHANGES 'migrate a remote from named file in $GIT_DIR/branches (2)' '
        git clone --template= one seven &&
        (
                cd seven &&
index 4e6026c6114fb8367136173ea2b7fdbc0baa37fc..8ac04d742c2831a8262e7ff4f478a5cc4a7b3d64 100755 (executable)
@@ -104,7 +104,7 @@ test_expect_success setup '
        git config remote.config-glob.fetch refs/heads/*:refs/remotes/rem/* &&
        remotes="$remotes config-glob" &&
 
-       if test_have_prereq WITHOUT_BREAKING_CHANGES
+       if ! test_have_prereq WITH_BREAKING_CHANGES
        then
                mkdir -p .git/remotes &&
                cat >.git/remotes/remote-explicit <<-\EOF &&
index 85ed049627d2e6cf917ef1c7067c141c83779843..6e2b233157411b8f2e0708686993ecbb768cceb7 100755 (executable)
@@ -975,7 +975,7 @@ test_expect_success 'allow push to HEAD of non-bare repository (config)' '
        ! grep "warning: updating the current branch" stderr
 '
 
-test_expect_success WITHOUT_BREAKING_CHANGES 'fetch with branches' '
+test_expect_success !WITH_BREAKING_CHANGES 'fetch with branches' '
        mk_empty testrepo &&
        git branch second $the_first_commit &&
        git checkout second &&
@@ -991,7 +991,7 @@ test_expect_success WITHOUT_BREAKING_CHANGES 'fetch with branches' '
        git checkout main
 '
 
-test_expect_success WITHOUT_BREAKING_CHANGES 'fetch with branches containing #' '
+test_expect_success !WITH_BREAKING_CHANGES 'fetch with branches containing #' '
        mk_empty testrepo &&
        mkdir testrepo/.git/branches &&
        echo "..#second" > testrepo/.git/branches/branch2 &&
@@ -1005,7 +1005,7 @@ test_expect_success WITHOUT_BREAKING_CHANGES 'fetch with branches containing #'
        git checkout main
 '
 
-test_expect_success WITHOUT_BREAKING_CHANGES 'push with branches' '
+test_expect_success !WITH_BREAKING_CHANGES 'push with branches' '
        mk_empty testrepo &&
        git checkout second &&
 
@@ -1022,7 +1022,7 @@ test_expect_success WITHOUT_BREAKING_CHANGES 'push with branches' '
        )
 '
 
-test_expect_success WITHOUT_BREAKING_CHANGES 'push with branches containing #' '
+test_expect_success !WITH_BREAKING_CHANGES 'push with branches containing #' '
        mk_empty testrepo &&
 
        test_when_finished "rm -rf .git/branches" &&
index 9001ed3a6470a2b4d1ab27c4f26f35f356256fbe..fffbfb89eff80ab5247f4eafdd7b1e97e4430371 100644 (file)
@@ -1862,8 +1862,13 @@ test_lazy_prereq CURL '
        curl --version
 '
 
+test_lazy_prereq WITH_BREAKING_CHANGES '
+       test -n "$WITH_BREAKING_CHANGES"
+'
+
 test_lazy_prereq WITHOUT_BREAKING_CHANGES '
-       test -z "$WITH_BREAKING_CHANGES"
+       # Signal that this prereq should not be used.
+       exit 125
 '
 
 # SHA1 is a test if the hash algorithm in use is SHA-1.  This is both for tests