diff mbox series

[v14,02/10] t/t5505-remote: test failure of set-head

Message ID 20241121225757.3877852-3-bence@ferdinandy.com (mailing list archive)
State New
Headers show
Series set-head/fetch remote/HEAD updates | expand

Commit Message

Bence Ferdinandy Nov. 21, 2024, 10:55 p.m. UTC
The test coverage was missing a test for the failure branch of remote
set-head auto's output. Add the missing text and while we are at it,
correct a small grammatical mistake in the error's output ("setup" is
the noun, "set up" is the verb).

Signed-off-by: Bence Ferdinandy <bence@ferdinandy.com>
---

Notes:
    v14: new patch

 builtin/remote.c  |  2 +-
 t/t5505-remote.sh | 12 ++++++++++++
 2 files changed, 13 insertions(+), 1 deletion(-)

Comments

Junio C Hamano Nov. 22, 2024, 4:54 a.m. UTC | #1
Bence Ferdinandy <bence@ferdinandy.com> writes:

> -			result |= error(_("Could not setup %s"), buf.buf);
> +			result |= error(_("Could not set up %s"), buf.buf);

Good eyes.

> diff --git a/t/t5505-remote.sh b/t/t5505-remote.sh
> index 9b50276646..4e127bf5b8 100755
> --- a/t/t5505-remote.sh
> +++ b/t/t5505-remote.sh
> @@ -432,6 +432,18 @@ test_expect_success 'set-head --auto' '
>  	)
>  '
>  
> +test_expect_success REFFILES 'set-head --auto failure' '

Writing

	test_when_finished "rm -f test/.git/refs/remotes/origin/HEAD.lock" &&

here allows us not to worry about commands in the sequence before
the "rm" below failing unexpectedly.

> +	(
> +		cd test &&
> +		touch .git/refs/remotes/origin/HEAD.lock &&

> +		git remote set-head --auto origin 2>errormsg ||
> +		tail -n1 errormsg >output &&

Are we saying that it is OK for set-head not to fail here?  If not,
then this should be

		test_must_fail git remote set-head ... 2>err &&
		tail -n 1 err >actual &&

instead.

> +		rm .git/refs/remotes/origin/HEAD.lock &&
> +		echo "error: Could not set up refs/remotes/origin/HEAD" >expect &&
> +		test_cmp expect output
> +	)
> +'
> +
>  test_expect_success 'set-head --auto has no problem w/multiple HEADs' '
>  	(
>  		cd test &&
diff mbox series

Patch

diff --git a/builtin/remote.c b/builtin/remote.c
index 76670ddd8b..8a182439f2 100644
--- a/builtin/remote.c
+++ b/builtin/remote.c
@@ -1445,7 +1445,7 @@  static int set_head(int argc, const char **argv, const char *prefix)
 		if (!refs_ref_exists(get_main_ref_store(the_repository), buf2.buf))
 			result |= error(_("Not a valid ref: %s"), buf2.buf);
 		else if (refs_update_symref(get_main_ref_store(the_repository), buf.buf, buf2.buf, "remote set-head"))
-			result |= error(_("Could not setup %s"), buf.buf);
+			result |= error(_("Could not set up %s"), buf.buf);
 		else if (opt_a)
 			printf("%s/HEAD set to %s\n", argv[0], head_name);
 		free(head_name);
diff --git a/t/t5505-remote.sh b/t/t5505-remote.sh
index 9b50276646..4e127bf5b8 100755
--- a/t/t5505-remote.sh
+++ b/t/t5505-remote.sh
@@ -432,6 +432,18 @@  test_expect_success 'set-head --auto' '
 	)
 '
 
+test_expect_success REFFILES 'set-head --auto failure' '
+	(
+		cd test &&
+		touch .git/refs/remotes/origin/HEAD.lock &&
+		git remote set-head --auto origin 2>errormsg ||
+		tail -n1 errormsg >output &&
+		rm .git/refs/remotes/origin/HEAD.lock &&
+		echo "error: Could not set up refs/remotes/origin/HEAD" >expect &&
+		test_cmp expect output
+	)
+'
+
 test_expect_success 'set-head --auto has no problem w/multiple HEADs' '
 	(
 		cd test &&