-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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>
- Loading branch information
Junio C Hamano
committed
May 10, 2009
1 parent
ad87b5d
commit 801cfae
Showing
1 changed file
with
61 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |