#!/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 4 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 4 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