maint: tests: update deprecated perl backreference syntax
[coreutils.git] / tests / df / problematic-chars.sh
bloba5d5991d08f8d5d78b0cfe27ecf3c2899b2436da
1 #!/bin/sh
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
20 print_ver_ df printf
21 require_root_
24 # Ensure a new line in a mount point only outputs a single line
26 mnt='mount
27 point'
29 cwd=$(pwd)
30 cleanup_() { umount "$cwd/$mnt"; }
32 skip=0
33 # Create a file system, then mount it.
34 dd if=/dev/zero of=blob bs=8192 count=200 > /dev/null 2>&1 \
35 || skip=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
40 test $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
48 unset LC_ALL
49 if test "$LOCALE_FR_UTF8" != "none"; then
50 f=$LOCALE_FR_UTF8
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
64 Exit $fail