git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff King <peff@peff.net>
To: git@vger.kernel.org
Cc: "René Scharfe" <l.s.r@web.de>
Subject: [PATCH 06/18] t5613: clarify "too deep" recursion tests
Date: Mon, 3 Oct 2016 16:34:12 -0400	[thread overview]
Message-ID: <20161003203412.bekizvlqtg4ls5fb@sigill.intra.peff.net> (raw)
In-Reply-To: <20161003203321.rj5jepviwo57uhqw@sigill.intra.peff.net>

These tests are just trying to show that we allow recursion
up to a certain depth, but not past it. But the counting is
a bit non-intuitive, and rather than test at the edge of the
breakage, we test "OK" cases in the middle of the chain.
Let's explain what's going on, and explicitly test the
switch between "OK" and "too deep".

Signed-off-by: Jeff King <peff@peff.net>
---
 t/t5613-info-alternate.sh | 24 ++++++++++++++++--------
 1 file changed, 16 insertions(+), 8 deletions(-)

diff --git a/t/t5613-info-alternate.sh b/t/t5613-info-alternate.sh
index 7bc1c3c..b393613 100755
--- a/t/t5613-info-alternate.sh
+++ b/t/t5613-info-alternate.sh
@@ -39,6 +39,18 @@ test_expect_success 'preparing third repository' '
 	)
 '
 
+# Note: These tests depend on the hard-coded value of 5 as "too deep". We start
+# the depth at 0 and count links, not repositories, so in a chain like:
+#
+#   A -> B -> C -> D -> E -> F -> G -> H
+#      0    1    2    3    4    5    6
+#
+# we are OK at "G", but break at "H".
+#
+# Note also that we must use "--bare -l" to make the link to H. The "-l"
+# ensures we do not do a connectivity check, and the "--bare" makes sure
+# we do not try to checkout the result (which needs objects), either of
+# which would cause the clone to fail.
 test_expect_success 'creating too deep nesting' '
 	git clone -l -s C D &&
 	git clone -l -s D E &&
@@ -47,16 +59,12 @@ test_expect_success 'creating too deep nesting' '
 	git clone --bare -l -s G H
 '
 
-test_expect_success 'invalidity of deepest repository' '
-	test_must_fail git -C H fsck
-'
-
-test_expect_success 'validity of third repository' '
-	git -C C fsck
+test_expect_success 'validity of fifth-deep repository' '
+	git -C G fsck
 '
 
-test_expect_success 'validity of fourth repository' '
-	git -C D fsck
+test_expect_success 'invalidity of sixth-deep repository' '
+	test_must_fail git -C H fsck
 '
 
 test_expect_success 'breaking of loops' '
-- 
2.10.0.618.g82cc264


  parent reply	other threads:[~2016-10-03 20:34 UTC|newest]

