ls: --color now highlights hard linked files, too
[coreutils/bo.git] / tests / du / exclude
blobe6fd68f48f60d42d7d33fe55026b11f702323086
1 #!/bin/sh
2 # make sure du's --exclude option works
4 # Copyright (C) 2003-2008 Free Software Foundation, Inc.
6 # This program is free software: you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation, either version 3 of the License, or
9 # (at your option) any later version.
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License
17 # along with this program. If not, see <http://www.gnu.org/licenses/>.
19 if test "$VERBOSE" = yes; then
20 set -x
21 du --version
24 . $srcdir/test-lib.sh
26 mkdir -p a/b/c a/x/y a/u/v || framework_failure
28 fail=0
30 du --exclude=x a | sed 's/^[0-9][0-9]* //' | sort > out || fail=1
31 printf '===\n' >> out
32 printf 'b\n' > excl
33 du --exclude-from=excl a | sed 's/^[0-9][0-9]* //' | sort >> out || fail=1
34 printf '===\n' >> out
35 # Make sure that we can exclude an entire hierarchy.
36 du --exclude=a a >> out || fail=1
37 # Make sure that we can exclude based on more than one component.
38 # Before coreutils-5.3.0, this part would fail.
39 printf '===\n' >> out
40 du --exclude=a/u --exclude=a/b a \
41 | sed 's/^[0-9][0-9]* //' | sort >> out || fail=1
42 cat <<\EOF > exp
44 a/b
45 a/b/c
46 a/u
47 a/u/v
48 ===
50 a/u
51 a/u/v
52 a/x
53 a/x/y
54 ===
55 ===
57 a/x
58 a/x/y
59 EOF
61 compare out exp || fail=1
63 Exit $fail