summaryrefslogtreecommitdiff
path: root/t/t1508-at-combinations.sh
diff options
context:
space:
mode:
authorFelipe Contreras <felipe.contreras@gmail.com>2013-05-07 16:55:02 -0500
committerJunio C Hamano <gitster@pobox.com>2013-05-08 09:15:37 -0700
commitc8a81e90acda9da55bae627928e80b04e98980fc (patch)
tree11af3d6c626904aa7b40c92c5ed9837fbe90f99f /t/t1508-at-combinations.sh
parent1bc6d022b731e4cf69de42fea75c5f6366d2dbae (diff)
downloadgit-c8a81e90acda9da55bae627928e80b04e98980fc.tar.gz
tests: at-combinations: check ref names directly
Some committishes might point to the same commit, but through a different ref, that's why it's better to check directly for the ref, rather than the commit message. We can do that by calling rev-parse --symbolic-full-name, and to differentiate the old from the new behavior we add an extra argument to the check() helper. Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com> Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t1508-at-combinations.sh')
-rwxr-xr-xt/t1508-at-combinations.sh39
1 files changed, 23 insertions, 16 deletions
diff --git a/t/t1508-at-combinations.sh b/t/t1508-at-combinations.sh
index 46e3f166a6..1126125672 100755
--- a/t/t1508-at-combinations.sh
+++ b/t/t1508-at-combinations.sh
@@ -4,17 +4,24 @@ test_description='test various @{X} syntax combinations together'
. ./test-lib.sh
check() {
-test_expect_${3:-success} "$1 = $2" "
- echo '$2' >expect &&
- git log -1 --format=%s '$1' >actual &&
- test_cmp expect actual
-"
+ test_expect_${4:-success} "$1 = $3" "
+ echo '$3' >expect &&
+ if test '$2' = 'commit'
+ then
+ git log -1 --format=%s '$1' >actual
+ else
+ git rev-parse --symbolic-full-name '$1' >actual
+ fi &&
+ test_cmp expect actual
+ "
}
+
nonsense() {
-test_expect_${2:-success} "$1 is nonsensical" "
- test_must_fail git log -1 '$1'
-"
+ test_expect_${2:-success} "$1 is nonsensical" "
+ test_must_fail git log -1 '$1'
+ "
}
+
fail() {
"$@" failure
}
@@ -35,14 +42,14 @@ test_expect_success 'setup' '
git branch -u upstream-branch new-branch
'
-check HEAD new-two
-check "@{1}" new-one
-check "@{-1}" old-two
-check "@{-1}@{1}" old-one
-check "@{u}" upstream-two
-check "@{u}@{1}" upstream-one
-check "@{-1}@{u}" master-two
-check "@{-1}@{u}@{1}" master-one
+check HEAD ref refs/heads/new-branch
+check "@{1}" commit new-one
+check "@{-1}" ref refs/heads/old-branch
+check "@{-1}@{1}" commit old-one
+check "@{u}" ref refs/heads/upstream-branch
+check "@{u}@{1}" commit upstream-one
+check "@{-1}@{u}" ref refs/heads/master
+check "@{-1}@{u}@{1}" commit master-one
nonsense "@{u}@{-1}"
nonsense "@{1}@{u}"