From 5d43617e8ad863ed041309edefd018fdcaa87038 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Sat, 30 Jan 2010 16:52:46 -0600 Subject: ls --color: don't emit a final no-op escape sequence * src/ls.c (main): With --color, avoid emitting the final color- resetting escape sequence when it would be a no-op. * tests/ls/color-clear-to-eol: Adjust expected output accordingly. * tests/ls/color-dtype-dir: Likewise. * tests/ls/multihardlink: Likewise. * tests/ls/stat-free-symlinks: Likewise. * tests/misc/ls-misc: Likewise. * NEWS (Changes in behavior): Mention it. C de-Avillez rebased and adapted four of the new sl-dangle* tests in tests/misc/ls-misc. Reported by Jim Avera in http://bugs.launchpad.net/ubuntu/+source/coreutils/+bug/494663 --- tests/ls/color-clear-to-eol | 2 +- tests/ls/color-dtype-dir | 4 ---- tests/ls/multihardlink | 11 +++++------ tests/ls/stat-free-symlinks | 1 - 4 files changed, 6 insertions(+), 12 deletions(-) (limited to 'tests/ls') diff --git a/tests/ls/color-clear-to-eol b/tests/ls/color-clear-to-eol index 96944cb6d..1be68cab6 100755 --- a/tests/ls/color-clear-to-eol +++ b/tests/ls/color-clear-to-eol @@ -29,7 +29,7 @@ touch $long_name || framework_failure e='\33' color_code='0;31;42' c_pre="$e[0m$e[${color_code}m" -c_post="$e[0m$e[K\n$e[m" +c_post="$e[0m$e[K\n" printf "$c_pre$long_name$c_post\n" > exp || framework_failure env TERM=xterm COLUMNS=80 LS_COLORS="*.foo=$color_code" TIME_STYLE=+T \ diff --git a/tests/ls/color-dtype-dir b/tests/ls/color-dtype-dir index 6532d8415..29b872c21 100755 --- a/tests/ls/color-dtype-dir +++ b/tests/ls/color-dtype-dir @@ -36,7 +36,6 @@ chmod o+t sticky || framework_failure ls --color=always > out || fail=1 cat -A out > o1 || fail=1 -echo >> o1 || fail=1 mv o1 out || fail=1 cat <<\EOF > exp || fail=1 @@ -44,7 +43,6 @@ cat <<\EOF > exp || fail=1 ^[[34;42mother-writable^[[0m$ out$ ^[[37;44msticky^[[0m$ -^[[m EOF compare out exp || fail=1 @@ -56,7 +54,6 @@ rm exp LS_COLORS="ow=:" ls --color=always > out || fail=1 cat -A out > o1 || fail=1 -echo >> o1 || fail=1 mv o1 out || fail=1 cat <<\EOF > exp || fail=1 @@ -64,7 +61,6 @@ cat <<\EOF > exp || fail=1 ^[[01;34mother-writable^[[0m$ out$ ^[[37;44msticky^[[0m$ -^[[m EOF compare out exp || fail=1 diff --git a/tests/ls/multihardlink b/tests/ls/multihardlink index 60bb39948..20a94c807 100755 --- a/tests/ls/multihardlink +++ b/tests/ls/multihardlink @@ -30,7 +30,6 @@ code_mh='44;37' code_ex='01;32' code_png='01;35' c0=$(printf '\033[0m') -c_end=$(printf '\033[m') c_mh=$(printf '\033[%sm' $code_mh) c_ex=$(printf '\033[%sm' $code_ex) c_png=$(printf '\033[%sm' $code_png) @@ -44,7 +43,7 @@ compare out out_ok || fail=1 LS_COLORS="mh=$code_mh" ls -U1 --color=always file1 file2 > out || fail=1 printf "$c0${c_mh}file1$c0 ${c_mh}file2$c0 -$c_end" > out_ok || framework_failure +" > out_ok || framework_failure compare out out_ok || fail=1 # hard links and png (hard link coloring takes precedence) @@ -53,7 +52,7 @@ LS_COLORS="mh=$code_mh:*.png=$code_png" ls -U1 --color=always file1 file2.png \ > out || fail=1 printf "$c0${c_mh}file1$c0 ${c_mh}file2.png$c0 -$c_end" > out_ok || framework_failure +" > out_ok || framework_failure compare out out_ok || fail=1 # hard links and exe (exe coloring takes precedence) @@ -63,7 +62,7 @@ LS_COLORS="mh=$code_mh:*.png=$code_png:ex=$code_ex" \ chmod a-x file2.png || framework_failure printf "$c0${c_ex}file1$c0 ${c_ex}file2.png$c0 -$c_end" > out_ok || framework_failure +" > out_ok || framework_failure compare out out_ok || fail=1 # hard links and png (hard link coloring disabled => png coloring enabled) @@ -71,7 +70,7 @@ LS_COLORS="mh=00:*.png=$code_png" ls -U1 --color=always file1 file2.png > out \ || fail=1 printf "file1 $c0${c_png}file2.png$c0 -$c_end" > out_ok || framework_failure +" > out_ok || framework_failure compare out out_ok || fail=1 # hard links and png (hard link coloring not enabled explicitly => png coloring) @@ -79,7 +78,7 @@ LS_COLORS="*.png=$code_png" ls -U1 --color=always file1 file2.png > out \ || fail=1 printf "file1 $c0${c_png}file2.png$c0 -$c_end" > out_ok || framework_failure +" > out_ok || framework_failure compare out out_ok || fail=1 Exit $fail diff --git a/tests/ls/stat-free-symlinks b/tests/ls/stat-free-symlinks index f6cdb9131..6843b97fd 100755 --- a/tests/ls/stat-free-symlinks +++ b/tests/ls/stat-free-symlinks @@ -46,7 +46,6 @@ grep '^stat("x"' err && fail=1 { printf '\033[0m\033[01;35mlink-to-x\033[0m@\n' printf '\033[01;32mx\033[0m*\n' - printf '\033[m' } > exp || fail=1 compare out exp || fail=1 -- cgit v1.2.3-70-g09d2