git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v2 2/2] t: add tests for pull --verify-signatures

From
Hans Jerry Illikainen <hji@dyntopia.com>
Date
Dec 10, 2017, 06:53 UTC
Message-ID
<20171210065358.8156-2-hji@dyntopia.com>
In-Reply-To
<20171210065358.8156-1-hji@dyntopia.com>

Add tests for pull --verify-signatures with untrusted, bad and no signatures. Previously the only test for --verify-signatures was to make sure that pull --rebase --verify-signatures result in a warning (t5520-pull.sh).

Signed-off-by: Hans Jerry Illikainen <hji@dyntopia.com>
---
 t/t5573-pull-verify-signatures.sh | 78 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 78 insertions(+)
 create mode 100755 t/t5573-pull-verify-signatures.sh
diff --git a/t/t5573-pull-verify-signatures.sh b/t/t5573-pull-verify-signatures.sh
new file mode 100755
index 000000000..8ae331f40
--- /dev/null
+++ b/t/t5573-pull-verify-signatures.sh
@@ -0,0 +1,78 @@
+#!/bin/sh
+
+test_description='pull signature verification tests'
+. ./test-lib.sh
+. "$TEST_DIRECTORY/lib-gpg.sh"
+
+test_expect_success GPG 'create repositories with signed commits' '
+	echo 1 >a && git add a &&
+	test_tick && git commit -m initial &&
+	git tag initial &&
+
+	git clone . signed &&
+	(
+		cd signed &&
+		echo 2 >b && git add b &&
+		test_tick && git commit -S -m "signed"
+	) &&
+
+	git clone . unsigned &&
+	(
+		cd unsigned &&
+		echo 3 >c && git add c &&
+		test_tick && git commit -m "unsigned"
+	) &&
+
+	git clone . bad &&
+	(
+		cd bad &&
+		echo 4 >d && git add d &&
+		test_tick && git commit -S -m "bad" &&
+		git cat-file commit HEAD >raw &&
+		sed -e "s/bad/forged bad/" raw >forged &&
+		git hash-object -w -t commit forged >forged.commit &&
+		git checkout $(cat forged.commit)
+	) &&
+
+	git clone . untrusted &&
+	(
+		cd untrusted &&
+		echo 5 >e && git add e &&
+		test_tick && git commit -SB7227189 -m "untrusted"
+	)
+'
+
+test_expect_success GPG 'pull unsigned commit with --verify-signatures' '
+	test_must_fail git pull --ff-only --verify-signatures unsigned 2>pullerror &&
+	test_i18ngrep "does not have a GPG signature" pullerror
+'
+
+test_expect_success GPG 'pull commit with bad signature with --verify-signatures' '
+	test_must_fail git pull --ff-only --verify-signatures bad 2>pullerror &&
+	test_i18ngrep "has a bad GPG signature" pullerror
+'
+
+test_expect_success GPG 'pull commit with untrusted signature with --verify-signatures' '
+	test_must_fail git pull --ff-only --verify-signatures untrusted 2>pullerror &&
+	test_i18ngrep "has an untrusted GPG signature" pullerror
+'
+
+test_expect_success GPG 'pull signed commit with --verify-signatures' '
+	test_when_finished "git checkout initial" &&
+	git pull --verify-signatures signed >pulloutput &&
+	test_i18ngrep "has a good GPG signature" pulloutput
+'
+
+test_expect_success GPG 'pull commit with bad signature without verification' '
+	test_when_finished "git checkout initial" &&
+	git pull --ff-only bad 2>pullerror
+'
+
+test_expect_success GPG 'pull commit with bad signature with --no-verify-signatures' '
+	test_when_finished "git checkout initial" &&
+	test_config merge.verifySignatures true &&
+	test_config pull.verifySignatures true &&
+	git pull --ff-only --no-verify-signatures bad 2>pullerror
+'
+
+test_done
-- 
2.15.1.356.g13e4cf275
Previous: Hans Jerry IllikainenNext: Junio C Hamano
Message 10 of 15 in “merge: add config option for verifySignatures”
  1. 1/3 merge: add config option for verifySignaturesHans Jerry Illikainen, Dec 9, 2017
  2. 2/3 t: add tests for pull --verify-signaturesHans Jerry Illikainen, Dec 9, 2017
  3. Kevin DaudtDec 9, 2017
  4. 3/3 pull: add config option for verifySignaturesHans Jerry Illikainen, Dec 9, 2017
  5. Kevin DaudtDec 9, 2017
  6. Hans Jerry IllikainenDec 10, 2017
  7. Kevin DaudtDec 9, 2017
  8. Junio C HamanoDec 12, 2017
  9. 1/2 merge: add config option for verifySignaturesHans Jerry Illikainen, Dec 10, 2017
  10. 2/2 t: add tests for pull --verify-signaturesHans Jerry Illikainen, Dec 10, 2017
  11. Junio C HamanoDec 12, 2017
  12. Re* [PATCH v2 2/2] t: add tests for pull --verify-signaturesJunio C Hamano, Dec 15, 2017
  13. Hans Jerry IllikainenDec 16, 2017
  14. Junio C HamanoDec 17, 2017
  15. 3/2 t5573, t7612: clean up after unexpected success of 'pull' and 'merge'Junio C Hamano, Dec 19, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.