Browse Source

git-blame: Use the same tests for git-blame as for git-annotate

Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
maint
Fredrik Kuivinen 19 years ago committed by Junio C Hamano
parent
commit
8752d11d60
  1. 86
      t/annotate-tests.sh
  2. 85
      t/t8001-annotate.sh
  3. 9
      t/t8002-blame.sh

86
t/annotate-tests.sh

@ -0,0 +1,86 @@ @@ -0,0 +1,86 @@
# This file isn't used as a test script directly, instead it is
# sourced from t8001-annotate.sh and t8001-blame.sh.

test_expect_success \
'prepare reference tree' \
'echo "1A quick brown fox jumps over the" >file &&
echo "lazy dog" >>file &&
git add file
GIT_AUTHOR_NAME="A" git commit -a -m "Initial."'

test_expect_success \
'check all lines blamed on A' \
'[ $(git annotate file | awk "{print \$3}" | grep -c "A") == 2 ]'

test_expect_success \
'Setup new lines blamed on B' \
'echo "2A quick brown fox jumps over the" >>file &&
echo "lazy dog" >> file &&
GIT_AUTHOR_NAME="B" git commit -a -m "Second."'

test_expect_success \
'Two lines blamed on A' \
'[ $($PROG file | awk "{print \$3}" | grep -c "A") == 2 ]'

test_expect_success \
'Two lines blamed on B' \
'[ $($PROG file | awk "{print \$3}" | grep -c "B") == 2 ]'

test_expect_success \
'merge-setup part 1' \
'git checkout -b branch1 master &&
echo "3A slow green fox jumps into the" >> file &&
echo "well." >> file &&
GIT_AUTHOR_NAME="B1" git commit -a -m "Branch1-1"'

test_expect_success \
'Two lines blamed on A' \
'[ $($PROG file | awk "{print \$3}" | grep -c "^A$") == 2 ]'

test_expect_success \
'Two lines blamed on B' \
'[ $($PROG file | awk "{print \$3}" | grep -c "^B$") == 2 ]'

test_expect_success \
'Two lines blamed on B1' \
'[ $($PROG file | awk "{print \$3}" | grep -c "^B1$") == 2 ]'

test_expect_success \
'merge-setup part 2' \
'git checkout -b branch2 master &&
sed -e "s/2A quick brown/4A quick brown lazy dog/" < file > file.new &&
mv file.new file &&
GIT_AUTHOR_NAME="B2" git commit -a -m "Branch2-1"'

test_expect_success \
'Two lines blamed on A' \
'[ $($PROG file | awk "{print \$3}" | grep -c "^A$") == 2 ]'

test_expect_success \
'One line blamed on B' \
'[ $($PROG file | awk "{print \$3}" | grep -c "^B$") == 1 ]'

test_expect_success \
'One line blamed on B2' \
'[ $($PROG file | awk "{print \$3}" | grep -c "^B2$") == 1 ]'


test_expect_success \
'merge-setup part 3' \
'git pull . branch1'

test_expect_success \
'Two lines blamed on A' \
'[ $($PROG file | awk "{print \$3}" | grep -c "^A$") == 2 ]'

test_expect_success \
'One line blamed on B' \
'[ $($PROG file | awk "{print \$3}" | grep -c "^B$") == 1 ]'

test_expect_success \
'Two lines blamed on B1' \
'[ $($PROG file | awk "{print \$3}" | grep -c "^B1$") == 2 ]'

test_expect_success \
'One line blamed on B2' \
'[ $($PROG file | awk "{print \$3}" | grep -c "^B2$") == 1 ]'

85
t/t8001-annotate.sh

@ -3,88 +3,7 @@ @@ -3,88 +3,7 @@
test_description='git-annotate'
. ./test-lib.sh

test_expect_success \
'prepare reference tree' \
'echo "1A quick brown fox jumps over the" >file &&
echo "lazy dog" >>file &&
git add file
GIT_AUTHOR_NAME="A" git commit -a -m "Initial."'

test_expect_success \
'check all lines blamed on A' \
'[ $(git annotate file | awk "{print \$3}" | grep -c "A") == 2 ]'

test_expect_success \
'Setup new lines blamed on B' \
'echo "2A quick brown fox jumps over the" >>file &&
echo "lazy dog" >> file &&
GIT_AUTHOR_NAME="B" git commit -a -m "Second."'

test_expect_success \
'Two lines blamed on A' \
'[ $(git annotate file | awk "{print \$3}" | grep -c "A") == 2 ]'

test_expect_success \
'Two lines blamed on B' \
'[ $(git annotate file | awk "{print \$3}" | grep -c "B") == 2 ]'

test_expect_success \
'merge-setup part 1' \
'git checkout -b branch1 master &&
echo "3A slow green fox jumps into the" >> file &&
echo "well." >> file &&
GIT_AUTHOR_NAME="B1" git commit -a -m "Branch1-1"'

test_expect_success \
'Two lines blamed on A' \
'[ $(git annotate file | awk "{print \$3}" | grep -c "^A$") == 2 ]'

test_expect_success \
'Two lines blamed on B' \
'[ $(git annotate file | awk "{print \$3}" | grep -c "^B$") == 2 ]'

test_expect_success \
'Two lines blamed on B1' \
'[ $(git annotate file | awk "{print \$3}" | grep -c "^B1$") == 2 ]'

test_expect_success \
'merge-setup part 2' \
'git checkout -b branch2 master &&
sed -e "s/2A quick brown/4A quick brown lazy dog/" < file > file.new &&
mv file.new file &&
GIT_AUTHOR_NAME="B2" git commit -a -m "Branch2-1"'

test_expect_success \
'Two lines blamed on A' \
'[ $(git annotate file | awk "{print \$3}" | grep -c "^A$") == 2 ]'

test_expect_success \
'One line blamed on B' \
'[ $(git annotate file | awk "{print \$3}" | grep -c "^B$") == 1 ]'

test_expect_success \
'One line blamed on B2' \
'[ $(git annotate file | awk "{print \$3}" | grep -c "^B2$") == 1 ]'


test_expect_success \
'merge-setup part 3' \
'git pull . branch1'

test_expect_success \
'Two lines blamed on A' \
'[ $(git annotate file | awk "{print \$3}" | grep -c "^A$") == 2 ]'

test_expect_success \
'One line blamed on B' \
'[ $(git annotate file | awk "{print \$3}" | grep -c "^B$") == 1 ]'

test_expect_success \
'Two lines blamed on B1' \
'[ $(git annotate file | awk "{print \$3}" | grep -c "^B1$") == 2 ]'

test_expect_success \
'One line blamed on B2' \
'[ $(git annotate file | awk "{print \$3}" | grep -c "^B2$") == 1 ]'
PROG='git annotate'
source ../annotate-tests.sh

test_done

9
t/t8002-blame.sh

@ -0,0 +1,9 @@ @@ -0,0 +1,9 @@
#!/bin/sh

test_description='git-blame'
. ./test-lib.sh

PROG='git blame -c'
source ../annotate-tests.sh

test_done
Loading…
Cancel
Save