mirror of
https://github.com/git/git
synced 2024-08-24 18:26:02 +00:00
mask necessary whitespace policy violations in test scripts
All of these violations are necessary parts of the tests (which are generally checking the behavior of trailing whitespace, or contain diff fragments with empty lines). Our solution is two-fold: 1. Process input with whitespace problems using tr. This has the added bonus that it becomes very obvious where the bogus whitespace is intended to go. 2. Move large diff fragments into their own supplemental files. This gets rid of the whitespace problem, since supplemental files are not checked, and it also makes the test script a bit easier to read. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
3b2eb186bb
commit
74f16b0c6f
|
@ -241,11 +241,11 @@ check_verify_failure 'disallow spaces in tag email' \
|
|||
############################################################
|
||||
# 17. disallow missing tag timestamp
|
||||
|
||||
cat >tag.sig <<EOF
|
||||
tr '_' ' ' >tag.sig <<EOF
|
||||
object $head
|
||||
type commit
|
||||
tag mytag
|
||||
tagger T A Gger <tagger@example.com>
|
||||
tagger T A Gger <tagger@example.com>__
|
||||
|
||||
EOF
|
||||
|
||||
|
|
|
@ -62,16 +62,16 @@ EOF
|
|||
|
||||
git update-index x
|
||||
|
||||
cat << EOF > x
|
||||
tr '_' ' ' << EOF > x
|
||||
whitespace at beginning
|
||||
whitespace change
|
||||
white space in the middle
|
||||
whitespace at end
|
||||
whitespace at end__
|
||||
unchanged line
|
||||
CR at end
|
||||
EOF
|
||||
|
||||
tr 'Q' '\015' << EOF > expect
|
||||
tr 'Q_' '\015 ' << EOF > expect
|
||||
diff --git a/x b/x
|
||||
index d99af23..8b32fb5 100644
|
||||
--- a/x
|
||||
|
@ -84,7 +84,7 @@ index d99af23..8b32fb5 100644
|
|||
+ whitespace at beginning
|
||||
+whitespace change
|
||||
+white space in the middle
|
||||
+whitespace at end
|
||||
+whitespace at end__
|
||||
unchanged line
|
||||
-CR at endQ
|
||||
+CR at end
|
||||
|
|
|
@ -9,134 +9,10 @@ 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
|
||||
cp ../t4109/patch1.patch .
|
||||
cp ../t4109/patch2.patch .
|
||||
cp ../t4109/patch3.patch .
|
||||
cp ../t4109/patch4.patch .
|
||||
|
||||
test_expect_success "S = git apply (1)" \
|
||||
'git apply patch1.patch patch2.patch'
|
||||
|
|
28
t/t4109/patch1.patch
Normal file
28
t/t4109/patch1.patch
Normal file
|
@ -0,0 +1,28 @@
|
|||
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);
|
||||
+}
|
||||
+
|
30
t/t4109/patch2.patch
Normal file
30
t/t4109/patch2.patch
Normal file
|
@ -0,0 +1,30 @@
|
|||
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");
|
||||
+}
|
||||
+
|
31
t/t4109/patch3.patch
Normal file
31
t/t4109/patch3.patch
Normal file
|
@ -0,0 +1,31 @@
|
|||
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");
|
||||
-}
|
||||
-
|
30
t/t4109/patch4.patch
Normal file
30
t/t4109/patch4.patch
Normal file
|
@ -0,0 +1,30 @@
|
|||
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;
|
||||
}
|
||||
|
|
@ -19,12 +19,12 @@ test_expect_success setup '
|
|||
'
|
||||
|
||||
# Also handcraft GNU diff output; note this has trailing whitespace.
|
||||
cat >gpatch.file <<\EOF &&
|
||||
tr '_' ' ' >gpatch.file <<\EOF &&
|
||||
--- file1 2007-02-21 01:04:24.000000000 -0800
|
||||
+++ file1+ 2007-02-21 01:07:44.000000000 -0800
|
||||
@@ -1 +1 @@
|
||||
-A
|
||||
+B
|
||||
+B_
|
||||
EOF
|
||||
|
||||
sed -e 's|file1|sub/&|' gpatch.file >gpatch-sub.file &&
|
||||
|
|
Loading…
Reference in a new issue