summaryrefslogtreecommitdiff
path: root/t/t4123-apply-shrink.sh
blob: dfa053ff28e8cbeb9ae311732871811777a8a18c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#!/bin/sh

test_description='apply a patch that is larger than the preimage'


TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh

cat >F  <<\EOF
1
2
3
4
5
6
7
8
999999
A
B
C
D
E
F
G
H
I
J

EOF

test_expect_success setup '

	git add F &&
	mv F G &&
	sed -e "s/1/11/" -e "s/999999/9/" -e "s/H/HH/" <G >F &&
	git diff >patch &&
	sed -e "/^\$/d" <G >F &&
	git add F

'

test_expect_success 'apply should fail gracefully' '

	if git apply --index patch
	then
		echo Oops, should not have succeeded
		false
	else
		status=$? &&
		echo "Status was $status" &&
		if test -f .git/index.lock
		then
			echo Oops, should not have crashed
			false
		fi
	fi
'

test_done