xref: /aosp_15_r20/external/toybox/tests/patch.test (revision cf5a6c84e2b8763fc1a7db14496fd4742913b199)
1*cf5a6c84SAndroid Build Coastguard Worker#!/bin/bash
2*cf5a6c84SAndroid Build Coastguard Worker
3*cf5a6c84SAndroid Build Coastguard Worker[ -f testing.sh ] && . testing.sh
4*cf5a6c84SAndroid Build Coastguard Worker
5*cf5a6c84SAndroid Build Coastguard Worker#testing "name" "command" "result" "infile" "stdin"
6*cf5a6c84SAndroid Build Coastguard Worker
7*cf5a6c84SAndroid Build Coastguard Workertesting "dry run doesn't create file" \
8*cf5a6c84SAndroid Build Coastguard Worker  "patch --dry-run >/dev/null && [ ! -e bork ] && echo yes" "yes\n" "" "
9*cf5a6c84SAndroid Build Coastguard Worker--- /dev/null
10*cf5a6c84SAndroid Build Coastguard Worker+++ bork
11*cf5a6c84SAndroid Build Coastguard Worker@@ -0,0 +1,1 @@
12*cf5a6c84SAndroid Build Coastguard Worker+one
13*cf5a6c84SAndroid Build Coastguard Worker"
14*cf5a6c84SAndroid Build Coastguard Worker
15*cf5a6c84SAndroid Build Coastguard Workertesting "create file" "patch >/dev/null && cat bork" "one\ntwo\nthree\n" "" "
16*cf5a6c84SAndroid Build Coastguard Worker--- /dev/null
17*cf5a6c84SAndroid Build Coastguard Worker+++ bork
18*cf5a6c84SAndroid Build Coastguard Worker@@ -0,0 +1,3 @@
19*cf5a6c84SAndroid Build Coastguard Worker+one
20*cf5a6c84SAndroid Build Coastguard Worker+two
21*cf5a6c84SAndroid Build Coastguard Worker+three
22*cf5a6c84SAndroid Build Coastguard Worker"
23*cf5a6c84SAndroid Build Coastguard Worker
24*cf5a6c84SAndroid Build Coastguard Workertesting "insert in middle" "patch > /dev/null && cat bork" \
25*cf5a6c84SAndroid Build Coastguard Worker  "one\nfour\ntwo\nthree\n" "" "
26*cf5a6c84SAndroid Build Coastguard Worker--- bork
27*cf5a6c84SAndroid Build Coastguard Worker+++ bork
28*cf5a6c84SAndroid Build Coastguard Worker@@ -1,3 +1,4 @@
29*cf5a6c84SAndroid Build Coastguard Worker one
30*cf5a6c84SAndroid Build Coastguard Worker+four
31*cf5a6c84SAndroid Build Coastguard Worker two
32*cf5a6c84SAndroid Build Coastguard Worker three
33*cf5a6c84SAndroid Build Coastguard Worker"
34*cf5a6c84SAndroid Build Coastguard Workertesting "append at end" "patch > /dev/null && cat bork" \
35*cf5a6c84SAndroid Build Coastguard Worker  "one\nfour\ntwo\nthree\nfive\nsix\n" "" "
36*cf5a6c84SAndroid Build Coastguard Worker--- bork
37*cf5a6c84SAndroid Build Coastguard Worker+++ bork
38*cf5a6c84SAndroid Build Coastguard Worker@@ -2,3 +2,5 @@
39*cf5a6c84SAndroid Build Coastguard Worker four
40*cf5a6c84SAndroid Build Coastguard Worker two
41*cf5a6c84SAndroid Build Coastguard Worker three
42*cf5a6c84SAndroid Build Coastguard Worker+five
43*cf5a6c84SAndroid Build Coastguard Worker+six
44*cf5a6c84SAndroid Build Coastguard Worker"
45*cf5a6c84SAndroid Build Coastguard Workertesting "insert at start" "patch > /dev/null && cat bork" \
46*cf5a6c84SAndroid Build Coastguard Worker  "seven\none\nfour\ntwo\nthree\nfive\nsix\n" "" "
47*cf5a6c84SAndroid Build Coastguard Worker--- bork
48*cf5a6c84SAndroid Build Coastguard Worker+++ bork
49*cf5a6c84SAndroid Build Coastguard Worker@@ -1,3 +1,4 @@
50*cf5a6c84SAndroid Build Coastguard Worker+seven
51*cf5a6c84SAndroid Build Coastguard Worker one
52*cf5a6c84SAndroid Build Coastguard Worker four
53*cf5a6c84SAndroid Build Coastguard Worker two
54*cf5a6c84SAndroid Build Coastguard Worker"
55*cf5a6c84SAndroid Build Coastguard Workertesting "delete at end" "patch > /dev/null && cat bork" \
56*cf5a6c84SAndroid Build Coastguard Worker  "seven\none\nfour\ntwo\nthree\nfive\n" "" "
57*cf5a6c84SAndroid Build Coastguard Worker--- bork
58*cf5a6c84SAndroid Build Coastguard Worker+++ bork
59*cf5a6c84SAndroid Build Coastguard Worker@@ -4,4 +4,3 @@
60*cf5a6c84SAndroid Build Coastguard Worker two
61*cf5a6c84SAndroid Build Coastguard Worker three
62*cf5a6c84SAndroid Build Coastguard Worker five
63*cf5a6c84SAndroid Build Coastguard Worker-six
64*cf5a6c84SAndroid Build Coastguard Worker"
65*cf5a6c84SAndroid Build Coastguard Worker
66*cf5a6c84SAndroid Build Coastguard Workertesting "delete at start" "patch > /dev/null && cat bork" \
67*cf5a6c84SAndroid Build Coastguard Worker  "four\ntwo\nthree\nfive\n" "" "
68*cf5a6c84SAndroid Build Coastguard Worker--- bork
69*cf5a6c84SAndroid Build Coastguard Worker+++ bork
70*cf5a6c84SAndroid Build Coastguard Worker@@ -1,5 +1,3 @@
71*cf5a6c84SAndroid Build Coastguard Worker-seven
72*cf5a6c84SAndroid Build Coastguard Worker-one
73*cf5a6c84SAndroid Build Coastguard Worker four
74*cf5a6c84SAndroid Build Coastguard Worker two
75*cf5a6c84SAndroid Build Coastguard Worker three
76*cf5a6c84SAndroid Build Coastguard Worker"
77*cf5a6c84SAndroid Build Coastguard Worker
78*cf5a6c84SAndroid Build Coastguard Workertesting "filter timestamps" "patch > /dev/null && cat bork" \
79*cf5a6c84SAndroid Build Coastguard Worker  "four\ntwo\nthree\neight\nfive\n" "" "
80*cf5a6c84SAndroid Build Coastguard Worker--- bork	2019-12-20 16:54:35.735630973 -0600
81*cf5a6c84SAndroid Build Coastguard Worker+++ bork	2019-12-20 16:57:03.083625706 -0600
82*cf5a6c84SAndroid Build Coastguard Worker@@ -1,4 +1,5 @@
83*cf5a6c84SAndroid Build Coastguard Worker four
84*cf5a6c84SAndroid Build Coastguard Worker two
85*cf5a6c84SAndroid Build Coastguard Worker three
86*cf5a6c84SAndroid Build Coastguard Worker+eight
87*cf5a6c84SAndroid Build Coastguard Worker five
88*cf5a6c84SAndroid Build Coastguard Worker"
89*cf5a6c84SAndroid Build Coastguard Worker
90*cf5a6c84SAndroid Build Coastguard Workertesting "quoted name" "patch > /dev/null && cat 'fruit bat'" \
91*cf5a6c84SAndroid Build Coastguard Worker  "hello\n" "" '
92*cf5a6c84SAndroid Build Coastguard Worker--- /dev/null
93*cf5a6c84SAndroid Build Coastguard Worker+++ "fruit ba\164"
94*cf5a6c84SAndroid Build Coastguard Worker@@ -0,0 +1 @@
95*cf5a6c84SAndroid Build Coastguard Worker+hello
96*cf5a6c84SAndroid Build Coastguard Worker'
97*cf5a6c84SAndroid Build Coastguard Worker
98*cf5a6c84SAndroid Build Coastguard Workertesting "bad quote" "patch 2>&1" $'patch: bad "filename\n' "" '--- "filename'
99*cf5a6c84SAndroid Build Coastguard Worker
100*cf5a6c84SAndroid Build Coastguard Workertesting "dry run doesn't delete file" \
101*cf5a6c84SAndroid Build Coastguard Worker  "patch --dry-run > /dev/null && [ -e 'fruit bat' ] && echo yes" "yes\n" "" '
102*cf5a6c84SAndroid Build Coastguard Worker--- "fruit bat"
103*cf5a6c84SAndroid Build Coastguard Worker+++ /dev/null
104*cf5a6c84SAndroid Build Coastguard Worker@@ -1 +0,0 @@
105*cf5a6c84SAndroid Build Coastguard Worker-hello
106*cf5a6c84SAndroid Build Coastguard Worker'
107*cf5a6c84SAndroid Build Coastguard Worker
108*cf5a6c84SAndroid Build Coastguard Workertesting "delete file" \
109*cf5a6c84SAndroid Build Coastguard Worker  "patch > /dev/null && [ ! -e 'fruit bat' ] && echo yes" "yes\n" "" '
110*cf5a6c84SAndroid Build Coastguard Worker--- "fruit bat"
111*cf5a6c84SAndroid Build Coastguard Worker+++ /dev/null
112*cf5a6c84SAndroid Build Coastguard Worker@@ -1 +0,0 @@
113*cf5a6c84SAndroid Build Coastguard Worker-hello
114*cf5a6c84SAndroid Build Coastguard Worker'
115*cf5a6c84SAndroid Build Coastguard Worker
116*cf5a6c84SAndroid Build Coastguard Worker# todo bork bork2
117*cf5a6c84SAndroid Build Coastguard Worker
118*cf5a6c84SAndroid Build Coastguard Worker# We hit a bug, test the bugfix.
119*cf5a6c84SAndroid Build Coastguard Workertesting "fuzz" "patch > /dev/null && cat input" \
120*cf5a6c84SAndroid Build Coastguard Worker"blah blah
121*cf5a6c84SAndroid Build Coastguard Worker */
122*cf5a6c84SAndroid Build Coastguard Workerpackage org.yaml.snakeyaml.representer;
123*cf5a6c84SAndroid Build Coastguard Worker
124*cf5a6c84SAndroid Build Coastguard Workerimport java.util.ArrayList;
125*cf5a6c84SAndroid Build Coastguard Workerimport java.util.Arrays;
126*cf5a6c84SAndroid Build Coastguard Workerimport java.util.Collections;
127*cf5a6c84SAndroid Build Coastguard Workerimport java.util.Iterator;
128*cf5a6c84SAndroid Build Coastguard Worker" "blah blah
129*cf5a6c84SAndroid Build Coastguard Worker */
130*cf5a6c84SAndroid Build Coastguard Workerpackage org.yaml.snakeyaml.representer;
131*cf5a6c84SAndroid Build Coastguard Worker
132*cf5a6c84SAndroid Build Coastguard Workerimport java.beans.IntrospectionException;
133*cf5a6c84SAndroid Build Coastguard Workerimport java.util.ArrayList;
134*cf5a6c84SAndroid Build Coastguard Workerimport java.util.Arrays;
135*cf5a6c84SAndroid Build Coastguard Workerimport java.util.Collections;
136*cf5a6c84SAndroid Build Coastguard Workerimport java.util.Iterator;
137*cf5a6c84SAndroid Build Coastguard Worker" "--- a/x/input
138*cf5a6c84SAndroid Build Coastguard Worker+++ b/x/input
139*cf5a6c84SAndroid Build Coastguard Worker@@ -15,7 +15,6 @@
140*cf5a6c84SAndroid Build Coastguard Worker  */
141*cf5a6c84SAndroid Build Coastguard Worker package org.yaml.snakeyaml.representer;
142*cf5a6c84SAndroid Build Coastguard Worker
143*cf5a6c84SAndroid Build Coastguard Worker-import java.beans.IntrospectionException;
144*cf5a6c84SAndroid Build Coastguard Worker import java.util.ArrayList;
145*cf5a6c84SAndroid Build Coastguard Worker import java.util.Arrays;
146*cf5a6c84SAndroid Build Coastguard Worker import java.util.Iterator;
147*cf5a6c84SAndroid Build Coastguard Worker"
148