| #!/bin/sh |
| # Copyright 2008 by Denys Vlasenko |
| # Licensed under GPLv2, see file LICENSE in this source tree. |
| |
| . ./testing.sh |
| |
| # testing "test name" "command(s)" "expected result" "file input" "stdin" |
| |
| testing "patch with old_file == new_file" \ |
| 'patch 2>&1; echo $?; cat input' \ |
| "\ |
| patching file input |
| 0 |
| qwe |
| asd |
| zxc |
| " \ |
| "\ |
| qwe |
| zxc |
| " \ |
| "\ |
| --- input Jan 01 01:01:01 2000 |
| +++ input Jan 01 01:01:01 2000 |
| @@ -1,2 +1,3 @@ |
| qwe |
| +asd |
| zxc |
| " \ |
| |
| testing "patch with nonexistent old_file" \ |
| 'patch 2>&1; echo $?; cat input' \ |
| "\ |
| patching file input |
| 0 |
| qwe |
| asd |
| zxc |
| " \ |
| "\ |
| qwe |
| zxc |
| " \ |
| "\ |
| --- input.doesnt_exist Jan 01 01:01:01 2000 |
| +++ input Jan 01 01:01:01 2000 |
| @@ -1,2 +1,3 @@ |
| qwe |
| +asd |
| zxc |
| " \ |
| |
| testing "patch -R with nonexistent old_file" \ |
| 'patch -R 2>&1; echo $?; cat input' \ |
| "\ |
| patching file input |
| 0 |
| qwe |
| zxc |
| " \ |
| "\ |
| qwe |
| asd |
| zxc |
| " \ |
| "\ |
| --- input.doesnt_exist Jan 01 01:01:01 2000 |
| +++ input Jan 01 01:01:01 2000 |
| @@ -1,2 +1,3 @@ |
| qwe |
| +asd |
| zxc |
| " \ |
| |
| testing "patch detects already applied hunk" \ |
| 'patch 2>&1; echo $?; cat input' \ |
| "\ |
| Possibly reversed hunk 1 at 2 |
| Hunk 1 FAILED 1/1. |
| abc |
| +def |
| 123 |
| patching file input |
| 1 |
| abc |
| def |
| 123 |
| " \ |
| "\ |
| abc |
| def |
| 123 |
| " \ |
| "\ |
| --- input.old Jan 01 01:01:01 2000 |
| +++ input Jan 01 01:01:01 2000 |
| @@ -1,2 +1,3 @@ |
| abc |
| +def |
| 123 |
| " \ |
| |
| testing "patch detects already applied hunk at the EOF" \ |
| 'patch 2>&1; echo $?; cat input' \ |
| "\ |
| Possibly reversed hunk 1 at 3 |
| Hunk 1 FAILED 1/1. |
| abc |
| 123 |
| +456 |
| patching file input |
| 1 |
| abc |
| 123 |
| 456 |
| " \ |
| "\ |
| abc |
| 123 |
| 456 |
| " \ |
| "\ |
| --- input.old Jan 01 01:01:01 2000 |
| +++ input Jan 01 01:01:01 2000 |
| @@ -1,2 +1,3 @@ |
| abc |
| 123 |
| +456 |
| " \ |
| |
| # testing "test name" "command(s)" "expected result" "file input" "stdin" |
| testing "patch -N ignores already applied hunk" \ |
| 'patch -N 2>&1; echo $?; cat input' \ |
| "\ |
| patching file input |
| 0 |
| abc |
| def |
| 123 |
| " \ |
| "\ |
| abc |
| def |
| 123 |
| " \ |
| "\ |
| --- input |
| +++ input |
| @@ -1,2 +1,3 @@ |
| abc |
| +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 |
| " \ |
| |
| rm input.orig 2>/dev/null |
| |
| exit $FAILCOUNT |