summaryrefslogtreecommitdiff
path: root/t/t6017-rev-list-stdin.sh
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2009-11-23 08:49:47 (GMT)
committerJunio C Hamano <gitster@pobox.com>2009-11-23 08:49:47 (GMT)
commitd21fc9342cd82bb48bfbf9f54024ae2d4e16a9a3 (patch)
treee53a23aa1a26629f64faeab834b9f66d5896c6ef /t/t6017-rev-list-stdin.sh
parent60da8b15c1b77706e0701cccef2d534a1c3825ad (diff)
downloadgit-d21fc9342cd82bb48bfbf9f54024ae2d4e16a9a3.zip
git-d21fc9342cd82bb48bfbf9f54024ae2d4e16a9a3.tar.gz
git-d21fc9342cd82bb48bfbf9f54024ae2d4e16a9a3.tar.bz2
Add trivial tests for --stdin option to log family
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t6017-rev-list-stdin.sh')
-rwxr-xr-xt/t6017-rev-list-stdin.sh61
1 files changed, 61 insertions, 0 deletions
diff --git a/t/t6017-rev-list-stdin.sh b/t/t6017-rev-list-stdin.sh
new file mode 100755
index 0000000..f1c32db
--- /dev/null
+++ b/t/t6017-rev-list-stdin.sh
@@ -0,0 +1,61 @@
+#!/bin/sh
+#
+# Copyright (c) 2009, Junio C Hamano
+#
+
+test_description='log family learns --stdin'
+
+. ./test-lib.sh
+
+check () {
+ for cmd in rev-list "log --stat"
+ do
+ for i in "$@"
+ do
+ printf "%s\n" $i
+ done >input &&
+ test_expect_success "check $cmd $*" '
+ git $cmd $(cat input) >expect &&
+ git $cmd --stdin <input >actual &&
+ sed -e "s/^/input /" input &&
+ sed -e "s/^/output /" expect &&
+ test_cmp expect actual
+ '
+ done
+}
+
+them='1 2 3 4 5 6 7'
+
+test_expect_success setup '
+ (
+ for i in 0 $them
+ do
+ for j in $them
+ do
+ echo $i.$j >file-$j &&
+ git add file-$j || exit
+ done &&
+ test_tick &&
+ git commit -m $i || exit
+ done &&
+ for i in $them
+ do
+ git checkout -b side-$i master~$i &&
+ echo updated $i >file-$i &&
+ git add file-$i &&
+ test_tick &&
+ git commit -m side-$i || exit
+ done
+ )
+'
+
+check master
+check side-1 ^side-4
+check side-1 ^side-7 --
+check side-1 ^side-7 -- file-1
+check side-1 ^side-7 -- file-2
+check side-3 ^side-4 -- file-3
+check side-3 ^side-2
+check side-3 ^side-2 -- file-1
+
+test_done