Thread overview: 84+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-03 20:33 [PATCH 0/18] alternate object database cleanups Jeff King
2016-10-03 20:33 ` [PATCH 01/18] t5613: drop reachable_via function Jeff King
2016-10-04  5:48   ` Jacob Keller
2016-10-04 13:43     ` Jeff King
2016-10-03 20:33 ` [PATCH 02/18] t5613: drop test_valid_repo function Jeff King
2016-10-04  5:50   ` Jacob Keller
2016-10-03 20:34 ` [PATCH 03/18] t5613: use test_must_fail Jeff King
2016-10-04  5:51   ` Jacob Keller
2016-10-03 20:34 ` [PATCH 04/18] t5613: whitespace/style cleanups Jeff King
2016-10-04  5:52   ` Jacob Keller
2016-10-04 13:47     ` Jeff King
2016-10-04 20:41       ` Jacob Keller
2016-10-03 20:34 ` [PATCH 05/18] t5613: do not chdir in main process Jeff King
2016-10-04  5:54   ` Jacob Keller
2016-10-04 21:00   ` Junio C Hamano
2016-10-03 20:34 ` Jeff King [this message]
2016-10-04  5:57   ` [PATCH 06/18] t5613: clarify "too deep" recursion tests Jacob Keller
2016-10-04 13:48     ` Jeff King
2016-10-04 20:44       ` Jacob Keller
2016-10-04 20:49         ` Jeff King
2016-10-04 20:52           ` Jacob Keller
2016-10-04 20:55             ` Jeff King
2016-10-04 20:58               ` Stefan Beller
2016-10-04 21:00                 ` Jeff King
2016-10-05 13:58                 ` Jakub Narębski
2016-10-05 14:40                   ` Jeff King
2016-10-05 16:14                     ` Junio C Hamano
2016-10-05 16:47                     ` Jacob Keller
2016-10-04 21:43               ` Jacob Keller
2016-10-04 21:49                 ` Jeff King
2016-10-04 21:50                   ` Jacob Keller
2016-10-03 20:34 ` [PATCH 07/18] link_alt_odb_entry: handle normalize_path errors Jeff King
2016-10-04  6:01   ` Jacob Keller
2016-10-04 21:08   ` Junio C Hamano
2016-10-05 18:47   ` René Scharfe
2016-10-05 19:04     ` Jeff King
2016-11-07 23:42   ` Bryan Turner
2016-11-08  0:30     ` Jeff King
2016-11-08  1:12       ` Bryan Turner
2016-11-08  5:33         ` Jeff King
2016-11-08 19:27           ` Bryan Turner
2016-10-03 20:34 ` [PATCH 08/18] link_alt_odb_entry: refactor string handling Jeff King
2016-10-04  6:05   ` Jacob Keller
2016-10-04 13:53     ` Jeff King
2016-10-04 20:46       ` Jacob Keller
2016-10-04 21:18   ` Junio C Hamano
2016-10-03 20:35 ` [PATCH 09/18] alternates: provide helper for adding to alternates list Jeff King
2016-10-04  6:07   ` Jacob Keller
2016-10-03 20:35 ` [PATCH 10/18] alternates: provide helper for allocating alternate Jeff King
2016-10-04  6:09   ` Jacob Keller
2016-10-03 20:35 ` [PATCH 11/18] alternates: encapsulate alt->base munging Jeff King
2016-10-03 20:35 ` [PATCH 12/18] alternates: use a separate scratch space Jeff King
2016-10-04  6:12   ` Jacob Keller
2016-10-04 21:29   ` Junio C Hamano
2016-10-04 21:32     ` Jeff King
2016-10-04 21:49       ` Junio C Hamano
2016-10-04 21:51         ` Jeff King
2016-10-03 20:35 ` [PATCH 13/18] fill_sha1_file: write "boring" characters Jeff King
2016-10-04  6:13   ` Jacob Keller
2016-10-04 21:46     ` Junio C Hamano
2016-10-04 21:48       ` Jeff King
2016-10-04 21:49       ` Jacob Keller
2016-10-05 19:35         ` Junio C Hamano
2016-10-03 20:36 ` [PATCH 14/18] alternates: store scratch buffer as strbuf Jeff King
2016-10-03 20:36 ` [PATCH 15/18] fill_sha1_file: write into a strbuf Jeff King
2016-10-04  6:44   ` Jacob Keller
2016-10-03 20:36 ` [PATCH 16/18] count-objects: report alternates via verbose mode Jeff King
2016-10-04  6:46   ` Jacob Keller
2016-10-04 13:56     ` Jeff King
2016-10-05 14:23   ` Jakub Narębski
2016-10-05 18:47   ` René Scharfe
2016-10-03 20:36 ` [PATCH 17/18] sha1_file: always allow relative paths to alternates Jeff King
2016-10-04  6:50   ` Jacob Keller
2016-10-04 14:00     ` Jeff King
2016-10-03 20:36 ` [PATCH 18/18] alternates: use fspathcmp to detect duplicates Jeff King
2016-10-04  6:51   ` Jacob Keller
2016-10-04 14:10     ` Jeff King
2016-10-04 21:42   ` Junio C Hamano
2016-10-05  2:34   ` Aaron Schrab
2016-10-05  3:54     ` Jeff King
2016-10-04  5:47 ` [PATCH 0/18] alternate object database cleanups Jacob Keller
2016-10-04 13:41   ` Jeff King
2016-10-04 20:40     ` Jacob Keller
2016-10-05 18:47 ` René Scharfe

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=20161003203412.bekizvlqtg4ls5fb@sigill.intra.peff.net \
    --to=peff@peff.net \
    --cc=git@vger.kernel.org \
    --cc=l.s.r@web.de \
    /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).