| #!/bin/sh |
| # Copyright 2008 by Denys Vlasenko |
| # Licensed under GPL v2, see file LICENSE for details. |
| |
| . ./testing.sh |
| |
| # testing "test name" "options" "expected result" "file input" "stdin" |
| |
| testing "patch with old_file == new_file" \ |
| 'patch; 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; 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; 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' \ |
| "\ |
| patching file input |
| patch: hunk #1 FAILED at 1 |
| patch: 1 out of 1 hunk FAILED |
| 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 |
| " \ |
| |
| # Currently fails (erroneously appends second "456" line): |
| false && testing "patch detects already applied hunk" \ |
| 'patch 2>&1; echo $?; cat input' \ |
| "\ |
| patching file input |
| patch: hunk #1 FAILED at 2 |
| patch: 1 out of 1 hunk FAILED |
| 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 |
| " \ |
| |
| rm input.orig 2>/dev/null |
| |
| exit $FAILCOUNT |