diff options
author | Jean Delvare <jdelvare@suse.de> | 2012-12-18 18:14:43 +0100 |
---|---|---|
committer | Jean Delvare <jdelvare@suse.de> | 2012-12-18 18:14:43 +0100 |
commit | 5c1fda67244d1d516e12e757c0c09e729c0b73aa (patch) | |
tree | 744add4f136d8aa6eb5a9a439b07bf6408fc0f92 | |
parent | 4de44512ba606c687158a0e58e94429c03e94d41 (diff) | |
download | quilt-5c1fda67244d1d516e12e757c0c09e729c0b73aa.tar.gz |
Add a test case for remove-trailing-ws script
As a bug was recently found in this script, add a test case covering
both unified and context patch formats, so that hopefully no other
bug creeps in in the future.
-rw-r--r-- | test/remove-trailing-ws.test | 193 |
1 files changed, 193 insertions, 0 deletions
diff --git a/test/remove-trailing-ws.test b/test/remove-trailing-ws.test new file mode 100644 index 0000000..cb93b52 --- /dev/null +++ b/test/remove-trailing-ws.test @@ -0,0 +1,193 @@ +# Unit test for the remove-trailing-ws script. + +# Prepare the working directory +$ mkdir files.orig files + +$ cat > files.orig/add +< Line 1 +< Line 2 +< Line 3 +< +< Line 5 +< Line 6 +$ cat > files.orig/change +< change +< from +< this +$ cat > files.orig/complex +< Line 1 +< Line 2 +< +< Line 3 +< Line 4 +< +< Line 5 +< Line 6 +< +< Line 7 +< Line 8 +< +< Line 9 +< Line 10 +$ cat > files.orig/delete +< delete +< an old +< file +$ cat > files.orig/remove +< Line 1 +< Line 2 +< +< Line 3 +< Line 4 +< +< Line 5 +< Line 6 +$ cat > files.orig/remove-at-end +< Line 1 +< Line 2 +< +< Line 3 +< Line 4 +< +< Line 5 +< Line 6 +< +< Line 7 +< Line 8 +< +< Line 9 +< Line 10 + +$ cat > files/add +< Line 1 +< Line 2 +< +< Line 3 +< Line 4 +< +< Line 5 +< Line 6 +$ cat > files/change +< change +< to +< that +$ cat > files/complex +< Line 1 +< Line 2 +< Line 3 +< Line 4 +< +< Line 5 +< Line 6 +< +< Line 7 +< Line 8 +< +< Line 9 +< Line A +< +< Line B +< Line C +< +< Line D +< Line E +< Line F +< Line 10 +$ cat > files/create +< create +< a new +< file +$ cat > files/remove +< Line 1 +< Line 2 +< Line 3 +< +< Line 5 +< Line 6 +$ cat > files/remove-at-end +< Line 1 +< Line 2 +< +< Line 3 +< Line 4 +< +< Line 5 +< Line 6 + +$ cp -r files files.backup + +# Generate the two patches +$ diff -ruN files.orig files > unified.diff +# For the context diff we need the files listed in a certain order to +# cover some corner cases +$ diff -c files.orig/add files/add > context.diff +$ diff -C 10 files.orig/remove-at-end files/remove-at-end >> context.diff +$ diff -cN files.orig/create files/create | sed -e '/^diff /d' >> context.diff +$ diff -cN files.orig/delete files/delete >> context.diff +$ diff -c files.orig/remove files/remove | sed -e '/^diff /d' >> context.diff +$ diff -c files.orig/change files/change | sed -e '/^diff /d' >> context.diff +$ diff -c files.orig/complex files/complex >> context.diff + +$ %{QUILT_DIR}/scripts/remove-trailing-ws < unified.diff > unified-wsok.diff +> Removing trailing whitespace from line 5 of files/add +> Removing trailing whitespace from lines 2,3 of files/change +> Removing trailing whitespace from lines 12,16 of files/complex +> Removing trailing whitespace from lines 1,2,3 of files/create +$ wc -l files/add +> 8 files/add +$ wc -l files/change +> 3 files/change +$ wc -l files/complex +> 21 files/complex +$ wc -l files/create +> 3 files/create +$ wc -l files/remove +> 6 files/remove +$ wc -l files/remove-at-end +> 8 files/remove-at-end +$ wc -l unified.diff +> 85 unified.diff +$ wc -l unified-wsok.diff +> 85 unified-wsok.diff +$ diff -u unified.diff unified-wsok.diff | grep '^++[^+]' +> ++Line 4 +> ++to +> ++that +> ++Line 9 +> ++Line C +> ++create +> ++a new +> ++file + +$ rm -rf files +$ mv files.backup files +$ %{QUILT_DIR}/scripts/remove-trailing-ws < context.diff > context-wsok.diff +> Removing trailing whitespace from line 5 of files/add +> Removing trailing whitespace from lines 2,3 of files/change +> Removing trailing whitespace from lines 12,16 of files/complex +> Removing trailing whitespace from lines 1,2,3 of files/create +$ wc -l files/add +> 8 files/add +$ wc -l files/change +> 3 files/change +$ wc -l files/complex +> 21 files/complex +$ wc -l files/create +> 3 files/create +$ wc -l files/remove +> 6 files/remove +$ wc -l files/remove-at-end +> 8 files/remove-at-end +$ wc -l context.diff +> 104 context.diff +$ wc -l context-wsok.diff +> 104 context-wsok.diff +$ diff -u context.diff context-wsok.diff | grep '^+[+!] ' +> ++ Line 4 +> ++ create +> ++ a new +> ++ file +> +! to +> +! that +> +! Line 9 +> +! Line C |