From: Junio C Hamano <gitster@pobox.com>
To: Shuqi Liang <cheskaqiqi@gmail.com>
Cc: git@vger.kernel.org, vdye@github.com, derrickstolee@github.com
Subject: Re: [PATCH v3 1/2] t1092: add tests for `git diff-files`
Date: Wed, 08 Mar 2023 19:00:12 -0800 [thread overview]
Message-ID: <xmqqlek6pr2b.fsf@gitster.g> (raw)
In-Reply-To: <20230309013314.119128-2-cheskaqiqi@gmail.com> (Shuqi Liang's message of "Wed, 8 Mar 2023 20:33:13 -0500")
Shuqi Liang <cheskaqiqi@gmail.com> writes:
> + ! test_file_not_empty sparse-checkout-out &&
If you looked at existing uses of this test helper, you probably
wouldn't have written this.
$ git grep -e test_file_not_empty t/t[0-9]\*.sh | wc -l
34
$ git grep -e '! test_file_not_empty' t/t[0-9]\*.sh | wc -l
0
This is because test_file_not_empty is designed to fail loudly with
a complaint when the given file is empty. Its implementation reads
like so:
# Check if the file exists and has a size greater than zero
test_file_not_empty () {
test "$#" = 2 && BUG "2 param"
if ! test -s "$1"
then
echo "'$1' is not a non-empty file."
false
fi
}
In the successful case in your test, you expect the file to be empty
(I didn't check if it should be empty or not---I am just taking your
word for it). It means that the "! test_file_not_empty" is expected
to keep complaining that it is NOT a non-empty file.
Not very nice, no?
Perhaps test_must_be_empty is what you wanted to use.
> + ! test_file_not_empty sparse-index-out &&
> + test_sparse_match git diff-files newdirectory/testfile &&
> + ! test_file_not_empty sparse-checkout-out &&
> + ! test_file_not_empty sparse-index-out &&
> +
> + # file present on-disk with modifications
> + run_on_sparse ../edit-contents newdirectory/testfile &&
> + test_sparse_match git diff-files &&
> + test_sparse_match git diff-files newdirectory/testfile &&
> + test_file_not_empty sparse-checkout-out
Now, are we happy if the file is not empty and has any garbage in
it? Don't we know what the list of different paths are and what the
common output between the two should look like?
In general "as long as it is not empty, any garbage is fine" is a
poor primitive to use in tests, unless (1) we are testing output
that is deliberately designed to be unstable, or (2) we know the
program that produces output will always show an empty result when
it fails in any way.
> +'
> +
> test_done
Thanks.
next prev parent reply other threads:[~2023-03-09 3:00 UTC|newest]
Thread overview: 73+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-04 2:57 [RFC][PATCH] t1092: add tests for `git diff-files` Shuqi Liang
2023-03-06 14:14 ` Derrick Stolee
2023-03-07 6:58 ` [PATCH v2 0/2] diff-files: integrate with sparse index Shuqi Liang
2023-03-07 6:58 ` [PATCH v2 1/2] t1092: add tests for `git diff-files` Shuqi Liang
2023-03-07 18:53 ` Junio C Hamano
2023-03-08 22:04 ` Shuqi Liang
2023-03-08 22:40 ` Junio C Hamano
2023-03-07 6:58 ` [PATCH v2 2/2] diff-files: integrate with sparse index Shuqi Liang
2023-03-09 1:33 ` [PATCH v3 0/2] " Shuqi Liang
2023-03-09 1:33 ` [PATCH v3 1/2] t1092: add tests for `git diff-files` Shuqi Liang
2023-03-09 3:00 ` Junio C Hamano [this message]
2023-03-09 1:33 ` [PATCH v3 2/2] diff-files: integrate with sparse index Shuqi Liang
2023-03-09 6:39 ` [PATCH v4 0/2] " Shuqi Liang
2023-03-09 6:39 ` [PATCH v4 1/2] t1092: add tests for `git diff-files` Shuqi Liang
2023-03-09 17:20 ` Junio C Hamano
2023-03-09 23:21 ` Shuqi Liang
2023-03-09 23:40 ` Junio C Hamano
2023-03-09 6:39 ` [PATCH v4 2/2] diff-files: integrate with sparse index Shuqi Liang
2023-03-10 5:00 ` [PATCH v5 0/2] " Shuqi Liang
2023-03-10 5:00 ` [PATCH v5 1/2] t1092: add tests for `git diff-files` Shuqi Liang
2023-03-10 18:23 ` Victoria Dye
2023-03-20 20:55 ` Shuqi Liang
2023-03-10 5:00 ` [PATCH v5 2/2] diff-files: integrate with sparse index Shuqi Liang
2023-03-10 18:23 ` Victoria Dye
2023-03-20 20:52 ` [RFC PATCH v6 0/2] " Shuqi Liang
2023-03-20 20:52 ` [PATCH v6 1/2] t1092: add tests for `git diff-files` Shuqi Liang
2023-03-21 21:21 ` Victoria Dye
2023-03-21 21:25 ` Junio C Hamano
2023-03-21 22:19 ` Victoria Dye
2023-03-20 20:52 ` [PATCH v6 2/2] diff-files: integrate with sparse index Shuqi Liang
2023-03-21 22:34 ` Victoria Dye
2023-03-21 18:38 ` [RFC PATCH v6 0/2] " Victoria Dye
2023-03-22 16:18 ` [PATCH v7 " Shuqi Liang
2023-03-22 16:18 ` [PATCH v7 1/2] t1092: add tests for `git diff-files` Shuqi Liang
2023-04-13 21:56 ` Victoria Dye
2023-03-22 16:18 ` [PATCH v7 2/2] diff-files: integrate with sparse index Shuqi Liang
2023-04-13 21:54 ` Victoria Dye
2023-04-20 4:50 ` Shuqi Liang
2023-04-20 15:26 ` Victoria Dye
2023-04-21 1:10 ` Shuqi Liang
2023-04-21 21:26 ` Victoria Dye
2023-04-22 21:25 ` Shuqi Liang
2023-03-22 23:36 ` [PATCH v7 0/2] " Junio C Hamano
2023-03-23 7:42 ` Shuqi Liang
2023-03-23 16:03 ` Junio C Hamano
2023-03-23 23:59 ` Shuqi Liang
2023-03-23 17:25 ` Victoria Dye
2023-04-13 21:36 ` Junio C Hamano
2023-04-13 21:38 ` Victoria Dye
2023-04-23 1:07 ` [PATCH v8 " Shuqi Liang
2023-04-23 1:07 ` [PATCH v8 1/2] t1092: add tests for `git diff-files` Shuqi Liang
2023-04-23 1:07 ` [PATCH v8 2/2] diff-files: integrate with sparse index Shuqi Liang
2023-05-01 22:26 ` Victoria Dye
2023-04-25 16:57 ` [PATCH v8 0/2] " Junio C Hamano
2023-05-01 22:04 ` Junio C Hamano
2023-05-02 17:23 ` [PATCH v9 " Shuqi Liang
2023-05-02 17:23 ` [PATCH v9 1/2] t1092: add tests for `git diff-files` Shuqi Liang
2023-05-02 19:25 ` Junio C Hamano
2023-05-03 16:37 ` Victoria Dye
2023-05-02 17:23 ` [PATCH v9 2/2] diff-files: integrate with sparse index Shuqi Liang
2023-05-03 21:55 ` [PATCH v10 0/2] " Shuqi Liang
2023-05-03 21:55 ` [PATCH v10 1/2] t1092: add tests for `git diff-files` Shuqi Liang
2023-05-03 23:25 ` Junio C Hamano
2023-05-03 21:55 ` [PATCH v10 2/2] diff-files: integrate with sparse index Shuqi Liang
2023-05-08 18:46 ` [PATCH v11 0/2] " Shuqi Liang
2023-05-08 18:46 ` [PATCH v11 1/2] t1092: add tests for `git diff-files` Shuqi Liang
2023-05-08 22:25 ` Victoria Dye
2023-05-08 18:46 ` [PATCH v11 2/2] diff-files: integrate with sparse index Shuqi Liang
2023-05-09 19:42 ` [PATCH v12 0/2] " Shuqi Liang
2023-05-09 19:42 ` [PATCH v12 1/2] t1092: add tests for `git diff-files` Shuqi Liang
2023-05-09 19:42 ` [PATCH v12 2/2] diff-files: integrate with sparse index Shuqi Liang
2023-05-11 3:41 ` [PATCH v12 0/2] " Victoria Dye
2023-05-11 5:04 ` Junio C Hamano
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=xmqqlek6pr2b.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=cheskaqiqi@gmail.com \
--cc=derrickstolee@github.com \
--cc=git@vger.kernel.org \
--cc=vdye@github.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 read-only IMAP folder(s) and NNTP newsgroup(s).