t/helper: teach test-regex to report pattern errors (like REG_ILLSEQ)
[git/debian.git] / t / t4133-apply-filenames.sh
blobc5ed3b17c4a1196e154affc346b5fd3d4e0a7abf
1 #!/bin/sh
3 # Copyright (c) 2010 Andreas Gruenbacher
6 test_description='git apply filename consistency check'
8 . ./test-lib.sh
10 test_expect_success setup '
11 cat > bad1.patch <<EOF &&
12 diff --git a/f b/f
13 new file mode 100644
14 index 0000000..d00491f
15 --- /dev/null
16 +++ b/f-blah
17 @@ -0,0 +1 @@
19 EOF
20 cat > bad2.patch <<EOF
21 diff --git a/f b/f
22 deleted file mode 100644
23 index d00491f..0000000
24 --- b/f-blah
25 +++ /dev/null
26 @@ -1 +0,0 @@
28 EOF
31 test_expect_success 'apply diff with inconsistent filenames in headers' '
32 test_must_fail git apply bad1.patch 2>err &&
33 test_i18ngrep "inconsistent new filename" err &&
34 test_must_fail git apply bad2.patch 2>err &&
35 test_i18ngrep "inconsistent old filename" err
38 test_expect_success 'apply diff with new filename missing from headers' '
39 cat >missing_new_filename.diff <<-\EOF &&
40 diff --git a/f b/f
41 index 0000000..d00491f
42 --- a/f
43 @@ -0,0 +1 @@
45 EOF
46 test_must_fail git apply missing_new_filename.diff 2>err &&
47 test_i18ngrep "lacks filename information" err
50 test_expect_success 'apply diff with old filename missing from headers' '
51 cat >missing_old_filename.diff <<-\EOF &&
52 diff --git a/f b/f
53 index d00491f..0000000
54 +++ b/f
55 @@ -1 +0,0 @@
57 EOF
58 test_must_fail git apply missing_old_filename.diff 2>err &&
59 test_i18ngrep "lacks filename information" err
62 test_done