3 6dbf1e9e 2019-03-26 stsp # Copyright (c) 2019 Stefan Sperling <stsp@openbsd.org>
5 6dbf1e9e 2019-03-26 stsp # Permission to use, copy, modify, and distribute this software for any
6 6dbf1e9e 2019-03-26 stsp # purpose with or without fee is hereby granted, provided that the above
7 6dbf1e9e 2019-03-26 stsp # copyright notice and this permission notice appear in all copies.
9 6dbf1e9e 2019-03-26 stsp # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 6dbf1e9e 2019-03-26 stsp # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 6dbf1e9e 2019-03-26 stsp # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 6dbf1e9e 2019-03-26 stsp # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 6dbf1e9e 2019-03-26 stsp # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 6dbf1e9e 2019-03-26 stsp # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 6dbf1e9e 2019-03-26 stsp # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 6dbf1e9e 2019-03-26 stsp . ./common.sh
19 6dbf1e9e 2019-03-26 stsp function test_add_basic {
20 6dbf1e9e 2019-03-26 stsp local testroot=`test_init add_basic`
22 6dbf1e9e 2019-03-26 stsp got checkout $testroot/repo $testroot/wt > /dev/null
24 6dbf1e9e 2019-03-26 stsp if [ "$ret" != "0" ]; then
25 6dbf1e9e 2019-03-26 stsp test_done "$testroot" "$ret"
29 6dbf1e9e 2019-03-26 stsp echo "new file" > $testroot/wt/foo
31 6dbf1e9e 2019-03-26 stsp echo 'A foo' > $testroot/stdout.expected
32 6dbf1e9e 2019-03-26 stsp (cd $testroot/wt && got add foo > $testroot/stdout)
34 8d301dd9 2019-05-14 stsp cmp -s $testroot/stdout.expected $testroot/stdout
36 6dbf1e9e 2019-03-26 stsp if [ "$ret" != "0" ]; then
37 6dbf1e9e 2019-03-26 stsp diff -u $testroot/stdout.expected $testroot/stdout
39 6dbf1e9e 2019-03-26 stsp test_done "$testroot" "$ret"
42 5c99ca9f 2019-03-27 stsp function test_double_add {
43 5c99ca9f 2019-03-27 stsp local testroot=`test_init double_add`
45 5c99ca9f 2019-03-27 stsp got checkout $testroot/repo $testroot/wt > /dev/null
47 5c99ca9f 2019-03-27 stsp if [ "$ret" != "0" ]; then
48 5c99ca9f 2019-03-27 stsp test_done "$testroot" "$ret"
52 5c99ca9f 2019-03-27 stsp echo "new file" > $testroot/wt/foo
53 5c99ca9f 2019-03-27 stsp (cd $testroot/wt && got add foo > /dev/null)
55 723c305c 2019-05-11 jcs (cd $testroot/wt && got add foo)
57 723c305c 2019-05-11 jcs if [ "$ret" != "0" ]; then
58 723c305c 2019-05-11 jcs echo "got add failed unexpectedly" >&2
59 5c99ca9f 2019-03-27 stsp test_done "$testroot" 1
63 723c305c 2019-05-11 jcs test_done "$testroot" "$ret"
66 723c305c 2019-05-11 jcs function test_add_multiple {
67 723c305c 2019-05-11 jcs local testroot=`test_init multiple_add`
69 723c305c 2019-05-11 jcs got checkout $testroot/repo $testroot/wt > /dev/null
71 5c99ca9f 2019-03-27 stsp if [ "$ret" != "0" ]; then
72 723c305c 2019-05-11 jcs test_done "$testroot" "$ret"
76 723c305c 2019-05-11 jcs echo "new file" > $testroot/wt/foo
77 723c305c 2019-05-11 jcs echo "new file" > $testroot/wt/bar
78 723c305c 2019-05-11 jcs echo "new file" > $testroot/wt/baz
79 2b01eb6c 2019-05-11 stsp (cd $testroot/wt && got add foo bar baz > $testroot/stdout)
81 723c305c 2019-05-11 jcs if [ "$ret" != "0" ]; then
82 723c305c 2019-05-11 jcs echo "got add failed unexpectedly" >&2
83 723c305c 2019-05-11 jcs test_done "$testroot" 1
87 6d022e97 2019-08-04 stsp echo "A foo" > $testroot/stdout.expected
88 6d022e97 2019-08-04 stsp echo "A bar" >> $testroot/stdout.expected
89 2b01eb6c 2019-05-11 stsp echo "A baz" >> $testroot/stdout.expected
91 8d301dd9 2019-05-14 stsp cmp -s $testroot/stdout.expected $testroot/stdout
93 2b01eb6c 2019-05-11 stsp if [ "$ret" != "0" ]; then
94 2b01eb6c 2019-05-11 stsp diff -u $testroot/stdout.expected $testroot/stdout
96 5c99ca9f 2019-03-27 stsp test_done "$testroot" "$ret"
99 a9fa2909 2019-07-27 stsp function test_add_file_in_new_subdir {
100 a9fa2909 2019-07-27 stsp local testroot=`test_init add_file_in_new_subdir`
102 a9fa2909 2019-07-27 stsp got checkout $testroot/repo $testroot/wt > /dev/null
104 a9fa2909 2019-07-27 stsp if [ "$ret" != "0" ]; then
105 a9fa2909 2019-07-27 stsp test_done "$testroot" "$ret"
109 a9fa2909 2019-07-27 stsp mkdir -p $testroot/wt/new
110 a9fa2909 2019-07-27 stsp echo "new file" > $testroot/wt/new/foo
112 a9fa2909 2019-07-27 stsp echo 'A new/foo' > $testroot/stdout.expected
113 a9fa2909 2019-07-27 stsp (cd $testroot/wt && got add new/foo > $testroot/stdout)
115 a9fa2909 2019-07-27 stsp cmp -s $testroot/stdout.expected $testroot/stdout
117 a9fa2909 2019-07-27 stsp if [ "$ret" != "0" ]; then
118 a9fa2909 2019-07-27 stsp diff -u $testroot/stdout.expected $testroot/stdout
120 a9fa2909 2019-07-27 stsp test_done "$testroot" "$ret"
123 6d022e97 2019-08-04 stsp function test_add_deleted {
124 6d022e97 2019-08-04 stsp local testroot=`test_init add_deleted`
126 6d022e97 2019-08-04 stsp got checkout $testroot/repo $testroot/wt > /dev/null
128 6d022e97 2019-08-04 stsp if [ "$ret" != "0" ]; then
129 6d022e97 2019-08-04 stsp test_done "$testroot" "$ret"
133 6d022e97 2019-08-04 stsp (cd $testroot/wt && got rm beta > /dev/null)
135 6d022e97 2019-08-04 stsp echo -n > $testroot/stdout.expected
136 6d022e97 2019-08-04 stsp (cd $testroot/wt && got add beta > $testroot/stdout 2> $testroot/stderr)
138 6d022e97 2019-08-04 stsp if [ "$ret" == "0" ]; then
139 6d022e97 2019-08-04 stsp echo "got add command succeeded unexpectedly" >&2
140 6d022e97 2019-08-04 stsp diff -u $testroot/stdout.expected $testroot/stdout
141 6d022e97 2019-08-04 stsp test_done "$testroot" "1"
145 6d022e97 2019-08-04 stsp echo "got: beta: file has unexpected status" > $testroot/stderr.expected
146 6d022e97 2019-08-04 stsp cmp -s $testroot/stderr.expected $testroot/stderr
148 6d022e97 2019-08-04 stsp if [ "$ret" != "0" ]; then
149 6d022e97 2019-08-04 stsp diff -u $testroot/stderr.expected $testroot/stderr
151 6d022e97 2019-08-04 stsp test_done "$testroot" "$ret"
154 4e68cba3 2019-11-23 stsp function test_add_directory {
155 4e68cba3 2019-11-23 stsp local testroot=`test_init add_directory`
157 4e68cba3 2019-11-23 stsp got checkout $testroot/repo $testroot/wt > /dev/null
159 4e68cba3 2019-11-23 stsp if [ "$ret" != "0" ]; then
160 4e68cba3 2019-11-23 stsp test_done "$testroot" "$ret"
164 4e68cba3 2019-11-23 stsp (cd $testroot/wt && got add . > $testroot/stdout 2> $testroot/stderr)
166 022fae89 2019-12-06 tracey echo "got: adding directories requires -R option" \
167 022fae89 2019-12-06 tracey > $testroot/stderr.expected
168 022fae89 2019-12-06 tracey cmp -s $testroot/stderr.expected $testroot/stderr
170 022fae89 2019-12-06 tracey if [ "$ret" != "0" ]; then
171 022fae89 2019-12-06 tracey diff -u $testroot/stderr.expected $testroot/stderr
172 022fae89 2019-12-06 tracey test_done "$testroot" "$ret"
176 022fae89 2019-12-06 tracey (cd $testroot/wt && got add -I . > $testroot/stdout 2> $testroot/stderr)
178 022fae89 2019-12-06 tracey echo "got: disregarding ignores requires -R option" \
179 4e68cba3 2019-11-23 stsp > $testroot/stderr.expected
180 4e68cba3 2019-11-23 stsp cmp -s $testroot/stderr.expected $testroot/stderr
182 4e68cba3 2019-11-23 stsp if [ "$ret" != "0" ]; then
183 4e68cba3 2019-11-23 stsp diff -u $testroot/stderr.expected $testroot/stderr
184 4e68cba3 2019-11-23 stsp test_done "$testroot" "$ret"
188 4e68cba3 2019-11-23 stsp echo -n > $testroot/stdout.expected
189 4e68cba3 2019-11-23 stsp cmp -s $testroot/stdout.expected $testroot/stdout
191 4e68cba3 2019-11-23 stsp if [ "$ret" != "0" ]; then
192 4e68cba3 2019-11-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
193 4e68cba3 2019-11-23 stsp test_done "$testroot" "$ret"
197 022fae89 2019-12-06 tracey mkdir -p $testroot/wt/tree1
198 022fae89 2019-12-06 tracey mkdir -p $testroot/wt/tree2
199 022fae89 2019-12-06 tracey echo "tree1/**" > $testroot/wt/.gitignore
200 022fae89 2019-12-06 tracey echo "tree2/**" >> $testroot/wt/.gitignore
201 022fae89 2019-12-06 tracey echo -n > $testroot/wt/tree1/foo
202 022fae89 2019-12-06 tracey echo -n > $testroot/wt/tree2/foo
203 022fae89 2019-12-06 tracey echo -n > $testroot/wt/epsilon/zeta1
204 022fae89 2019-12-06 tracey echo -n > $testroot/wt/epsilon/zeta2
206 4e68cba3 2019-11-23 stsp (cd $testroot/wt && got add -R . > $testroot/stdout)
208 022fae89 2019-12-06 tracey echo 'A .gitignore' > $testroot/stdout.expected
209 022fae89 2019-12-06 tracey echo 'A epsilon/zeta1' >> $testroot/stdout.expected
210 4e68cba3 2019-11-23 stsp echo 'A epsilon/zeta2' >> $testroot/stdout.expected
212 4e68cba3 2019-11-23 stsp cmp -s $testroot/stdout.expected $testroot/stdout
214 4e68cba3 2019-11-23 stsp if [ "$ret" != "0" ]; then
215 4e68cba3 2019-11-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
216 4e68cba3 2019-11-23 stsp test_done "$testroot" "$ret"
220 022fae89 2019-12-06 tracey (cd $testroot/wt && got add -RI tree1 > $testroot/stdout)
222 022fae89 2019-12-06 tracey echo 'A tree1/foo' > $testroot/stdout.expected
224 022fae89 2019-12-06 tracey cmp -s $testroot/stdout.expected $testroot/stdout
226 4e68cba3 2019-11-23 stsp if [ "$ret" != "0" ]; then
227 022fae89 2019-12-06 tracey diff -u $testroot/stdout.expected $testroot/stdout
228 022fae89 2019-12-06 tracey test_done "$testroot" "$ret"
232 022fae89 2019-12-06 tracey (cd $testroot/wt && got add tree2/foo > $testroot/stdout)
234 022fae89 2019-12-06 tracey echo 'A tree2/foo' > $testroot/stdout.expected
236 022fae89 2019-12-06 tracey cmp -s $testroot/stdout.expected $testroot/stdout
238 022fae89 2019-12-06 tracey if [ "$ret" != "0" ]; then
239 022fae89 2019-12-06 tracey diff -u $testroot/stdout.expected $testroot/stdout
240 022fae89 2019-12-06 tracey test_done "$testroot" "$ret"
243 4e68cba3 2019-11-23 stsp test_done "$testroot" "$ret"
246 6dbf1e9e 2019-03-26 stsp run_test test_add_basic
247 5c99ca9f 2019-03-27 stsp run_test test_double_add
248 2b01eb6c 2019-05-11 stsp run_test test_add_multiple
249 a9fa2909 2019-07-27 stsp run_test test_add_file_in_new_subdir
250 6d022e97 2019-08-04 stsp run_test test_add_deleted
251 4e68cba3 2019-11-23 stsp run_test test_add_directory