verify_lock(): on errors, let the caller unlock the lock
[gitweb.git] / t / t4202-log.sh
index cb03d287698f110b66e69636348caccdbe6a94f8..1b2e981a0011d520d1a7d8bb8d0a5fd7892bacc4 100755 (executable)
@@ -3,6 +3,7 @@
 test_description='git log'
 
 . ./test-lib.sh
+. "$TEST_DIRECTORY/lib-gpg.sh"
 
 test_expect_success setup '
 
@@ -112,11 +113,7 @@ test_expect_success 'diff-filter=M' '
 
        actual=$(git log --pretty="format:%s" --diff-filter=M HEAD) &&
        expect=$(echo second) &&
-       test "$actual" = "$expect" || {
-               echo Oops
-               echo "Actual: $actual"
-               false
-       }
+       verbose test "$actual" = "$expect"
 
 '
 
@@ -124,11 +121,7 @@ test_expect_success 'diff-filter=D' '
 
        actual=$(git log --pretty="format:%s" --diff-filter=D HEAD) &&
        expect=$(echo sixth ; echo third) &&
-       test "$actual" = "$expect" || {
-               echo Oops
-               echo "Actual: $actual"
-               false
-       }
+       verbose test "$actual" = "$expect"
 
 '
 
@@ -136,11 +129,7 @@ test_expect_success 'diff-filter=R' '
 
        actual=$(git log -M --pretty="format:%s" --diff-filter=R HEAD) &&
        expect=$(echo third) &&
-       test "$actual" = "$expect" || {
-               echo Oops
-               echo "Actual: $actual"
-               false
-       }
+       verbose test "$actual" = "$expect"
 
 '
 
@@ -148,11 +137,7 @@ test_expect_success 'diff-filter=C' '
 
        actual=$(git log -C -C --pretty="format:%s" --diff-filter=C HEAD) &&
        expect=$(echo fourth) &&
-       test "$actual" = "$expect" || {
-               echo Oops
-               echo "Actual: $actual"
-               false
-       }
+       verbose test "$actual" = "$expect"
 
 '
 
@@ -160,11 +145,7 @@ test_expect_success 'git log --follow' '
 
        actual=$(git log --follow --pretty="format:%s" ichi) &&
        expect=$(echo third ; echo second ; echo initial) &&
-       test "$actual" = "$expect" || {
-               echo Oops
-               echo "Actual: $actual"
-               false
-       }
+       verbose test "$actual" = "$expect"
 
 '
 
@@ -211,6 +192,21 @@ test_expect_success 'log --grep' '
        test_cmp expect actual
 '
 
+cat > expect << EOF
+second
+initial
+EOF
+test_expect_success 'log --invert-grep --grep' '
+       git log --pretty="tformat:%s" --invert-grep --grep=th --grep=Sec >actual &&
+       test_cmp expect actual
+'
+
+test_expect_success 'log --invert-grep --grep -i' '
+       echo initial >expect &&
+       git log --pretty="tformat:%s" --invert-grep -i --grep=th --grep=Sec >actual &&
+       test_cmp expect actual
+'
+
 test_expect_success 'log --grep option parsing' '
        echo second >expect &&
        git log -1 --pretty="tformat:%s" --grep sec >actual &&
@@ -465,7 +461,7 @@ test_expect_success 'log.decorate configuration' '
        git log --oneline --no-decorate >actual &&
        test_cmp expect.none actual &&
        git log --oneline --decorate >actual &&
-       test_cmp expect.short actual
+       test_cmp expect.short actual &&
 
        test_unconfig log.decorate &&
        git log --pretty=raw >expect.raw &&
@@ -841,4 +837,38 @@ test_expect_success 'dotdot is a parent directory' '
        test_cmp expect actual
 '
 
+test_expect_success GPG 'log --graph --show-signature' '
+       test_when_finished "git reset --hard && git checkout master" &&
+       git checkout -b signed master &&
+       echo foo >foo &&
+       git add foo &&
+       git commit -S -m signed_commit &&
+       git log --graph --show-signature -n1 signed >actual &&
+       grep "^| gpg: Signature made" actual &&
+       grep "^| gpg: Good signature" actual
+'
+
+test_expect_success GPG 'log --graph --show-signature for merged tag' '
+       test_when_finished "git reset --hard && git checkout master" &&
+       git checkout -b plain master &&
+       echo aaa >bar &&
+       git add bar &&
+       git commit -m bar_commit &&
+       git checkout -b tagged master &&
+       echo bbb >baz &&
+       git add baz &&
+       git commit -m baz_commit &&
+       git tag -s -m signed_tag_msg signed_tag &&
+       git checkout plain &&
+       git merge --no-ff -m msg signed_tag &&
+       git log --graph --show-signature -n1 plain >actual &&
+       grep "^|\\\  merged tag" actual &&
+       grep "^| | gpg: Signature made" actual &&
+       grep "^| | gpg: Good signature" actual
+'
+
+test_expect_success 'log --graph --no-walk is forbidden' '
+       test_must_fail git log --graph --no-walk
+'
+
 test_done