Re: [PATCH 3/3] patch-id-test: test new --stable and --unstable flags

2014-03-27 Thread Eric Sunshine
On Thu, Mar 27, 2014 at 5:25 AM, Michael S. Tsirkin  wrote:
> Verify that patch ID is now stable against hunk reordering.
>
> Signed-off-by: Michael S. Tsirkin 
> ---
>  t/t4204-patch-id.sh | 68 
> +
>  1 file changed, 63 insertions(+), 5 deletions(-)
>
> diff --git a/t/t4204-patch-id.sh b/t/t4204-patch-id.sh
> index d2c930d..75f77ef 100755
> --- a/t/t4204-patch-id.sh
> +++ b/t/t4204-patch-id.sh
> @@ -5,12 +5,27 @@ test_description='git patch-id'
>  . ./test-lib.sh
>
>  test_expect_success 'setup' '
> -   test_commit initial foo a &&
> -   test_commit first foo b &&
> +   test_commit initial-foo foo a &&
> +   test_commit initial-bar bar a &&
> +   echo b > foo &&
> +   echo b > bar &&
> +   git commit -a -m first &&
> git checkout -b same HEAD^ &&
> -   test_commit same-msg foo b &&
> +   echo b > foo &&
> +   echo b > bar &&
> +   git commit -a -m same-msg &&
> git checkout -b notsame HEAD^ &&
> -   test_commit notsame-msg foo c
> +   echo c > foo &&
> +   echo c > bar &&
> +   git commit -a -m notsame-msg &&
> +   cat > bar-then-foo < +bar
> +foo
> +EOF
> +   cat > foo-then-bar < +foo
> +bar
> +EOF
>  '
>
>  test_expect_success 'patch-id output is well-formed' '
> @@ -23,11 +38,33 @@ calc_patch_id () {
> sed "s# .*##" > patch-id_"$1"
>  }
>
> +calc_patch_id_unstable () {
> +   git patch-id --unstable |
> +   sed "s# .*##" > patch-id_"$1"
> +}
> +
> +calc_patch_id_stable () {
> +   git patch-id --stable |
> +   sed "s# .*##" > patch-id_"$1"
> +}
> +
> +
>  get_patch_id () {
> -   git log -p -1 "$1" | git patch-id |
> +   git log -p -1 "$1" -O bar-then-foo -- | git patch-id |
> +   sed "s# .*##" > patch-id_"$1"
> +}
> +
> +get_patch_id_stable () {
> +   git log -p -1 "$1" -O bar-then-foo | git patch-id --stable |
> +   sed "s# .*##" > patch-id_"$1"
> +}
> +
> +get_patch_id_unstable () {
> +   git log -p -1 "$1" -O bar-then-foo | git patch-id --unstable |
> sed "s# .*##" > patch-id_"$1"
>  }
>
> +
>  test_expect_success 'patch-id detects equality' '
> get_patch_id master &&
> get_patch_id same &&
> @@ -56,6 +93,27 @@ test_expect_success 'whitespace is irrelevant in footer' '
> test_cmp patch-id_master patch-id_same
>  '
>
> +test_expect_success 'file order is irrelevant by default' '
> +   get_patch_id master &&
> +   git checkout same &&
> +   git format-patch -1 --stdout -O foo-then-bar | calc_patch_id same &&
> +   test_cmp patch-id_master patch-id_same
> +'
> +
> +test_expect_success 'file order is irrelevant with --stable' '
> +   get_patch_id_stable master &&
> +   git checkout same &&
> +   git format-patch -1 --stdout -O foo-then-bar | calc_patch_id_stable 
> same &&
> +   test_cmp patch-id_master patch-id_same
> +'
> +
> +test_expect_success 'file order is relevant with --unstable' '
> +   get_patch_id_unstable master &&
> +   git checkout same &&
> +   git format-patch -1 --stdout -O foo-then-bar | calc_patch_id_unstable 
> notsame &&
> +   ! test_cmp patch-id_master patch-id_notsame
> +'
> +
>  test_expect_success 'patch-id supports git-format-patch MIME output' '
> get_patch_id master &&
> git checkout same &&
> --
> MST
>
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 3/3] patch-id-test: test new --stable and --unstable flags

2014-03-27 Thread Michael S. Tsirkin
Verify that patch ID is now stable against hunk reordering.

Signed-off-by: Michael S. Tsirkin 
---
 t/t4204-patch-id.sh | 68 +
 1 file changed, 63 insertions(+), 5 deletions(-)

diff --git a/t/t4204-patch-id.sh b/t/t4204-patch-id.sh
index d2c930d..75f77ef 100755
--- a/t/t4204-patch-id.sh
+++ b/t/t4204-patch-id.sh
@@ -5,12 +5,27 @@ test_description='git patch-id'
 . ./test-lib.sh
 
 test_expect_success 'setup' '
-   test_commit initial foo a &&
-   test_commit first foo b &&
+   test_commit initial-foo foo a &&
+   test_commit initial-bar bar a &&
+   echo b > foo &&
+   echo b > bar &&
+   git commit -a -m first &&
git checkout -b same HEAD^ &&
-   test_commit same-msg foo b &&
+   echo b > foo &&
+   echo b > bar &&
+   git commit -a -m same-msg &&
git checkout -b notsame HEAD^ &&
-   test_commit notsame-msg foo c
+   echo c > foo &&
+   echo c > bar &&
+   git commit -a -m notsame-msg &&
+   cat > bar-then-foo < foo-then-bar < patch-id_"$1"
 }
 
+calc_patch_id_unstable () {
+   git patch-id --unstable |
+   sed "s# .*##" > patch-id_"$1"
+}
+
+calc_patch_id_stable () {
+   git patch-id --stable |
+   sed "s# .*##" > patch-id_"$1"
+}
+
+
 get_patch_id () {
-   git log -p -1 "$1" | git patch-id |
+   git log -p -1 "$1" -O bar-then-foo -- | git patch-id |
+   sed "s# .*##" > patch-id_"$1"
+}
+
+get_patch_id_stable () {
+   git log -p -1 "$1" -O bar-then-foo | git patch-id --stable |
+   sed "s# .*##" > patch-id_"$1"
+}
+
+get_patch_id_unstable () {
+   git log -p -1 "$1" -O bar-then-foo | git patch-id --unstable |
sed "s# .*##" > patch-id_"$1"
 }
 
+
 test_expect_success 'patch-id detects equality' '
get_patch_id master &&
get_patch_id same &&
@@ -56,6 +93,27 @@ test_expect_success 'whitespace is irrelevant in footer' '
test_cmp patch-id_master patch-id_same
 '
 
+test_expect_success 'file order is irrelevant by default' '
+   get_patch_id master &&
+   git checkout same &&
+   git format-patch -1 --stdout -O foo-then-bar | calc_patch_id same &&
+   test_cmp patch-id_master patch-id_same
+'
+
+test_expect_success 'file order is irrelevant with --stable' '
+   get_patch_id_stable master &&
+   git checkout same &&
+   git format-patch -1 --stdout -O foo-then-bar | calc_patch_id_stable 
same &&
+   test_cmp patch-id_master patch-id_same
+'
+
+test_expect_success 'file order is relevant with --unstable' '
+   get_patch_id_unstable master &&
+   git checkout same &&
+   git format-patch -1 --stdout -O foo-then-bar | calc_patch_id_unstable 
notsame &&
+   ! test_cmp patch-id_master patch-id_notsame
+'
+
 test_expect_success 'patch-id supports git-format-patch MIME output' '
get_patch_id master &&
git checkout same &&
-- 
MST

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html