Code

Merge t4150-am-subdir.sh and t4151-am.sh into t4150-am.sh
authorStephan Beyer <s-beyer@gmx.net>
Sat, 31 May 2008 22:11:43 +0000 (00:11 +0200)
committerJunio C Hamano <gitster@pobox.com>
Sat, 31 May 2008 22:42:12 +0000 (15:42 -0700)
This patch moves the am test cases in t4150-am.sh and the
am subdirectory test cases from t/t4150-am-subdir.sh into
t/4151-am.sh.

Signed-off-by: Stephan Beyer <s-beyer@gmx.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t4150-am-subdir.sh [deleted file]
t/t4150-am.sh [new file with mode: 0755]
t/t4151-am.sh [deleted file]

diff --git a/t/t4150-am-subdir.sh b/t/t4150-am-subdir.sh
deleted file mode 100755 (executable)
index 52069b4..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-#!/bin/sh
-
-test_description='git am running from a subdirectory'
-
-. ./test-lib.sh
-
-test_expect_success setup '
-       echo hello >world &&
-       git add world &&
-       test_tick &&
-       git commit -m initial &&
-       git tag initial &&
-       echo goodbye >world &&
-       git add world &&
-       test_tick &&
-       git commit -m second &&
-       git format-patch --stdout HEAD^ >patchfile &&
-       : >expect
-'
-
-test_expect_success 'am regularly from stdin' '
-       git checkout initial &&
-       git am <patchfile &&
-       git diff master >actual &&
-       test_cmp expect actual
-'
-
-test_expect_success 'am regularly from file' '
-       git checkout initial &&
-       git am patchfile &&
-       git diff master >actual &&
-       test_cmp expect actual
-'
-
-test_expect_success 'am regularly from stdin in subdirectory' '
-       rm -fr subdir &&
-       git checkout initial &&
-       (
-               mkdir -p subdir &&
-               cd subdir &&
-               git am <../patchfile
-       ) &&
-       git diff master>actual &&
-       test_cmp expect actual
-'
-
-test_expect_success 'am regularly from file in subdirectory' '
-       rm -fr subdir &&
-       git checkout initial &&
-       (
-               mkdir -p subdir &&
-               cd subdir &&
-               git am ../patchfile
-       ) &&
-       git diff master >actual &&
-       test_cmp expect actual
-'
-
-test_expect_success 'am regularly from file in subdirectory with full path' '
-       rm -fr subdir &&
-       git checkout initial &&
-       P=$(pwd) &&
-       (
-               mkdir -p subdir &&
-               cd subdir &&
-               git am "$P/patchfile"
-       ) &&
-       git diff master >actual &&
-       test_cmp expect actual
-'
-
-test_done
diff --git a/t/t4150-am.sh b/t/t4150-am.sh
new file mode 100755 (executable)
index 0000000..722ae96
--- /dev/null
@@ -0,0 +1,260 @@
+#!/bin/sh
+
+test_description='git am running'
+
+. ./test-lib.sh
+
+cat >msg <<EOF
+second
+
+Lorem ipsum dolor sit amet, consectetuer sadipscing elitr, sed diam nonumy
+eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
+voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita
+kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem
+ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
+tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At
+vero eos et accusam et justo duo dolores et ea rebum.
+
+       Duis autem vel eum iriure dolor in hendrerit in vulputate velit
+       esse molestie consequat, vel illum dolore eu feugiat nulla facilisis
+       at vero eros et accumsan et iusto odio dignissim qui blandit
+       praesent luptatum zzril delenit augue duis dolore te feugait nulla
+       facilisi.
+
+
+Lorem ipsum dolor sit amet,
+consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut
+laoreet dolore magna aliquam erat volutpat.
+
+  git
+  ---
+  +++
+
+Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit
+lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure
+dolor in hendrerit in vulputate velit esse molestie consequat, vel illum
+dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio
+dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te
+feugait nulla facilisi.
+EOF
+
+cat >failmail <<EOF
+From foo@example.com Fri May 23 10:43:49 2008
+From:  foo@example.com
+To:    bar@example.com
+Subject: Re: [RFC/PATCH] git-foo.sh
+Date:  Fri, 23 May 2008 05:23:42 +0200
+
+Sometimes we have to find out that there's nothing left.
+
+EOF
+
+cat >pine <<EOF
+From MAILER-DAEMON Fri May 23 10:43:49 2008
+Date: 23 May 2008 05:23:42 +0200
+From: Mail System Internal Data <MAILER-DAEMON@example.com>
+Subject: DON'T DELETE THIS MESSAGE -- FOLDER INTERNAL DATA
+Message-ID: <foo-0001@example.com>
+
+This text is part of the internal format of your mail folder, and is not
+a real message.  It is created automatically by the mail system software.
+If deleted, important folder data will be lost, and it will be re-created
+with the data reset to initial values.
+
+EOF
+
+echo "Signed-off-by: $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL>" >expected
+
+test_expect_success setup '
+       echo hello >file &&
+       git add file &&
+       test_tick &&
+       git commit -m first &&
+       git tag first &&
+       echo world >>file &&
+       git add file &&
+       test_tick &&
+       git commit -s -F msg &&
+       git tag second &&
+       git format-patch --stdout first >patch1 &&
+       sed -n -e "3,\$p" msg >file &&
+       git add file &&
+       test_tick &&
+       git commit -m third &&
+       git format-patch --stdout first >patch2 &&
+       git checkout -b lorem &&
+       sed -n -e "11,\$p" msg >file &&
+       head -n 9 msg >>file &&
+       test_tick &&
+       git commit -a -m "moved stuff" &&
+       echo goodbye >another &&
+       git add another &&
+       test_tick &&
+       git commit -m "added another file" &&
+       git format-patch --stdout master >lorem-move.patch
+'
+
+# reset time
+unset test_tick
+test_tick
+
+test_expect_success 'am applies patch correctly' '
+       git checkout first &&
+       test_tick &&
+       git am <patch1 &&
+       ! test -d .dotest &&
+       test -z "$(git diff second)" &&
+       test "$(git rev-parse second)" = "$(git rev-parse HEAD)" &&
+       test "$(git rev-parse second^)" = "$(git rev-parse HEAD^)"
+'
+
+GIT_AUTHOR_NAME="Another Thor"
+GIT_AUTHOR_EMAIL="a.thor@example.com"
+GIT_COMMITTER_NAME="Co M Miter" 
+GIT_COMMITTER_EMAIL="c.miter@example.com"
+export GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL GIT_COMMITTER_NAME GIT_COMMITTER_EMAIL
+
+compare () {
+       test "$(git cat-file commit "$2" | grep "^$1 ")" = \
+            "$(git cat-file commit "$3" | grep "^$1 ")"
+}
+
+test_expect_success 'am changes committer and keeps author' '
+       test_tick &&
+       git checkout first &&
+       git am patch2 &&
+       ! test -d .dotest &&
+       test "$(git rev-parse master^^)" = "$(git rev-parse HEAD^^)" &&
+       test -z "$(git diff master..HEAD)" &&
+       test -z "$(git diff master^..HEAD^)" &&
+       compare author master HEAD &&
+       compare author master^ HEAD^ &&
+       test "$GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL>" = \
+            "$(git log -1 --pretty=format:"%cn <%ce>" HEAD)"
+'
+
+test_expect_success 'am --signoff adds Signed-off-by: line' '
+       git checkout -b master2 first &&
+       git am --signoff <patch2 &&
+       echo "Signed-off-by: $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL>" >>expected &&
+       git cat-file commit HEAD^ | grep "Signed-off-by:" >actual &&
+       test_cmp actual expected &&
+       echo "Signed-off-by: $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL>" >expected &&
+       git cat-file commit HEAD | grep "Signed-off-by:" >actual &&
+       test_cmp actual expected
+'
+
+test_expect_success 'am stays in branch' '
+       test "refs/heads/master2" = "$(git symbolic-ref HEAD)"
+'
+
+test_expect_success 'am --signoff does not add Signed-off-by: line if already there' '
+       git format-patch --stdout HEAD^ >patch3 &&
+       sed -e "/^Subject/ s,\[PATCH,Re: Re: Re: & 1/5 v2," patch3 >patch4
+       git checkout HEAD^ &&
+       git am --signoff patch4 &&
+       test "$(git cat-file commit HEAD | grep -c "^Signed-off-by:")" -eq 1
+'
+
+test_expect_success 'am without --keep removes Re: and [PATCH] stuff' '
+       test "$(git rev-parse HEAD)" = "$(git rev-parse master2)"
+'
+
+test_expect_success 'am --keep really keeps the subject' '
+       git checkout HEAD^ &&
+       git am --keep patch4 &&
+       ! test -d .dotest &&
+       git-cat-file commit HEAD |
+               grep -q -F "Re: Re: Re: [PATCH 1/5 v2] third"
+'
+
+test_expect_success 'am -3 falls back to 3-way merge' '
+       git checkout -b lorem2 master2 &&
+       sed -n -e "3,\$p" msg >file &&
+       head -n 9 msg >>file &&
+       git add file &&
+       test_tick &&
+       git commit -m "copied stuff" &&
+       git am -3 lorem-move.patch &&
+       ! test -d .dotest &&
+       test -z "$(git diff lorem)"
+'
+
+test_expect_success 'am pauses on conflict' '
+       git checkout lorem2^^ &&
+       ! git am lorem-move.patch &&
+       test -d .dotest
+'
+
+test_expect_success 'am --skip works' '
+       git am --skip &&
+       ! test -d .dotest &&
+       test -z "$(git diff lorem2^^ -- file)" &&
+       test goodbye = "$(cat another)"
+'
+
+test_expect_success 'am --resolved works' '
+       git checkout lorem2^^ &&
+       ! git am lorem-move.patch &&
+       test -d .dotest &&
+       echo resolved >>file &&
+       git add file &&
+       git am --resolved &&
+       ! test -d .dotest &&
+       test goodbye = "$(cat another)"
+'
+
+test_expect_success 'am takes patches from a Pine mailbox' '
+       git checkout first &&
+       cat pine patch1 | git am &&
+       ! test -d .dotest &&
+       test -z "$(git diff master^..HEAD)"
+'
+
+test_expect_success 'am fails on mail without patch' '
+       ! git am <failmail &&
+       rm -r .dotest/
+'
+
+test_expect_success 'am fails on empty patch' '
+       echo "---" >>failmail &&
+       ! git am <failmail &&
+       git am --skip &&
+       ! test -d .dotest
+'
+
+test_expect_success 'am works from stdin in subdirectory' '
+       rm -fr subdir &&
+       git checkout first &&
+       (
+               mkdir -p subdir &&
+               cd subdir &&
+               git am <../patch1
+       ) &&
+       test -z "$(git diff second)"
+'
+
+test_expect_success 'am works from file (relative path given) in subdirectory' '
+       rm -fr subdir &&
+       git checkout first &&
+       (
+               mkdir -p subdir &&
+               cd subdir &&
+               git am ../patch1
+       ) &&
+       test -z "$(git diff second)"
+'
+
+test_expect_success 'am works from file (absolute path given) in subdirectory' '
+       rm -fr subdir &&
+       git checkout first &&
+       P=$(pwd) &&
+       (
+               mkdir -p subdir &&
+               cd subdir &&
+               git am "$P/patch1"
+       ) &&
+       test -z "$(git diff second)"
+'
+
+test_done
diff --git a/t/t4151-am.sh b/t/t4151-am.sh
deleted file mode 100755 (executable)
index ec1b442..0000000
+++ /dev/null
@@ -1,226 +0,0 @@
-#!/bin/sh
-
-test_description='git am running'
-
-. ./test-lib.sh
-
-cat >msg <<EOF
-second
-
-Lorem ipsum dolor sit amet, consectetuer sadipscing elitr, sed diam nonumy
-eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
-voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita
-kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem
-ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
-tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At
-vero eos et accusam et justo duo dolores et ea rebum.
-
-       Duis autem vel eum iriure dolor in hendrerit in vulputate velit
-       esse molestie consequat, vel illum dolore eu feugiat nulla facilisis
-       at vero eros et accumsan et iusto odio dignissim qui blandit
-       praesent luptatum zzril delenit augue duis dolore te feugait nulla
-       facilisi.
-
-
-Lorem ipsum dolor sit amet,
-consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut
-laoreet dolore magna aliquam erat volutpat.
-
-  git
-  ---
-  +++
-
-Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit
-lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure
-dolor in hendrerit in vulputate velit esse molestie consequat, vel illum
-dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio
-dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te
-feugait nulla facilisi.
-EOF
-
-cat >failmail <<EOF
-From foo@example.com Fri May 23 10:43:49 2008
-From:  foo@example.com
-To:    bar@example.com
-Subject: Re: [RFC/PATCH] git-foo.sh
-Date:  Fri, 23 May 2008 05:23:42 +0200
-
-Sometimes we have to find out that there's nothing left.
-
-EOF
-
-cat >pine <<EOF
-From MAILER-DAEMON Fri May 23 10:43:49 2008
-Date: 23 May 2008 05:23:42 +0200
-From: Mail System Internal Data <MAILER-DAEMON@example.com>
-Subject: DON'T DELETE THIS MESSAGE -- FOLDER INTERNAL DATA
-Message-ID: <foo-0001@example.com>
-
-This text is part of the internal format of your mail folder, and is not
-a real message.  It is created automatically by the mail system software.
-If deleted, important folder data will be lost, and it will be re-created
-with the data reset to initial values.
-
-EOF
-
-echo "Signed-off-by: $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL>" >expected
-
-test_expect_success setup '
-       echo hello >file &&
-       git add file &&
-       test_tick &&
-       git commit -m first &&
-       git tag first &&
-       echo world >>file &&
-       git add file &&
-       test_tick &&
-       git commit -s -F msg &&
-       git tag second &&
-       git format-patch --stdout first >patch1 &&
-       sed -n -e "3,\$p" msg >file &&
-       git add file &&
-       test_tick &&
-       git commit -m third &&
-       git format-patch --stdout first >patch2 &&
-       git checkout -b lorem &&
-       sed -n -e "11,\$p" msg >file &&
-       head -n 9 msg >>file &&
-       test_tick &&
-       git commit -a -m "moved stuff" &&
-       echo goodbye >another &&
-       git add another &&
-       test_tick &&
-       git commit -m "added another file" &&
-       git format-patch --stdout master >lorem-move.patch
-'
-
-# reset time
-unset test_tick
-test_tick
-
-test_expect_success 'am applies patch correctly' '
-       git checkout first &&
-       test_tick &&
-       git am <patch1 &&
-       ! test -d .dotest &&
-       test -z "$(git diff second)" &&
-       test "$(git rev-parse second)" = "$(git rev-parse HEAD)" &&
-       test "$(git rev-parse second^)" = "$(git rev-parse HEAD^)"
-'
-
-GIT_AUTHOR_NAME="Another Thor"
-GIT_AUTHOR_EMAIL="a.thor@example.com"
-GIT_COMMITTER_NAME="Co M Miter" 
-GIT_COMMITTER_EMAIL="c.miter@example.com"
-export GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL GIT_COMMITTER_NAME GIT_COMMITTER_EMAIL
-
-compare () {
-       test "$(git cat-file commit "$2" | grep "^$1 ")" = \
-            "$(git cat-file commit "$3" | grep "^$1 ")"
-}
-
-test_expect_success 'am changes committer and keeps author' '
-       test_tick &&
-       git checkout first &&
-       git am patch2 &&
-       ! test -d .dotest &&
-       test "$(git rev-parse master^^)" = "$(git rev-parse HEAD^^)" &&
-       test -z "$(git diff master..HEAD)" &&
-       test -z "$(git diff master^..HEAD^)" &&
-       compare author master HEAD &&
-       compare author master^ HEAD^ &&
-       test "$GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL>" = \
-            "$(git log -1 --pretty=format:"%cn <%ce>" HEAD)"
-'
-
-test_expect_success 'am --signoff adds Signed-off-by: line' '
-       git checkout -b master2 first &&
-       git am --signoff <patch2 &&
-       echo "Signed-off-by: $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL>" >>expected &&
-       git cat-file commit HEAD^ | grep "Signed-off-by:" >actual &&
-       test_cmp actual expected &&
-       echo "Signed-off-by: $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL>" >expected &&
-       git cat-file commit HEAD | grep "Signed-off-by:" >actual &&
-       test_cmp actual expected
-'
-
-test_expect_success 'am stays in branch' '
-       test "refs/heads/master2" = "$(git symbolic-ref HEAD)"
-'
-
-test_expect_success 'am --signoff does not add Signed-off-by: line if already there' '
-       git format-patch --stdout HEAD^ >patch3 &&
-       sed -e "/^Subject/ s,\[PATCH,Re: Re: Re: & 1/5 v2," patch3 >patch4
-       git checkout HEAD^ &&
-       git am --signoff patch4 &&
-       test "$(git cat-file commit HEAD | grep -c "^Signed-off-by:")" -eq 1
-'
-
-test_expect_success 'am without --keep removes Re: and [PATCH] stuff' '
-       test "$(git rev-parse HEAD)" = "$(git rev-parse master2)"
-'
-
-test_expect_success 'am --keep really keeps the subject' '
-       git checkout HEAD^ &&
-       git am --keep patch4 &&
-       ! test -d .dotest &&
-       git-cat-file commit HEAD |
-               grep -q -F "Re: Re: Re: [PATCH 1/5 v2] third"
-'
-
-test_expect_success 'am -3 falls back to 3-way merge' '
-       git checkout -b lorem2 master2 &&
-       sed -n -e "3,\$p" msg >file &&
-       head -n 9 msg >>file &&
-       git add file &&
-       test_tick &&
-       git commit -m "copied stuff" &&
-       git am -3 lorem-move.patch &&
-       ! test -d .dotest &&
-       test -z "$(git diff lorem)"
-'
-
-test_expect_success 'am pauses on conflict' '
-       git checkout lorem2^^ &&
-       ! git am lorem-move.patch &&
-       test -d .dotest
-'
-
-test_expect_success 'am --skip works' '
-       git am --skip &&
-       ! test -d .dotest &&
-       test -z "$(git diff lorem2^^ -- file)" &&
-       test goodbye = "$(cat another)"
-'
-
-test_expect_success 'am --resolved works' '
-       git checkout lorem2^^ &&
-       ! git am lorem-move.patch &&
-       test -d .dotest &&
-       echo resolved >>file &&
-       git add file &&
-       git am --resolved &&
-       ! test -d .dotest &&
-       test goodbye = "$(cat another)"
-'
-
-test_expect_success 'am takes patches from a Pine mailbox' '
-       git checkout first &&
-       cat pine patch1 | git am &&
-       ! test -d .dotest &&
-       test -z "$(git diff master^..HEAD)"
-'
-
-test_expect_success 'am fails on mail without patch' '
-       ! git am <failmail &&
-       rm -r .dotest/
-'
-
-test_expect_success 'am fails on empty patch' '
-       echo "---" >>failmail &&
-       ! git am <failmail &&
-       git am --skip &&
-       ! test -d .dotest
-'
-
-test_done