Lines Matching +full:foo +full:- +full:bar

2 # SPDX-License-Identifier: BSD-2-Clause
33 atf_check -o inline:"$sz\n" stat -f '%z' $file
39 echo "foo" > bar
41 atf_check cp bar baz
48 echo "foo" > bar
49 ln -s bar baz
51 atf_check cp baz foo
52 atf_check test '!' -L foo
54 atf_check cmp foo bar
60 echo "foo" > bar
62 check_size bar 4
65 atf_check cp bar trunc
74 echo "foo" >foo
75 atf_check cp -l foo bar
76 atf_check -o inline:"foo\n" cat bar
77 atf_check_equal "$(stat -f%d,%i foo)" "$(stat -f%d,%i bar)"
83 echo "foo" >foo
84 echo "bar" >bar
85 atf_check -s not-exit:0 -e match:exists cp -l foo bar
86 atf_check -o inline:"bar\n" cat bar
87 atf_check_not_equal "$(stat -f%d,%i foo)" "$(stat -f%d,%i bar)"
93 echo "foo" >foo
94 echo "bar" >bar
95 atf_check cp -fl foo bar
96 atf_check -o inline:"foo\n" cat bar
97 atf_check_equal "$(stat -f%d,%i foo)" "$(stat -f%d,%i bar)"
104 # PR235438: `cp -R foo foo` would previously infinitely recurse and
106 mkdir foo
107 echo "qux" > foo/bar
108 cp foo/bar foo/zoo
110 atf_check cp -R foo foo
111 atf_check -o inline:"qux\n" cat foo/foo/bar
112 atf_check -o inline:"qux\n" cat foo/foo/zoo
113 atf_check -e not-empty -s not-exit:0 stat foo/foo/foo
120 # Let's do the same thing, except we'll try to recursively copy foo into
122 mkdir foo
123 ln -s foo coo
124 echo "qux" > foo/bar
125 mkdir foo/moo
126 touch foo/moo/roo
127 cp foo/bar foo/zoo
129 atf_check cp -R foo foo/moo
130 atf_check cp -RH coo foo/moo
131 atf_check -o inline:"qux\n" cat foo/moo/foo/bar
132 atf_check -o inline:"qux\n" cat foo/moo/coo/bar
133 atf_check -o inline:"qux\n" cat foo/moo/foo/zoo
134 atf_check -o inline:"qux\n" cat foo/moo/coo/zoo
136 # We should have copied the contents of foo/moo before foo, coo started
138 atf_check -o not-empty stat foo/moo/foo/moo/roo
139 atf_check -o not-empty stat foo/moo/coo/moo/roo
140 atf_check -e not-empty -s not-exit:0 stat foo/moo/foo/moo/foo
141 atf_check -e not-empty -s not-exit:0 stat foo/moo/coo/moo/coo
148 mkdir foo
149 echo "qux" > foo/bar
150 cp foo/bar foo/zoo
152 atf_check ln -s foo roo
153 atf_check cp -RH roo foo
154 atf_check -o inline:"qux\n" cat foo/roo/bar
155 atf_check -o inline:"qux\n" cat foo/roo/zoo
162 # We'll copy foo to a nonexistent subdirectory; ideally, we would
165 # foo/
166 # bar
168 # bar
172 mkdir foo
173 echo "qux" > foo/bar
174 cp foo/bar foo/zoo
176 atf_check cp -R foo foo/dne
177 atf_check -o inline:"qux\n" cat foo/dne/bar
178 atf_check -o inline:"qux\n" cat foo/dne/zoo
179 atf_check -e not-empty -s not-exit:0 stat foo/dne/foo
186 ln -s dir lnk
188 if ! setfacl -m g:staff:D::allow dir ||
189 ! setfacl -m g:staff:d::allow dir/file ; then
192 atf_check -o match:"group:staff:-+D-+" getfacl dir
193 atf_check -o match:"group:staff:-+d-+" getfacl dir/file
194 # file-to-file copy without -p
196 atf_check -o not-match:"group:staff:-+d-+" getfacl dst1
197 # file-to-file copy with -p
198 atf_check cp -p dir/file dst2
199 atf_check -o match:"group:staff:-+d-+" getfacl dst2
200 # recursive copy without -p
201 atf_check cp -r dir dst3
202 atf_check -o not-match:"group:staff:-+D-+" getfacl dst3
203 atf_check -o not-match:"group:staff:-+d-+" getfacl dst3/file
204 # recursive copy with -p
205 atf_check cp -rp dir dst4
206 atf_check -o match:"group:staff:-+D-+" getfacl dst4
207 atf_check -o match:"group:staff:-+d-+" getfacl dst4/file
208 # source is a link without -p
209 atf_check cp -r lnk dst5
210 atf_check -o not-match:"group:staff:-+D-+" getfacl dst5
211 atf_check -o not-match:"group:staff:-+d-+" getfacl dst5/file
212 # source is a link with -p
213 atf_check cp -rp lnk dst6
214 atf_check -o match:"group:staff:-+D-+" getfacl dst6
215 atf_check -o match:"group:staff:-+d-+" getfacl dst6/file
222 ln -s dir lnk
228 atf_check -o match:"nodump" stat -f%Sf dir
229 atf_check -o match:"nodump" stat -f%Sf dir/file
230 # file-to-file copy without -p
232 atf_check -o not-match:"nodump" stat -f%Sf dst1
233 # file-to-file copy with -p
234 atf_check cp -p dir/file dst2
235 atf_check -o match:"nodump" stat -f%Sf dst2
236 # recursive copy without -p
237 atf_check cp -r dir dst3
238 atf_check -o not-match:"nodump" stat -f%Sf dst3
239 atf_check -o not-match:"nodump" stat -f%Sf dst3/file
240 # recursive copy with -p
241 atf_check cp -rp dir dst4
242 atf_check -o match:"nodump" stat -f%Sf dst4
243 atf_check -o match:"nodump" stat -f%Sf dst4/file
244 # source is a link without -p
245 atf_check cp -r lnk dst5
246 atf_check -o not-match:"nodump" stat -f%Sf dst5
247 atf_check -o not-match:"nodump" stat -f%Sf dst5/file
248 # source is a link with -p
249 atf_check cp -rp lnk dst6
250 atf_check -o match:"nodump" stat -f%Sf dst6
251 atf_check -o match:"nodump" stat -f%Sf dst6/file
258 mkdir -p foo/bar
259 ln -s bar foo/baz
261 mkdir foo-mirror
262 eval "cp -R $extra_cpflag foo foo-mirror"
270 # -P is the default, so this should work and preserve the link.
271 atf_check cp -R foo foo-mirror
272 atf_check test -L foo-mirror/foo/baz
280 # -H will not follow either, so this should also work and preserve the
282 atf_check cp -RH foo foo-mirror
283 atf_check test -L foo-mirror/foo/baz
289 recursive_link_setup -L
291 # -L will work, but foo/baz ends up expanded to a directory.
292 atf_check test -d foo-mirror/foo/baz -a \
293 '(' ! -L foo-mirror/foo/baz ')'
294 atf_check cp -RL foo foo-mirror
295 atf_check test -d foo-mirror/foo/baz -a \
296 '(' ! -L foo-mirror/foo/baz ')'
302 echo "foo" >foo
303 ln foo bar
304 ln -s bar baz
305 atf_check -e match:"baz and baz are identical" \
306 -s exit:1 cp baz baz
307 atf_check -e match:"bar and baz are identical" \
308 -s exit:1 cp baz bar
309 atf_check -e match:"foo and baz are identical" \
310 -s exit:1 cp baz foo
311 atf_check -e match:"bar and foo are identical" \
312 -s exit:1 cp foo bar
322 atf_check_not_equal "$(stat -f%d,%i "$1")" "$(stat -f%d,%i "$2")"
329 # A 16-megabyte hole followed by one megabyte of data
330 truncate -s 16M foo
331 seq -f%015g 65536 >>foo
332 file_is_sparse foo
334 atf_check cp foo bar
335 files_are_equal foo bar
336 file_is_sparse bar
342 # Three one-megabyte blocks of data preceded, separated, and
343 # followed by 16-megabyte holes
344 truncate -s 16M foo
345 seq -f%015g 65536 >>foo
346 truncate -s 33M foo
347 seq -f%015g 65536 >>foo
348 truncate -s 50M foo
349 seq -f%015g 65536 >>foo
350 truncate -s 67M foo
351 file_is_sparse foo
353 atf_check cp foo bar
354 files_are_equal foo bar
355 file_is_sparse bar
361 # A 16-megabyte hole
362 truncate -s 16M foo
363 file_is_sparse foo
365 atf_check cp foo bar
366 files_are_equal foo bar
367 file_is_sparse bar
373 # Three one-megabyte blocks of data preceded, separated, and
374 # followed by 16-megabyte holes
375 truncate -s 16M foo
376 seq -f%015g 65536 >>foo
377 truncate -s 33M foo
378 seq -f%015g 65536 >>foo
379 truncate -s 50M foo
380 seq -f%015g 65536 >>foo
381 truncate -s 67M foo
382 file_is_sparse foo
384 atf_check -o file:foo cp foo /dev/stdout
390 # One megabyte of data followed by a 16-megabyte hole
391 seq -f%015g 65536 >foo
392 truncate -s 17M foo
393 file_is_sparse foo
395 atf_check cp foo bar
396 files_are_equal foo bar
397 file_is_sparse bar
403 echo "foo" > bar
404 ln -s bar foo
406 atf_check cp -P foo baz
407 atf_check -o inline:'Symbolic Link\n' stat -f %SHT baz
413 echo "foo" >foo
414 atf_check cp -s foo bar
415 atf_check -o inline:"foo\n" cat bar
416 atf_check -o inline:"foo\n" readlink bar
422 echo "foo" >foo
423 echo "bar" >bar
424 atf_check -s not-exit:0 -e match:exists cp -s foo bar
425 atf_check -o inline:"bar\n" cat bar
431 echo "foo" >foo
432 echo "bar" >bar
433 atf_check cp -fs foo bar
434 atf_check -o inline:"foo\n" cat bar
435 atf_check -o inline:"foo\n" readlink bar
441 mkdir -p foo
442 ln -s .. foo/bar
443 mkdir bar
444 touch bar/baz
445 atf_check -s not-exit:0 -e match:"Not a directory" \
446 cp -R bar foo
447 atf_check -s not-exit:0 -e match:"Not a directory" \
448 cp -r bar foo
454 mkdir -p foo/bar/baz
455 touch bar
456 atf_check -s not-exit:0 -e match:"Is a directory" \
457 cp bar foo
458 rm bar
459 mkdir bar
460 touch bar/baz
461 atf_check -s not-exit:0 -e match:"Is a directory" \
462 cp -R bar foo
463 atf_check -s not-exit:0 -e match:"Is a directory" \
464 cp -r bar foo
471 echo "foo" >dir/foo
472 atf_check cp -r dir dne
473 atf_check test -d dne
474 atf_check test -f dne/foo
475 atf_check cmp dir/foo dne/foo
481 echo "foo" >foo
482 echo "bar" >bar
485 atf_check cp foo bar
486 atf_check cmp -s foo bar
488 atf_check -s not-exit:0 -e match:"Not a directory" \
489 cp foo bar baz
495 echo "foo" >foo
496 ln -s bar baz
497 atf_check cp foo baz
498 atf_check cmp -s foo bar
504 echo "foo" >foo
505 mkdir bar
506 ln -s baz bar/foo
507 atf_check cp foo bar
508 atf_check cmp -s foo bar/baz
509 rm -f bar/foo bar/baz
510 ln -s baz bar/foo
511 atf_check cp foo bar/
512 atf_check cmp -s foo bar/baz
513 rm -f bar/foo bar/baz
514 ln -s $PWD/baz bar/foo
515 atf_check cp foo bar/
516 atf_check cmp -s foo baz
523 echo "foo" >src/file
524 ln -s dir dst
525 atf_check cp -r src dst
526 atf_check cmp -s src/file dir/src/file
527 rm -r dir/*
528 atf_check cp -r src dst/
529 atf_check cmp -s src/file dir/src/file
530 rm -r dir/*
536 atf_check cp -r src/ dst
537 atf_check cmp -s src/file dir/file
538 rm -r dir/*
539 atf_check cp -r src/ dst/
540 atf_check cmp -s src/file dir/file
541 rm -r dir/*
548 echo "foo" >src/file
549 ln -s dir dst
554 # trailing slash and “cannot overwrite non-directory with
556 atf_check -s not-exit:0 -e ignore \
557 cp -r src dst
558 atf_check -s not-exit:0 -e ignore \
559 cp -r src dst/
560 atf_check -s not-exit:0 -e ignore \
561 cp -r src/ dst
562 atf_check -s not-exit:0 -e ignore \
563 cp -r src/ dst/
564 atf_check -s not-exit:0 -e ignore \
565 cp -R src dst
566 atf_check -s not-exit:0 -e ignore \
567 cp -R src dst/
568 atf_check -s not-exit:0 -e ignore \
569 cp -R src/ dst
570 atf_check -s not-exit:0 -e ignore \
571 cp -R src/ dst/
578 echo "foo" >dir/file
579 ln -s ../../file dst/dir/file
581 -s exit:1 \
582 -e match:"dst/dir/file: Permission denied" \
583 cp -r dir dst
589 mkdir -m 0755 dir
590 echo "foo" >dir/file
592 atf_check cp -R dir dst
594 atf_check -o inline:"40600\n" stat -f%p dst
608 echo "foo" >"$dst"
609 atf_check -s not-exit:0 \
610 -e match:"^cp: /$dst: (Permission|Read-only)" \
612 atf_check -s not-exit:0 \
613 -e match:"^cp: /$dst: (Permission|Read-only)" \
628 mkdir -p src/a src/b
629 ln -s ../b src/a
630 ln -s ../a src/b
632 -s exit:1 \
633 -e match:"src/a/b/a: directory causes a cycle" \
634 -e match:"src/b/a/b: directory causes a cycle" \
635 cp -r src dst
636 atf_check test -d dst
637 atf_check test -d dst/a
638 atf_check test -d dst/b
639 atf_check test -d dst/a/b
640 atf_check test ! -e dst/a/b/a
641 atf_check test -d dst/b/a
642 atf_check test ! -e dst/b/a/b
653 mkdir -p src/$d
658 -s exit:1 \
659 -e match:"^cp: src/b: Permission denied" \
660 cp -R src dst
661 atf_check test -d dst/a
663 atf_check test -d dst/b
664 atf_check test ! -e dst/b/f
665 atf_check test -d dst/c
682 -s exit:1 \
683 -e match:"^cp: src/b: Permission denied" \
684 cp -R src dst
685 atf_check test -d dst
687 atf_check test ! -e dst/b