find:: get rid of nested function (it's a gcc-ism)
[oweals/busybox.git] / testsuite / patch.tests
index cd0e965cfe34f615b20ce531123fb2b587876b5a..2759d2ad4b788cad47a5afb78c28ae2ba257222a 100755 (executable)
@@ -75,7 +75,7 @@ zxc
 testing "patch detects already applied hunk" \
        'patch 2>&1; echo $?; cat input' \
 "\
-Possibly reversed hunk 1 at 2
+Possibly reversed hunk 1 at 4
 Hunk 1 FAILED 1/1.
  abc
 +def
@@ -103,7 +103,7 @@ def
 testing "patch detects already applied hunk at the EOF" \
        'patch 2>&1; echo $?; cat input' \
 "\
-Possibly reversed hunk 1 at 3
+Possibly reversed hunk 1 at 4
 Hunk 1 FAILED 1/1.
  abc
  123
@@ -129,7 +129,6 @@ abc
 " \
 
 # testing "test name" "command(s)" "expected result" "file input" "stdin"
-
 testing "patch -N ignores already applied hunk" \
        'patch -N 2>&1; echo $?; cat input' \
 "\
@@ -153,6 +152,96 @@ def
  123
 " \
 
+# testing "test name" "command(s)" "expected result" "file input" "stdin"
+testing "patch FILE PATCH" \
+       'cat >a.patch; patch input a.patch 2>&1; echo $?; cat input; rm a.patch' \
+"\
+patching file input
+0
+abc
+def
+123
+" \
+"\
+abc
+123
+" \
+"\
+--- foo.old
++++ foo
+@@ -1,2 +1,3 @@
+ abc
++def
+ 123
+" \
+
+# testing "test name" "command(s)" "expected result" "file input" "stdin"
+testing "patch at the beginning" \
+       'patch 2>&1; cat input' \
+"\
+patching file input
+111changed
+444
+555
+666
+777
+888
+999
+" \
+"\
+111
+222
+333
+444
+555
+666
+777
+888
+999
+" \
+"\
+--- input
++++ input
+@@ -1,6 +1,4 @@
+-111
+-222
+-333
++111changed
+ 444
+ 555
+ 666
+" \
+
+# testing "test name" "command(s)" "expected result" "file input" "stdin"
+testing "patch creates new file" \
+       'patch 2>&1; echo $?; cat testfile; rm testfile' \
+"\
+creating testfile
+0
+qwerty
+" "" "\
+--- /dev/null
++++ testfile
+@@ -0,0 +1 @@
++qwerty
+"
+
+# testing "test name" "command(s)" "expected result" "file input" "stdin"
+testing "patch understands ...dir///dir..." \
+       'patch -p1 2>&1; echo $?' \
+"\
+patching file dir2///file
+patch: can't open 'dir2///file': No such file or directory
+1
+" "" "\
+--- bogus_dir///dir2///file
++++ bogus_dir///dir2///file
+@@ -1,2 +1,3 @@
+ qwe
++asd
+ zxc
+"
+
 rm input.orig 2>/dev/null
 
 exit $FAILCOUNT