1#!/bin/sh 2# Exercise the 8.17 ls bug with coloring relative-named symlinks in "/". 3 4# Copyright (C) 2012-2023 Free Software Foundation, Inc. 5 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. 10 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. 15 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/>. 18 19. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src 20print_ver_ ls test 21 22symlink_to_rel= 23for i in /*; do 24 # Skip non-symlinks: 25 env test -h "$i" || continue 26 27 # Skip dangling symlinks: 28 env test -e "$i" || continue 29 30 # Skip any symlink-to-absolute-name: 31 case $(readlink "$i") in /*) continue ;; esac 32 33 symlink_to_rel=$i 34 break 35done 36 37test -z "$symlink_to_rel" \ 38 && skip_ no relative symlink in / 39 40e='\33' 41color_code='01;36' 42c_pre="$e[0m$e[${color_code}m" 43c_post="$e[0m" 44printf "$c_pre$symlink_to_rel$c_post\n" > exp || framework_failure_ 45 46env TERM=xterm LS_COLORS="ln=$color_code:or=1;31;42" \ 47 ls -d --color=always "$symlink_to_rel" > out || fail=1 48 49compare exp out || fail=1 50 51Exit $fail 52