Add trivial tests for --stdin option to log family
authorJunio C Hamano <gitster@pobox.com>
Mon, 23 Nov 2009 08:49:47 +0000 (00:49 -0800)
committerJunio C Hamano <gitster@pobox.com>
Mon, 23 Nov 2009 08:49:47 +0000 (00:49 -0800)
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t6017-rev-list-stdin.sh [new file with mode: 0755]

diff --git a/t/t6017-rev-list-stdin.sh b/t/t6017-rev-list-stdin.sh
new file mode 100755 (executable)
index 0000000..f1c32db
--- /dev/null
@@ -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