123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292 |
- #!/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' \
- "\
- patching file input
- Possibly reversed hunk 1 at 4
- Hunk 1 FAILED 1/1.
- abc
- +def
- 123
- 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' \
- "\
- patching file input
- Possibly reversed hunk 1 at 4
- Hunk 1 FAILED 1/1.
- abc
- 123
- +456
- 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
- " \
- # 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
- "
- testing "patch internal buffering bug?" \
- 'patch -p1 2>&1; echo $?; cat input' \
- "\
- patching file input
- 0
- foo
- 1
- 2
- 3
- bar
- " \
- "\
- foo
- bar
- " \
- "\
- --- a/input.orig
- +++ b/input
- @@ -5,5 +5,8 @@ foo
-
-
-
- +1
- +2
- +3
-
- bar
- --
- 2.9.2
- " \
- rm input.orig 2>/dev/null
- exit $FAILCOUNT
|