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

[PATCH v11 07/22] stash: add tests for `git stash show` config

From
Paul-Sebastian Ungureanu <ungureanupaulsebastian@gmail.com>
Date
Nov 22, 2018, 23:05 UTC
Message-ID
<1b0d546c452872d45d8fc9e648855ef5c17eb7fb.1542925164.git.ungureanupaulsebastian@gmail.com>
In-Reply-To
<cover.1542925164.git.ungureanupaulsebastian@gmail.com>

This commit introduces tests for `git stash show` config. It tests all the cases where `stash.showStat` and `stash.showPatch` are unset or set to true / false.

Signed-off-by: Paul-Sebastian Ungureanu <ungureanupaulsebastian@gmail.com>
---
 t/t3907-stash-show-config.sh | 83 ++++++++++++++++++++++++++++++++++++
 1 file changed, 83 insertions(+)
 create mode 100755 t/t3907-stash-show-config.sh
diff --git a/t/t3907-stash-show-config.sh b/t/t3907-stash-show-config.sh
new file mode 100755
index 0000000000..10914bba7b
--- /dev/null
+++ b/t/t3907-stash-show-config.sh
@@ -0,0 +1,83 @@
+#!/bin/sh
+
+test_description='Test git stash show configuration.'
+
+. ./test-lib.sh
+
+test_expect_success 'setup' '
+	test_commit file
+'
+
+# takes three parameters:
+# 1. the stash.showStat value (or "<unset>")
+# 2. the stash.showPatch value (or "<unset>")
+# 3. the diff options of the expected output (or nothing for no output)
+test_stat_and_patch () {
+	if test "<unset>" = "$1"
+	then
+		test_unconfig stash.showStat
+	else
+		test_config stash.showStat "$1"
+	fi &&
+
+	if test "<unset>" = "$2"
+	then
+		test_unconfig stash.showPatch
+	else
+		test_config stash.showPatch "$2"
+	fi &&
+
+	shift 2 &&
+	echo 2 >file.t &&
+	if test $# != 0
+	then
+		git diff "$@" >expect
+	fi &&
+	git stash &&
+	git stash show >actual &&
+
+	if test $# = 0
+	then
+		test_must_be_empty actual
+	else
+		test_cmp expect actual
+	fi
+}
+
+test_expect_success 'showStat unset showPatch unset' '
+	test_stat_and_patch "<unset>" "<unset>" --stat
+'
+
+test_expect_success 'showStat unset showPatch false' '
+	test_stat_and_patch "<unset>" false --stat
+'
+
+test_expect_success 'showStat unset showPatch true' '
+	test_stat_and_patch "<unset>" true --stat -p
+'
+
+test_expect_success 'showStat false showPatch unset' '
+	test_stat_and_patch false "<unset>"
+'
+
+test_expect_success 'showStat false showPatch false' '
+	test_stat_and_patch false false
+'
+
+test_expect_success 'showStat false showPatch true' '
+	test_stat_and_patch false true -p
+'
+
+test_expect_success 'showStat true showPatch unset' '
+	test_stat_and_patch true "<unset>" --stat
+'
+
+test_expect_success 'showStat true showPatch false' '
+	test_stat_and_patch true false --stat
+'
+
+test_expect_success 'showStat true showPatch true' '
+	test_stat_and_patch true true --stat -p
+'
+
+test_done
-- 
2.19.1.878.g0482332a22
Previous: Paul-Sebastian UngureanuNext: Paul-Sebastian Ungureanu
Message 10 of 35 in “Convert "git stash" to C builtin”
  1. 00/22 Convert "git stash" to C builtinPaul-Sebastian Ungureanu, Nov 22, 2018
  2. 01/22 sha1-name.c: add `get_oidf()` which acts like `get_oid()`Paul-Sebastian Ungureanu, Nov 22, 2018
  3. 02/22 strbuf.c: add `strbuf_join_argv()`Paul-Sebastian Ungureanu, Nov 22, 2018
  4. 03/22 strbuf.c: add `strbuf_insertf()` and `strbuf_vinsertf()`Paul-Sebastian Ungureanu, Nov 22, 2018
  5. Thomas GummererNov 25, 2018
  6. Johannes SchindelinNov 27, 2018
  7. Thomas GummererNov 27, 2018
  8. 04/22 stash: improve option parsing test coveragePaul-Sebastian Ungureanu, Nov 22, 2018
  9. 05/22 t3903: modernize stylePaul-Sebastian Ungureanu, Nov 22, 2018
  10. 07/22 stash: add tests for `git stash show` configPaul-Sebastian Ungureanu, Nov 22, 2018
  11. 06/22 stash: rename test cases to be more descriptivePaul-Sebastian Ungureanu, Nov 22, 2018
  12. 08/22 stash: mention options in `show` synopsisPaul-Sebastian Ungureanu, Nov 22, 2018
  13. 10/22 stash: convert drop and clear to builtinPaul-Sebastian Ungureanu, Nov 22, 2018
  14. 09/22 stash: convert apply to builtinPaul-Sebastian Ungureanu, Nov 22, 2018
  15. 11/22 stash: convert branch to builtinPaul-Sebastian Ungureanu, Nov 22, 2018
  16. 15/22 stash: convert store to builtinPaul-Sebastian Ungureanu, Nov 22, 2018
  17. 13/22 stash: convert list to builtinPaul-Sebastian Ungureanu, Nov 22, 2018
  18. 12/22 stash: convert pop to builtinPaul-Sebastian Ungureanu, Nov 22, 2018
  19. 16/22 stash: convert create to builtinPaul-Sebastian Ungureanu, Nov 22, 2018
  20. 18/22 stash: make push -q quietPaul-Sebastian Ungureanu, Nov 22, 2018
  21. 17/22 stash: convert push to builtinPaul-Sebastian Ungureanu, Nov 22, 2018
  22. 19/22 stash: convert save to builtinPaul-Sebastian Ungureanu, Nov 22, 2018
  23. 20/22 stash: convert `stash--helper.c` into `stash.c`Paul-Sebastian Ungureanu, Nov 22, 2018
  24. Junio C HamanoNov 26, 2018
  25. Johannes SchindelinNov 27, 2018
  26. Ævar Arnfjörð BjarmasonNov 27, 2018
  27. Johannes SchindelinNov 29, 2018
  28. 21/22 stash: optimize `get_untracked_files()` and `check_changes()`Paul-Sebastian Ungureanu, Nov 22, 2018
  29. 22/22 stash: replace all `write-tree` child processes with API callsPaul-Sebastian Ungureanu, Nov 22, 2018
  30. 14/22 stash: convert show to builtinPaul-Sebastian Ungureanu, Nov 22, 2018
  31. Thomas GummererNov 25, 2018
  32. Junio C HamanoNov 26, 2018
  33. Junio C HamanoNov 26, 2018
  34. Johannes SchindelinNov 29, 2018
  35. Johannes SchindelinNov 29, 2018

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.