summaryrefslogtreecommitdiff
path: root/t/test-lib-functions.sh
diff options
context:
space:
mode:
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>2018-10-21 14:02:27 (GMT)
committerJunio C Hamano <gitster@pobox.com>2018-10-22 04:17:02 (GMT)
commita5db0b77b916014e732155d116575bdffbcbe79b (patch)
tree1604474b5e4af2f4afed370c0671de3a50c02fee /t/test-lib-functions.sh
parentc4df23f7927d8d00e666a3c8d1b3375f1dc8a3c1 (diff)
downloadgit-a5db0b77b916014e732155d116575bdffbcbe79b.zip
git-a5db0b77b916014e732155d116575bdffbcbe79b.tar.gz
git-a5db0b77b916014e732155d116575bdffbcbe79b.tar.bz2
t1300: extract and use test_cmp_config()
In many config-related tests it's common to check if a config variable has expected value and we want to print the differences when the test fails. Doing it the normal way is three lines of shell code. Let's add a function do to all this (and a little more). This function has uses outside t1300 as well but I'm not going to convert them all. And it will be used in the next commit where per-worktree config feature is introduced. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/test-lib-functions.sh')
-rw-r--r--t/test-lib-functions.sh23
1 files changed, 23 insertions, 0 deletions
diff --git a/t/test-lib-functions.sh b/t/test-lib-functions.sh
index 78d8c37..d158c8d 100644
--- a/t/test-lib-functions.sh
+++ b/t/test-lib-functions.sh
@@ -747,6 +747,29 @@ test_cmp() {
$GIT_TEST_CMP "$@"
}
+# Check that the given config key has the expected value.
+#
+# test_cmp_config [-C <dir>] <expected-value>
+# [<git-config-options>...] <config-key>
+#
+# for example to check that the value of core.bar is foo
+#
+# test_cmp_config foo core.bar
+#
+test_cmp_config() {
+ local GD &&
+ if test "$1" = "-C"
+ then
+ shift &&
+ GD="-C $1" &&
+ shift
+ fi &&
+ printf "%s\n" "$1" >expect.config &&
+ shift &&
+ git $GD config "$@" >actual.config &&
+ test_cmp expect.config actual.config
+}
+
# test_cmp_bin - helper to compare binary files
test_cmp_bin() {