Skip to contentSkip to conversation

t2106 vs. the default branch name

PATCH In review Johannes Schindelin via GitGitGadget 3 participants 9 messages Nov 18, 2020

lore
Share & tools
lore
#0 lore raw

cover t2106 vs. the default branch name

Yet another thing I noticed while working on
https://github.com/gitgitgadget/git/pull/762.

Johannes Schindelin (3):
t2106: adjust style to the current conventions
t2106: make test independent of the current main branch name
t2106: ensure that the checkout fails for the expected reason

 t/t2106-update-index-assume-unchanged.sh | 31 +++++++++++++-----------
 1 file changed, 17 insertions(+), 14 deletions(-)

base-commit: e31aba42fb12bdeb0f850829e008e1e3f43af500
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-792%2Fdscho%2Ft2106-and-default-branch-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-792/dscho/t2106-and-default-branch-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/792

Signature · 1 line
gitgitgadget
#1 lore raw

PATCH 1/3 t2106: adjust style to the current conventions

From: Johannes Schindelin <[email protected]>

We settled on the style where the test cases' code starts by the opening single quote being on the test_expect_* line, and the closing quote being in its own line after the code.

---
 t/t2106-update-index-assume-unchanged.sh | 30 +++++++++++++-----------
 1 file changed, 16 insertions(+), 14 deletions(-)
t/t2106-update-index-assume-unchanged.sh +16 -14
index 99d858c6b7..ff0947f388 100755
@@ -5,20 +5,22 @@ test_description='git update-index --assume-unchanged test.
 
 . ./test-lib.sh
 
-test_expect_success 'setup' \
-	': >file &&
-	 git add file &&
-	 git commit -m initial &&
-	 git branch other &&
-	 echo upstream >file &&
-	 git add file &&
-	 git commit -m upstream'
+test_expect_success 'setup' '
+	: >file &&
+	git add file &&
+	git commit -m initial &&
+	git branch other &&
+	echo upstream >file &&
+	git add file &&
+	git commit -m upstream
+'
 
-test_expect_success 'do not switch branches with dirty file' \
-	'git reset --hard &&
-	 git checkout other &&
-	 echo dirt >file &&
-	 git update-index --assume-unchanged file &&
-	 test_must_fail git checkout master'
+test_expect_success 'do not switch branches with dirty file' '
+	git reset --hard &&
+	git checkout other &&
+	echo dirt >file &&
+	git update-index --assume-unchanged file &&
+	test_must_fail git checkout master
+'
 
 test_done
Signature · 1 line
gitgitgadget
#2 lore raw

PATCH 2/3 t2106: make test independent of the current main branch name

In reply to Johannes Schindelin via GitGitGadget

From: Johannes Schindelin <[email protected]>

We do have this wonderful shortcut git checkout - to go back to the previous branch, thanks to the reflog.

---
 t/t2106-update-index-assume-unchanged.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
t/t2106-update-index-assume-unchanged.sh +1 -1
index ff0947f388..3396f23363 100755
@@ -20,7 +20,7 @@ test_expect_success 'do not switch branches with dirty file' '
 	git checkout other &&
 	echo dirt >file &&
 	git update-index --assume-unchanged file &&
-	test_must_fail git checkout master
+	test_must_fail git checkout -
 '
 
 test_done
Signature · 1 line
gitgitgadget
#3 lore raw

Re: [PATCH 2/3] t2106: make test independent of the current main branch name

"Johannes Schindelin via GitGitGadget" <[email protected]>

Quoted 4 lines · writes:

From: Johannes Schindelin <[email protected]>

We do have this wonderful shortcut git checkout - to go back to the previous branch, thanks to the reflog.

;-)

Quoted 19 lines
---
 t/t2106-update-index-assume-unchanged.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
t/t2106-update-index-assume-unchanged.sh +1 -1
index ff0947f388..3396f23363 100755
@@ -20,7 +20,7 @@ test_expect_success 'do not switch branches with dirty file' '
 	git checkout other &&
 	echo dirt >file &&
 	git update-index --assume-unchanged file &&
-	test_must_fail git checkout master
+	test_must_fail git checkout -
 '
 
 test_done
