Merge branch 'cl/t9001-cleanup' into maint
[git] / t / t4133-apply-filenames.sh
1 #!/bin/sh
2 #
3 # Copyright (c) 2010 Andreas Gruenbacher
4 #
5
6 test_description='git apply filename consistency check'
7
8 . ./test-lib.sh
9
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 @@
18 +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 @@
27 -1
28 EOF
29 '
30
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
36 '
37
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 @@
44         +1
45         EOF
46         test_must_fail git apply missing_new_filename.diff 2>err &&
47         test_i18ngrep "lacks filename information" err
48 '
49
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 @@
56         -1
57         EOF
58         test_must_fail git apply missing_old_filename.diff 2>err &&
59         test_i18ngrep "lacks filename information" err
60 '
61
62 test_done