git/t/t4204-patch-id.sh
Johannes Sixt 7f733de04e test-suite: Make test script numbers unique
In order to selectively skip tests, the environment variable GIT_SKIP_TESTS
can be set like this:

  $ GIT_SKIP_TESTS='t1301 t4150.18' make test

That is, its value can contain only the test script numbers, but not the
full script name. Therefore, it is important that the test scripts are
uniquely numbered. This makes it so.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-03-14 12:44:20 -07:00

39 lines
821 B
Bash
Executable file

#!/bin/sh
test_description='git patch-id'
. ./test-lib.sh
test_expect_success 'setup' '
test_commit initial foo a &&
test_commit first foo b &&
git checkout -b same HEAD^ &&
test_commit same-msg foo b &&
git checkout -b notsame HEAD^ &&
test_commit notsame-msg foo c
'
test_expect_success 'patch-id output is well-formed' '
git log -p -1 | git patch-id > output &&
grep "^[a-f0-9]\{40\} $(git rev-parse HEAD)$" output
'
get_patch_id () {
git log -p -1 "$1" | git patch-id |
sed "s# .*##" > patch-id_"$1"
}
test_expect_success 'patch-id detects equality' '
get_patch_id master &&
get_patch_id same &&
test_cmp patch-id_master patch-id_same
'
test_expect_success 'patch-id detects inequality' '
get_patch_id master &&
get_patch_id notsame &&
! test_cmp patch-id_master patch-id_notsame
'
test_done