2 # Ensure that df outputs one line per entry
4 # Copyright (C) 2012-2024 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 <https://www.gnu.org/licenses/>.
19 .
"${srcdir=.}/tests/init.sh"; path_prepend_ .
/src
24 # Ensure a new line in a mount point only outputs a single line
30 cleanup_
() { umount
"$cwd/$mnt"; }
33 # Create a file system, then mount it.
34 dd if=/dev
/zero of
=blob bs
=8192 count
=200 > /dev
/null
2>&1 \
36 mkdir
"$mnt" || skip
=1
37 mkfs
-t ext2
-F blob \
38 || skip_
"failed to create ext2 file system"
39 mount
-oloop blob
"$mnt" || skip
=1
41 && skip_
"insufficient mount/ext2 support"
42 test $
(df
"$mnt" |
wc -l) = 2 || fail
=1
43 test "$fail" = 1 && dump_mount_list_
46 # Ensure mount points not matching the current user encoding are output
49 if test "$LOCALE_FR_UTF8" != "none"; then
52 cleanup_ || framework_failure_
54 # Create a non UTF8 mount point
55 mnt
="$(env printf 'm\xf3unt p\xf3int')"
56 mkdir
"$mnt" || framework_failure_
57 mount
-oloop blob
"$mnt" || skip_
"unable to mount $mnt"
59 LC_ALL
=$f df
--output=target
"$mnt" > df.out || fail
=1
60 test "$(basename "$
(tail -n1 df.out
)")" = "$mnt" || fail
=1