All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.