#4 lore raw

PATCH 3/3 t2106: ensure that the checkout fails for the expected reason

In reply to Johannes Schindelin via GitGitGadget

From: Johannes Schindelin <[email protected]>

During the transition of the test suite to a new default branch name, it was noticed that this test case succeeded for the wrong reason when the default branch name was overridden.

While we fixed that in the previous commit, let's make sure that we look for a tell-tale in the error message that the git checkout failed for the reason we wanted it to fail.

---
 t/t2106-update-index-assume-unchanged.sh | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
t/t2106-update-index-assume-unchanged.sh +2 -1
index 3396f23363..2d450daf5c 100755
@@ -20,7 +20,8 @@ test_expect_success 'do not switch branches with dirty file' '
 	git checkout other &&
 	echo dirt >file &&
 	git update-index --assume-unchanged file &&
-	test_must_fail git checkout -
+	test_must_fail git checkout - 2>err &&
+	test_i18ngrep overwritten err
 '
 
 test_done
Signature · 1 line
gitgitgadget
#5 lore raw
In reply to Johannes Schindelin via GitGitGadget

"Johannes Schindelin via GitGitGadget" <[email protected]>

Quoted 10 lines · writes:

Yet another thing I noticed while working on
https://github.com/gitgitgadget/git/pull/762.

Johannes Schindelin (3):
t2106: adjust style to the current conventions
t2106: make test independent of the current main branch name
t2106: ensure that the checkout fails for the expected reason

 t/t2106-update-index-assume-unchanged.sh | 31 +++++++++++++-----------
 1 file changed, 17 insertions(+), 14 deletions(-)

This seems to partly replicate and partly deprecate what is in that final stretch 27-or-28 patch series does to the same test script. Are we taking this and then removing a patch or two from that larger series?

#6 lore raw

Hi Junio,

Quoted 11 lines · Junio C Hamano

"Johannes Schindelin via GitGitGadget" <[email protected]>

Quoted 8 lines · writes:

Yet another thing I noticed while working on
https://github.com/gitgitgadget/git/pull/762.

Johannes Schindelin (3):
t2106: adjust style to the current conventions
t2106: make test independent of the current main branch name
t2106: ensure that the checkout fails for the expected reason

Quoted 7 lines
Quoted 2 lines
 t/t2106-update-index-assume-unchanged.sh | 31 +++++++++++++-----------
 1 file changed, 17 insertions(+), 14 deletions(-)

This seems to partly replicate and partly deprecate what is in that final stretch 27-or-28 patch series does to the same test script. Are we taking this and then removing a patch or two from that larger series?

Sorry, I meant to explain my current thinking: for v3, I want to accommodate your wish (to mark every test script with the hard-coded default branch name individually, and only those test scripts that actually need to hard-code it). It is not only to fulfill your wish, I got genuinely curious what would actually be needed to make that happen.

The four test scripts for which I sent patch series in the past hours to remove the use of the name master won't be touched by v3 of this here patch series at all (because it won't be necessary anymore).

Ciao,
Dscho

#7 lore raw
Quoted 3 lines · Johannes Schindelin

The four test scripts for which I sent patch series in the past hours to remove the use of the name master won't be touched by v3 of this here patch series at all (because it won't be necessary anymore).

Ah, OK. I somehow had an impression that the big series was more or less done but rethinking the structure and ejecting these changes to tests that do not care what name the "init" uses by default from the series makes a lot of sense.

Thanks.

#8 lore raw

Hi Junio,

Quoted 9 lines · Junio C Hamano
Quoted 3 lines · Johannes Schindelin

The four test scripts for which I sent patch series in the past hours to remove the use of the name master won't be touched by v3 of this here patch series at all (because it won't be necessary anymore).

Ah, OK. I somehow had an impression that the big series was more or less done

Me, too. And if I had listened to certain people who claim that lazy programmers are the best programmers, I would have stopped there, too.

Quoted 3 lines

but rethinking the structure and ejecting these changes to tests that do not care what name the "init" uses by default from the series makes a lot of sense.

Yep.

Ciao,
Dscho