From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: git@vger.kernel.org
Cc: "Junio C Hamano" <gitster@pobox.com>,
"John Cai" <johncai86@gmail.com>,
"Elijah Newren" <newren@gmail.com>,
"Derrick Stolee" <stolee@gmail.com>,
"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Subject: [PATCH 5/7] test-lib-functions: add and use a "todo_test_path" helper
Date: Fri, 18 Mar 2022 01:34:00 +0100 [thread overview]
Message-ID: <patch-5.7-553670da8a9-20220318T002951Z-avarab@gmail.com> (raw)
In-Reply-To: <cover-0.7-00000000000-20220318T002951Z-avarab@gmail.com>
Add a new "todo_test_path" helper and convert an additional test added
in 45bde58ef8f (grep: demonstrate bug with textconv attributes and
submodules, 2021-09-29) to use it in conjunction with
"test_expect_todo".
Like the "todo_test_cmp" function introduced in a preceding commit,
this function is a trivial wrapper around "test_todo". Rather than a
more verbose:
test_todo \
--want "test_path_is_missing" \
--expect "test_path_is_file" \
-- "$super_textconv_cache"
We can do:
todo_test_path is_missing is_file "$super_textconv_cache"
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
t/t7814-grep-recurse-submodules.sh | 6 +++---
t/test-lib-functions.sh | 25 +++++++++++++++++++++++++
2 files changed, 28 insertions(+), 3 deletions(-)
diff --git a/t/t7814-grep-recurse-submodules.sh b/t/t7814-grep-recurse-submodules.sh
index 8d9b53ccfed..8df692ee9a0 100755
--- a/t/t7814-grep-recurse-submodules.sh
+++ b/t/t7814-grep-recurse-submodules.sh
@@ -549,7 +549,7 @@ test_expect_todo 'grep --textconv correctly reads submodule .git/info/attributes
todo_test_cmp want expect actual
'
-test_expect_failure 'grep saves textconv cache in the appropriate repository' '
+test_expect_todo 'grep saves textconv cache in the appropriate repository' '
reset_and_clean &&
test_config_global diff.d2x_cached.textconv "sed -e \"s/d/x/\"" &&
test_config_global diff.d2x_cached.cachetextconv true &&
@@ -562,8 +562,8 @@ test_expect_failure 'grep saves textconv cache in the appropriate repository' '
super_textconv_cache="$(git rev-parse --git-path refs/notes/textconv/d2x_cached)" &&
sub_textconv_cache="$(git -C submodule rev-parse \
--path-format=absolute --git-path refs/notes/textconv/d2x_cached)" &&
- test_path_is_missing "$super_textconv_cache" &&
- test_path_is_file "$sub_textconv_cache"
+ todo_test_path is_missing is_file "$super_textconv_cache" &&
+ todo_test_path is_file is_missing "$sub_textconv_cache"
'
test_expect_success 'grep partially-cloned submodule' '
diff --git a/t/test-lib-functions.sh b/t/test-lib-functions.sh
index 4d1eca380e8..3febf4b0811 100644
--- a/t/test-lib-functions.sh
+++ b/t/test-lib-functions.sh
@@ -1036,6 +1036,31 @@ test_todo () {
BUG "a test_todo didn't pass with either --want ('$want') or --expect ('$expect')"
}
+# todo_test_path is a test_path_* for use in conjunction with
+# "test_expect_todo".
+#
+# It takes "want_fn" and "expect_fn" arguments of e.g. "is_file" or
+# "is_dir", which will be turned into corresponding "test_file_*"
+# calls. Use it like:
+#
+# test_expect_todo 'foo should be a directory' '
+# >foo &&
+# todo_test_path is_dir is_file foo
+# '
+todo_test_path () {
+ test "$#" -ne 3 && BUG "3 param, not $#"
+ local want_fn=$1
+ local expect_fn=$2
+ local path=$3 &&
+ shift 3 &&
+
+ test_todo \
+ --want "test_path_$want_fn" \
+ --expect "test_path_$expect_fn" \
+ -- \
+ "$path"
+}
+
# test_line_count checks that a file has the number of lines it
# ought to. For example:
#
--
2.35.1.1436.g756b814e59f
next prev parent reply other threads:[~2022-03-18 0:34 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-18 0:33 [PATCH 0/7] test-lib-functions: a better "test_expect_failure" Ævar Arnfjörð Bjarmason
2022-03-18 0:33 ` [PATCH 1/7] test-lib: add a "test_expect_todo", similar to "test_expect_failure" Ævar Arnfjörð Bjarmason
2022-03-18 18:59 ` Junio C Hamano
2022-03-18 20:50 ` Junio C Hamano
2022-03-18 23:07 ` Ævar Arnfjörð Bjarmason
2022-03-19 7:12 ` Junio C Hamano
2022-03-19 11:11 ` Ævar Arnfjörð Bjarmason
2022-03-20 15:13 ` Phillip Wood
2022-03-20 18:07 ` Junio C Hamano
2022-03-22 14:43 ` Derrick Stolee
2022-03-23 22:13 ` Junio C Hamano
2022-03-24 11:24 ` Phillip Wood
2022-03-18 0:33 ` [PATCH 2/7] test-lib-functions: add and use a "test_todo" helper Ævar Arnfjörð Bjarmason
2022-03-18 0:33 ` [PATCH 3/7] tests: allow test_* in "test_must_fail_acceptable" for "test_todo" Ævar Arnfjörð Bjarmason
2022-03-18 0:33 ` [PATCH 4/7] test-lib-functions: add and use a "todo_test_cmp" helper Ævar Arnfjörð Bjarmason
2022-03-18 0:34 ` Ævar Arnfjörð Bjarmason [this message]
2022-03-18 0:34 ` [PATCH 6/7] test-lib-functions: make test_todo support a --reset Ævar Arnfjörð Bjarmason
2022-03-18 0:34 ` [PATCH 7/7] sparse tests: convert a TODO test to use "test_expect_todo" Ævar Arnfjörð Bjarmason
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=patch-5.7-553670da8a9-20220318T002951Z-avarab@gmail.com \
--to=avarab@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=johncai86@gmail.com \
--cc=newren@gmail.com \
--cc=stolee@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).