Junio C Hamano
20 years ago
11 changed files with 520 additions and 51 deletions
@ -0,0 +1,176 @@
@@ -0,0 +1,176 @@
|
||||
#!/bin/sh |
||||
# |
||||
# Copyright (c) 2005 Junio C Hamano |
||||
# Copyright (c) 2005 Robert Fitzsimons |
||||
# |
||||
|
||||
test_description='git-apply test patches with multiple fragments. |
||||
|
||||
' |
||||
. ./test-lib.sh |
||||
|
||||
# setup |
||||
|
||||
cat > patch1.patch <<\EOF |
||||
diff --git a/main.c b/main.c |
||||
new file mode 100644 |
||||
--- /dev/null |
||||
+++ b/main.c |
||||
@@ -0,0 +1,23 @@ |
||||
+#include <stdio.h> |
||||
+ |
||||
+int func(int num); |
||||
+void print_int(int num); |
||||
+ |
||||
+int main() { |
||||
+ int i; |
||||
+ |
||||
+ for (i = 0; i < 10; i++) { |
||||
+ print_int(func(i)); |
||||
+ } |
||||
+ |
||||
+ return 0; |
||||
+} |
||||
+ |
||||
+int func(int num) { |
||||
+ return num * num; |
||||
+} |
||||
+ |
||||
+void print_int(int num) { |
||||
+ printf("%d", num); |
||||
+} |
||||
+ |
||||
EOF |
||||
cat > patch2.patch <<\EOF |
||||
diff --git a/main.c b/main.c |
||||
--- a/main.c |
||||
+++ b/main.c |
||||
@@ -1,7 +1,9 @@ |
||||
+#include <stdlib.h> |
||||
#include <stdio.h> |
||||
|
||||
int func(int num); |
||||
void print_int(int num); |
||||
+void print_ln(); |
||||
|
||||
int main() { |
||||
int i; |
||||
@@ -10,6 +12,8 @@ |
||||
print_int(func(i)); |
||||
} |
||||
|
||||
+ print_ln(); |
||||
+ |
||||
return 0; |
||||
} |
||||
|
||||
@@ -21,3 +25,7 @@ |
||||
printf("%d", num); |
||||
} |
||||
|
||||
+void print_ln() { |
||||
+ printf("\n"); |
||||
+} |
||||
+ |
||||
EOF |
||||
cat > patch3.patch <<\EOF |
||||
diff --git a/main.c b/main.c |
||||
--- a/main.c |
||||
+++ b/main.c |
||||
@@ -1,9 +1,7 @@ |
||||
-#include <stdlib.h> |
||||
#include <stdio.h> |
||||
|
||||
int func(int num); |
||||
void print_int(int num); |
||||
-void print_ln(); |
||||
|
||||
int main() { |
||||
int i; |
||||
@@ -12,8 +10,6 @@ |
||||
print_int(func(i)); |
||||
} |
||||
|
||||
- print_ln(); |
||||
- |
||||
return 0; |
||||
} |
||||
|
||||
@@ -25,7 +21,3 @@ |
||||
printf("%d", num); |
||||
} |
||||
|
||||
-void print_ln() { |
||||
- printf("\n"); |
||||
-} |
||||
- |
||||
EOF |
||||
cat > patch4.patch <<\EOF |
||||
diff --git a/main.c b/main.c |
||||
--- a/main.c |
||||
+++ b/main.c |
||||
@@ -1,13 +1,14 @@ |
||||
#include <stdio.h> |
||||
|
||||
int func(int num); |
||||
-void print_int(int num); |
||||
+int func2(int num); |
||||
|
||||
int main() { |
||||
int i; |
||||
|
||||
for (i = 0; i < 10; i++) { |
||||
- print_int(func(i)); |
||||
+ printf("%d", func(i)); |
||||
+ printf("%d", func3(i)); |
||||
} |
||||
|
||||
return 0; |
||||
@@ -17,7 +18,7 @@ |
||||
return num * num; |
||||
} |
||||
|
||||
-void print_int(int num) { |
||||
- printf("%d", num); |
||||
+int func2(int num) { |
||||
+ return num * num * num; |
||||
} |
||||
|
||||
EOF |
||||
|
||||
test_expect_success "S = git-apply (1)" \ |
||||
'git-apply patch1.patch patch2.patch' |
||||
mv main.c main.c.git |
||||
|
||||
test_expect_success "S = patch (1)" \ |
||||
'cat patch1.patch patch2.patch | patch -p1' |
||||
|
||||
test_expect_success "S = cmp (1)" \ |
||||
'cmp main.c.git main.c' |
||||
|
||||
rm -f main.c main.c.git |
||||
|
||||
test_expect_success "S = git-apply (2)" \ |
||||
'git-apply patch1.patch patch2.patch patch3.patch' |
||||
mv main.c main.c.git |
||||
|
||||
test_expect_success "S = patch (2)" \ |
||||
'cat patch1.patch patch2.patch patch3.patch | patch -p1' |
||||
|
||||
test_expect_success "S = cmp (2)" \ |
||||
'cmp main.c.git main.c' |
||||
|
||||
rm -f main.c main.c.git |
||||
|
||||
test_expect_success "S = git-apply (3)" \ |
||||
'git-apply patch1.patch patch4.patch' |
||||
mv main.c main.c.git |
||||
|
||||
test_expect_success "S = patch (3)" \ |
||||
'cat patch1.patch patch4.patch | patch -p1' |
||||
|
||||
test_expect_success "S = cmp (3)" \ |
||||
'cmp main.c.git main.c' |
||||
|
||||
test_done |
||||
|
@ -0,0 +1,101 @@
@@ -0,0 +1,101 @@
|
||||
#!/bin/sh |
||||
# |
||||
# Copyright (c) 2005 Junio C Hamano |
||||
# Copyright (c) 2005 Robert Fitzsimons |
||||
# |
||||
|
||||
test_description='git-apply test for patches which require scanning forwards and backwards. |
||||
|
||||
' |
||||
. ./test-lib.sh |
||||
|
||||
# setup |
||||
|
||||
cat > patch1.patch <<\EOF |
||||
diff --git a/new.txt b/new.txt |
||||
new file mode 100644 |
||||
--- /dev/null |
||||
+++ b/new.txt |
||||
@@ -0,0 +1,12 @@ |
||||
+a1 |
||||
+a11 |
||||
+a111 |
||||
+a1111 |
||||
+b1 |
||||
+b11 |
||||
+b111 |
||||
+b1111 |
||||
+c1 |
||||
+c11 |
||||
+c111 |
||||
+c1111 |
||||
EOF |
||||
cat > patch2.patch <<\EOF |
||||
diff --git a/new.txt b/new.txt |
||||
--- a/new.txt |
||||
+++ b/new.txt |
||||
@@ -1,7 +1,3 @@ |
||||
-a1 |
||||
-a11 |
||||
-a111 |
||||
-a1111 |
||||
b1 |
||||
b11 |
||||
b111 |
||||
EOF |
||||
cat > patch3.patch <<\EOF |
||||
diff --git a/new.txt b/new.txt |
||||
--- a/new.txt |
||||
+++ b/new.txt |
||||
@@ -6,6 +6,10 @@ |
||||
b11 |
||||
b111 |
||||
b1111 |
||||
+b2 |
||||
+b22 |
||||
+b222 |
||||
+b2222 |
||||
c1 |
||||
c11 |
||||
c111 |
||||
EOF |
||||
cat > patch4.patch <<\EOF |
||||
diff --git a/new.txt b/new.txt |
||||
--- a/new.txt |
||||
+++ b/new.txt |
||||
@@ -1,3 +1,7 @@ |
||||
+a1 |
||||
+a11 |
||||
+a111 |
||||
+a1111 |
||||
b1 |
||||
b11 |
||||
b111 |
||||
EOF |
||||
cat > patch5.patch <<\EOF |
||||
diff --git a/new.txt b/new.txt |
||||
--- a/new.txt |
||||
+++ b/new.txt |
||||
@@ -10,3 +10,7 @@ |
||||
c11 |
||||
c111 |
||||
c1111 |
||||
+c2 |
||||
+c22 |
||||
+c222 |
||||
+c2222 |
||||
EOF |
||||
|
||||
test_expect_success "S = git-apply scan" \ |
||||
'git-apply patch1.patch patch2.patch patch3.patch patch4.patch patch5.patch' |
||||
mv new.txt apply.txt |
||||
|
||||
test_expect_success "S = patch scan" \ |
||||
'cat patch1.patch patch2.patch patch3.patch patch4.patch patch5.patch | patch' |
||||
mv new.txt patch.txt |
||||
|
||||
test_expect_success "S = cmp" \ |
||||
'cmp apply.txt patch.txt' |
||||
|
||||
test_done |
||||
|
Loading…
Reference in new issue