[PATCH] test: add test for git bisect skip with --term* arguments
- From
Bagas Sanjaya <bagasdotme@gmail.com>
- Date
- Apr 20, 2021, 12:34 UTC
- Message-ID
- <20210420123435.35936-1-bagasdotme@gmail.com>
- In-Reply-To
- <20210418151459.GC10839@aaberge.net>
The current git bisect breakage happens when skipping in the middle of bisect session which is started with --term-new and --term-old arguments. This test expect that HEAD changes after skipping, in other words HEAD before and after skipping must be different.
Signed-off-by: Bagas Sanjaya <bagasdotme@gmail.com> --- NOTE: this patch is not intended for integrating into git.git, but rather this patch is written to demonstrate this breakage. I hope that the test can be added to t6030-bisect-porcelain.sh, and make this patch redundant.
t/t6031-bisect-skip.sh | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100755 t/t6031-bisect-skip.sh
diff --git a/t/t6031-bisect-skip.sh b/t/t6031-bisect-skip.sh new file mode 100755 index 0000000000..0dfc6f0928 --- /dev/null +++ b/t/t6031-bisect-skip.sh @@ -0,0 +1,36 @@ +#!/bin/sh + +# +# Copyright (c) 2021 Bagas Sanjaya +# + +test_description='Tests git bisect --skip' + +exec </dev/null + +GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main +export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME + +. ./test-lib.sh + +# hash variables +HASH_SKIPPED_FROM= +HASH_SKIPPED_TO= + +# initialize testing repo +init() { + for i in `seq 1 20`; do + echo $i >> test && + git add test && git commit -m $i + done +} + +init + +test_expect_success 'test moving HEAD when skip bisecting' ' + git bisect start --term-new=ok --term-old=whoops HEAD HEAD~9 && + HASH_SKIPPED_FROM=$(git rev-parse --verify HEAD) && + git bisect skip && + HASH_SKIPPED_TO=$(git rev-parse --verify HEAD) && + test $HASH_SKIPPED_FROM != $HASH_SKIPPED_TO +'
-- 2.25.1