From: Junio C Hamano <gitster@pobox.com>
To: git@vger.kernel.org
Subject: [PATCH 5/6] t1010: add mktree test
Date: Sun, 10 May 2009 11:49:50 -0700 [thread overview]
Message-ID: <1241981391-19639-6-git-send-email-gitster@pobox.com> (raw)
In-Reply-To: <1241981391-19639-5-git-send-email-gitster@pobox.com>
So far mktree (which has always been a quick hack) had no test.
At least give it a bit of test coverage.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
t/t1010-mktree.sh | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 61 insertions(+), 0 deletions(-)
create mode 100755 t/t1010-mktree.sh
diff --git a/t/t1010-mktree.sh b/t/t1010-mktree.sh
new file mode 100755
index 0000000..4d9b138
--- /dev/null
+++ b/t/t1010-mktree.sh
@@ -0,0 +1,61 @@
+#!/bin/sh
+
+test_description='git mktree'
+
+. ./test-lib.sh
+
+test_expect_success setup '
+ for d in a a. a0
+ do
+ mkdir "$d" && echo "$d/one" >"$d/one" &&
+ git add "$d"
+ done &&
+ echo one >one &&
+ git add one &&
+ git write-tree >tree &&
+ git ls-tree $(cat tree) >top &&
+ git ls-tree -r $(cat tree) >all &&
+ test_tick &&
+ git commit -q -m one &&
+ H=$(git rev-parse HEAD) &&
+ git update-index --add --cacheinfo 160000 $H sub &&
+ test_tick &&
+ git commit -q -m two &&
+ git rev-parse HEAD^{tree} >tree.withsub &&
+ git ls-tree HEAD >top.withsub &&
+ git ls-tree -r HEAD >all.withsub
+'
+
+test_expect_success 'ls-tree piped to mktree (1)' '
+ git mktree <top >actual &&
+ test_cmp tree actual
+'
+
+test_expect_success 'ls-tree piped to mktree (2)' '
+ git mktree <top.withsub >actual &&
+ test_cmp tree.withsub actual
+'
+
+test_expect_success 'ls-tree output in wrong order given to mktree (1)' '
+ perl -e "print reverse <>" <top |
+ git mktree >actual &&
+ test_cmp tree actual
+'
+
+test_expect_success 'ls-tree output in wrong order given to mktree (2)' '
+ perl -e "print reverse <>" <top.withsub |
+ git mktree >actual &&
+ test_cmp tree.withsub actual
+'
+
+test_expect_failure 'mktree reads ls-tree -r output (1)' '
+ git mktree <all >actual &&
+ test_cmp tree actual
+'
+
+test_expect_failure 'mktree reads ls-tree -r output (2)' '
+ git mktree <all.withsub >actual &&
+ test_cmp tree.withsub actual
+'
+
+test_done
--
1.6.3.9.g6345d
next prev parent reply other threads:[~2009-05-10 18:50 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-10 13:41 questions about git-mktree Jon Seymour
2009-05-10 15:12 ` Uwe Kleine-König
2009-05-10 15:27 ` A Large Angry SCM
2009-05-10 15:31 ` Jakub Narebski
2009-05-10 16:39 ` Junio C Hamano
2009-05-10 17:10 ` Junio C Hamano
2009-05-10 18:49 ` [PATCH 0/6] Modernize mktree somewhat Junio C Hamano
2009-05-10 18:49 ` [PATCH 1/6] build-in git-mktree Junio C Hamano
2009-05-10 18:49 ` [PATCH 2/6] mktree: use parse-options Junio C Hamano
2009-05-10 18:49 ` [PATCH 3/6] builtin-mktree.c: use a helper function to handle one line of input Junio C Hamano
2009-05-10 18:49 ` [PATCH 4/6] mktree: do not barf on a submodule commit Junio C Hamano
2009-05-10 18:49 ` Junio C Hamano [this message]
2009-05-10 18:49 ` [PATCH 6/6] mktree --missing: allow missing objects Junio C Hamano
2009-05-10 22:13 ` René Scharfe
2009-05-11 0:29 ` Junio C Hamano
2009-05-10 18:54 ` questions about git-mktree - [PATCH] proposed '--batch' option Josh Micich
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=1241981391-19639-6-git-send-email-gitster@pobox.com \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
/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).