git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Johannes Sixt <j6t@kdbg.org>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH 5/6] t/diff-lib: check exact object names in compare_diff_raw
Date: Mon, 23 Feb 2015 19:14:47 +0100	[thread overview]
Message-ID: <54EB6E17.5040102@kdbg.org> (raw)
In-Reply-To: <1424043824-25242-6-git-send-email-gitster@pobox.com>

Am 16.02.2015 um 00:43 schrieb Junio C Hamano:
> The "sanitize" helper wanted to strip the similarity and
> dissimilarity scores when making comparison, but it was
> stripping away the object names as well.
> 
> While we do not want to require the exact object names the tests
> expect to be maintained, as it would be seen as an extra burden,
> this would have prevented us catching a silly bug such as showing
> non 0{40} object name on the preimage side of an addition or on the
> postimage side of a deletion, because all [0-9a-f]{40} strings were
> considered equally OK.
> 
> In the longer term, when a test only wants to see the status of the
> change without having to worry about object names, it should be
> rewritten not to inspect the raw format.
> 
> Signed-off-by: Junio C Hamano <gitster@pobox.com>
> ---
>   t/diff-lib.sh | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/t/diff-lib.sh b/t/diff-lib.sh
> index 75a35fc..c211dc4 100644
> --- a/t/diff-lib.sh
> +++ b/t/diff-lib.sh
> @@ -1,6 +1,6 @@
>   :
>   
> -sanitize_diff_raw='/^:/s/ '"$_x40"' '"$_x40"' \([A-Z]\)[0-9]*	/ X X \1#	/'
> +sanitize_diff_raw='/^:/s/ '"\($_x40\)"' '"\($_x40\)"' \([A-Z]\)[0-9]*	/ \1 \2 \3#	/'
>   compare_diff_raw () {
>       # When heuristics are improved, the score numbers would change.
>       # Ignore them while comparing.
> 

This reveals a minor bug in test_ln_s_add:

---- 8< ----
Subject: [PATCH] test_ln_s_add: refresh stat info of fake symbolic links

We have a helper function test_ln_s_add that inserts a symbolic link
into the index even if the file system does not support symbolic links.
There is a small flaw in the emulation path: the added entry does not
pick up stat information of the fake symbolic link from the file system,
as a consequence, the index is not exactly the same as for the "regular"
path (where symbolic links are available). To fix this, just call
git update-index again.

This flaw was revealed by the earlier change that tightened
compare_diff_raw(), because a test case in t4008 depends on the
correctly updated index.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
---
 t/test-lib-functions.sh | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/t/test-lib-functions.sh b/t/test-lib-functions.sh
index cb132cf..bd1069b 100644
--- a/t/test-lib-functions.sh
+++ b/t/test-lib-functions.sh
@@ -749,7 +749,9 @@ test_ln_s_add () {
 	else
 		printf '%s' "$1" >"$2" &&
 		ln_s_obj=$(git hash-object -w "$2") &&
-		git update-index --add --cacheinfo 120000 $ln_s_obj "$2"
+		git update-index --add --cacheinfo 120000 $ln_s_obj "$2" &&
+		# pick up stat info from the file
+		git update-index "$2"
 	fi
 }
 
-- 
2.3.0.rc0.21.g454f6cd

  reply	other threads:[~2015-02-23 18:15 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-15 23:43 [PATCH 0/6] test updates around diff Junio C Hamano
2015-02-15 23:43 ` [PATCH 1/6] t4008: correct stale comments Junio C Hamano
2015-02-15 23:43 ` [PATCH 2/6] t9300: correct expected object names Junio C Hamano
2015-02-15 23:43 ` [PATCH 3/6] t4010: " Junio C Hamano
2015-02-15 23:43 ` [PATCH 4/6] tests: do not borrow from COPYING and README from the real source Junio C Hamano
2015-02-15 23:43 ` [PATCH 5/6] t/diff-lib: check exact object names in compare_diff_raw Junio C Hamano
2015-02-23 18:14   ` Johannes Sixt [this message]
2015-02-23 19:45     ` Junio C Hamano
2015-02-15 23:43 ` [PATCH 6/6] t4008: modernise style Junio C Hamano
2015-02-16  6:23 ` [PATCH 0/6] test updates around diff Jeff King

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=54EB6E17.5040102@kdbg.org \
    --to=j6t@kdbg.org \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.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).