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

[PATCH 03/10] describe tests: always assert empty stderr from "describe"

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Feb 28, 2021, 19:54 UTC
Message-ID
<20210228195414.21372-4-avarab@gmail.com>
In-Reply-To
<20200223125102.6697-1-benno@bmevers.de>

Invert a test added in 3291fe4072e (Add git-describe test for "verify annotated tag names on output", 2008-03-03) to make checking that we don't have warnings the rule rather than the exception.

There was only one case where we expected and got a warning. Let's test for that case explicitly, and assert no warnings or other stderr output for all the rest.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
 t/t6120-describe.sh | 26 ++++++++++++--------------
 1 file changed, 12 insertions(+), 14 deletions(-)
diff --git a/t/t6120-describe.sh b/t/t6120-describe.sh
index e4fd5d567f..ef70c695be 100755
--- a/t/t6120-describe.sh
+++ b/t/t6120-describe.sh
@@ -21,7 +21,8 @@ check_describe () {
 	shift
 	describe_opts="$@"
 	test_expect_success "describe $describe_opts" '
-		git describe $describe_opts 2>err.actual >raw &&
+		git describe $describe_opts 2>err >raw &&
+		test_must_be_empty err &&
 		sed -e "s/-g[0-9a-f]*\$/-gHASH/" <raw >actual &&
 		echo $expect >expect &&
 		test_cmp expect actual
@@ -122,20 +123,17 @@ test_expect_success 'describe --contains defaults to HEAD without commit-ish' '
 '
 
 check_describe tags/A --all A^0
-test_expect_success 'no warning was displayed for A' '
-	test_must_be_empty err.actual
-'
 
-test_expect_success 'rename tag A to Q locally' '
-	mv .git/refs/tags/A .git/refs/tags/Q
-'
-cat - >err.expect <<EOF
-warning: tag 'Q' is externally known as 'A'
-EOF
-check_describe A-8-gHASH HEAD
-test_expect_success 'warning was displayed for Q' '
-	test_cmp err.expect err.actual
-'
+test_expect_success 'renaming tag A to Q locally produces a warning' "
+	mv .git/refs/tags/A .git/refs/tags/Q &&
+	git describe HEAD 2>actual >out &&
+	cat >expected <<-\EOF &&
+	warning: tag 'Q' is externally known as 'A'
+	EOF
+	test_cmp expected actual &&
+	grep -E '^A-8-g[0-9a-f]+$' out
+"
+
 test_expect_success 'misnamed annotated tag forces long output' '
 	description=$(git describe --no-long Q^0) &&
 	expr "$description" : "A-0-g[0-9a-f]*$" &&
-- 
2.31.0.rc0.116.g45ec00aa00
Previous: Junio C HamanoNext: Junio C Hamano
Message 24 of 34 in “describe: dont abort too early when searching tags”
  1. describe: dont abort too early when searching tagsBenno Evers, Feb 23, 2020
  2. Junio C HamanoFeb 24, 2020
  3. benno@bmevers.deFeb 25, 2020
  4. Junio C HamanoFeb 25, 2020
  5. 00/10 describe tests: refactor & fix recent broken testsÆvar Arnfjörð Bjarmason, Feb 28, 2021
  6. Junio C HamanoMar 9, 2021
  7. Junio C HamanoMar 12, 2021
  8. 0/5 describe test fixesÆvar Arnfjörð Bjarmason, Apr 12, 2021
  9. 1/5 describe tests: improve test for --work-tree & --dirtyÆvar Arnfjörð Bjarmason, Apr 12, 2021
  10. 3/5 describe tests: don't rely on err.actual from "check_describe"Ævar Arnfjörð Bjarmason, Apr 12, 2021
  11. 2/5 describe tests: refactor away from glob matchingÆvar Arnfjörð Bjarmason, Apr 12, 2021
  12. 4/5 describe tests: fix nested "test_expect_success" callÆvar Arnfjörð Bjarmason, Apr 12, 2021
  13. 5/5 describe tests: support -C in "check_describe"Ævar Arnfjörð Bjarmason, Apr 12, 2021
  14. 0/2 svn tests: trivial "set -e" in main body of test fixesÆvar Arnfjörð Bjarmason, Apr 12, 2021
  15. 1/2 svn tests: remove legacy re-setup from init-clone testÆvar Arnfjörð Bjarmason, Apr 12, 2021
  16. 2/2 svn tests: refactor away a "set -e" in test bodyÆvar Arnfjörð Bjarmason, Apr 12, 2021
  17. 01/10 describe tests: improve test for --work-tree & --dirtyÆvar Arnfjörð Bjarmason, Feb 28, 2021
  18. 02/10 describe tests: refactor away from glob matchingÆvar Arnfjörð Bjarmason, Feb 28, 2021
  19. Junio C HamanoMar 1, 2021
  20. 04/10 test-lib functions: add an --annotated-tag option to "test_commit"Ævar Arnfjörð Bjarmason, Feb 28, 2021
  21. Junio C HamanoMar 1, 2021
  22. Ævar Arnfjörð BjarmasonMar 2, 2021
  23. Junio C HamanoMar 3, 2021
  24. 03/10 describe tests: always assert empty stderr from "describe"Ævar Arnfjörð Bjarmason, Feb 28, 2021
  25. Junio C HamanoMar 1, 2021
  26. 05/10 describe tests: convert setup to use test_commitÆvar Arnfjörð Bjarmason, Feb 28, 2021
  27. Junio C HamanoMar 1, 2021
  28. 06/10 describe tests: fix nested "test_expect_success" callÆvar Arnfjörð Bjarmason, Feb 28, 2021
  29. 08/10 svn tests: remove legacy re-setup from init-clone testÆvar Arnfjörð Bjarmason, Feb 28, 2021
  30. 07/10 describe tests: support -C in "check_describe"Ævar Arnfjörð Bjarmason, Feb 28, 2021
  31. 09/10 svn tests: refactor away a "set -e" in test bodyÆvar Arnfjörð Bjarmason, Feb 28, 2021
  32. Eric WongFeb 28, 2021
  33. 10/10 test-lib: return 1 from test_expect_{success,failure}Ævar Arnfjörð Bjarmason, Feb 28, 2021
  34. Junio C HamanoMar 1, 2021

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.