aboutsummaryrefslogtreecommitdiff
path: root/t/t6111-rev-list-treesame.sh
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2013-05-16 18:32:30 +0300
committerJunio C Hamano <gitster@pobox.com>2013-05-16 11:51:08 -0700
commite16f434ab66993c58690db9b68c9506b344916f7 (patch)
treec40405489cace31f96874ce4513d255993eca37c /t/t6111-rev-list-treesame.sh
parentabdea96efdade975246cce0674fa2cfb8a7cc148 (diff)
downloadgit-e16f434ab66993c58690db9b68c9506b344916f7.tar.gz
git-e16f434ab66993c58690db9b68c9506b344916f7.tar.xz
t6111: allow checking the parents as well
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t6111-rev-list-treesame.sh')
-rwxr-xr-xt/t6111-rev-list-treesame.sh30
1 files changed, 21 insertions, 9 deletions
diff --git a/t/t6111-rev-list-treesame.sh b/t/t6111-rev-list-treesame.sh
index b2bca771c..1e4a55002 100755
--- a/t/t6111-rev-list-treesame.sh
+++ b/t/t6111-rev-list-treesame.sh
@@ -20,7 +20,7 @@ note () {
}
unnote () {
- git name-rev --tags --stdin | sed -e "s|$_x40 (tags/\([^)]*\)) |\1 |g"
+ git name-rev --tags --stdin | sed -e "s|$_x40 (tags/\([^)]*\))\([ ]\)|\1\2|g"
}
test_expect_success setup '
@@ -66,23 +66,34 @@ test_expect_success setup '
test_commit M file "Parts 1+2"
'
-FMT='tformat:%P %H | %s'
-
# could we soup this up to optionally check parents? So "(BA)C" would check
# that C is shown and has parents B A.
check_outcome () {
outcome=$1
shift
- for c in $1
- do
- echo "$c"
- done >expect &&
- shift &&
+
+ case "$1" in
+ *"("*)
+ FMT="%P %H | %s"
+ munge_actual="
+ s/^\([^ ]*\) \([^ ]*\) .*/(\1)\2/
+ s/ //g
+ s/()//
+ "
+ ;;
+ *)
+ FMT="%H | %s"
+ munge_actual="s/^\([^ ]*\) .*/\1/"
+ ;;
+ esac &&
+ printf "%s\n" $1 >expect &&
+ shift
+
param="$*" &&
test_expect_$outcome "log $param" '
git log --format="$FMT" $param |
unnote >actual &&
- sed -e "s/^.* \([^ ]*\) .*/\1/" >check <actual &&
+ sed -e "$munge_actual" <actual >check &&
test_cmp expect check || {
cat actual
false
@@ -99,6 +110,7 @@ check_result () {
# shown in normal full-history, as we can't distinguish unless we do a
# simplification pass. After simplification, D is dropped but G remains.
check_result 'M L K J I H G F E D C B A'
+check_result '(LH)M (K)L (GJ)K (I)J (G)I (G)H (FE)G (D)F (B)E (BC)D (A)C (A)B A'
check_result 'M H L K J I G E F D C B A' --topo-order
check_result 'M L H B A' -- file
check_result 'M L H B A' --parents -- file