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