tests: avoid spurious failure of ls/color-norm test
authorPádraig Brady <P@draigBrady.com>
Wed, 14 Apr 2010 14:32:27 +0000 (15:32 +0100)
committerPádraig Brady <P@draigBrady.com>
Thu, 15 Apr 2010 23:26:21 +0000 (00:26 +0100)
* tests/ls/color-norm: Use the "time" output by `ls -l`
to check normal style.  Previously we used the size from `ls -s`,
but the size of "empty" files can vary depending on whether
SELinux is enabled for example.

tests/ls/color-norm

index 16ffa22..e7a6829 100755 (executable)
@@ -28,51 +28,59 @@ fi
 # Don't let a different umask perturb the results.
 umask 22
 
+# Output time as something constant
+export TIME_STYLE="+norm"
+
+# helper to to strip ls columns up to "norm" time
+qls() { sed 's/-r.*norm/norm/'; }
+
 touch exe || framework_failure
 chmod u+x exe || framework_failure
 touch nocolor || framework_failure
 
+TCOLORS="no=7:ex=01;32"
+
 # Non coloured files inherit NORMAL attributes
-LS_COLORS=no=7      ls -s1U --color exe nocolor >> out || fail=1
-LS_COLORS=no=7      ls -sxU --color exe nocolor >> out || fail=1
-LS_COLORS=no=7      ls -s1U --color nocolor exe >> out || fail=1
-LS_COLORS=no=7      ls -sxU --color nocolor exe >> out || fail=1
+LS_COLORS=$TCOLORS      ls -gGU --color exe nocolor | qls >> out || fail=1
+LS_COLORS=$TCOLORS      ls -xU  --color exe nocolor       >> out || fail=1
+LS_COLORS=$TCOLORS      ls -gGU --color nocolor exe | qls >> out || fail=1
+LS_COLORS=$TCOLORS      ls -xU  --color nocolor exe       >> out || fail=1
 
 # NORMAL does not override FILE though
-LS_COLORS=no=7:fi=1 ls -s1U --color nocolor exe >> out || fail=1
+LS_COLORS=$TCOLORS:fi=1 ls -gGU --color nocolor exe | qls >> out || fail=1
 
 # Support uncolored ordinary files that do _not_ inherit from NORMAL.
 # Note there is a redundant RESET output before a non colored
 # file in this case which may be removed in future.
-LS_COLORS=no=7:fi=  ls -s1U --color nocolor exe >> out || fail=1
-LS_COLORS=no=7:fi=0 ls -s1U --color nocolor exe >> out || fail=1
+LS_COLORS=$TCOLORS:fi=  ls -gGU --color nocolor exe | qls >> out || fail=1
+LS_COLORS=$TCOLORS:fi=0 ls -gGU --color nocolor exe | qls >> out || fail=1
 
 # A caveat worth noting is that commas (-m), indicator chars (-F)
 # and the "total" line, do not currently use NORMAL attributes
-LS_COLORS="no=7"    ls -mFU --color nocolor exe >> out || fail=1
+LS_COLORS=$TCOLORS      ls -mFU --color nocolor exe       >> out || fail=1
 
 # Ensure no coloring is done unless enabled
-LS_COLORS="no=7"    ls -s1U         nocolor exe >> out || fail=1
+LS_COLORS=$TCOLORS      ls -gGU         nocolor exe | qls >> out || fail=1
 
 cat -A out > out.display || framework_failure
 mv out.display out || framework_failure
 
 cat <<\EOF > exp || framework_failure
-^[[0m^[[7m0 ^[[m^[[01;32mexe^[[0m$
-^[[7m0 nocolor^[[0m$
-^[[0m^[[7m0 ^[[m^[[01;32mexe^[[0m  ^[[7m0 nocolor^[[0m$
-^[[0m^[[7m0 nocolor^[[0m$
-^[[7m0 ^[[m^[[01;32mexe^[[0m$
-^[[0m^[[7m0 nocolor^[[0m  ^[[7m0 ^[[m^[[01;32mexe^[[0m$
-^[[0m^[[7m0 ^[[m^[[1mnocolor^[[0m$
-^[[7m0 ^[[m^[[01;32mexe^[[0m$
-^[[0m^[[7m0 ^[[m^[[mnocolor^[[0m$
-^[[7m0 ^[[m^[[01;32mexe^[[0m$
-^[[0m^[[7m0 ^[[m^[[0mnocolor^[[0m$
-^[[7m0 ^[[m^[[01;32mexe^[[0m$
+^[[0m^[[7mnorm ^[[m^[[01;32mexe^[[0m$
+^[[7mnorm nocolor^[[0m$
+^[[0m^[[7m^[[m^[[01;32mexe^[[0m  ^[[7mnocolor^[[0m$
+^[[0m^[[7mnorm nocolor^[[0m$
+^[[7mnorm ^[[m^[[01;32mexe^[[0m$
+^[[0m^[[7mnocolor^[[0m  ^[[7m^[[m^[[01;32mexe^[[0m$
+^[[0m^[[7mnorm ^[[m^[[1mnocolor^[[0m$
+^[[7mnorm ^[[m^[[01;32mexe^[[0m$
+^[[0m^[[7mnorm ^[[m^[[mnocolor^[[0m$
+^[[7mnorm ^[[m^[[01;32mexe^[[0m$
+^[[0m^[[7mnorm ^[[m^[[0mnocolor^[[0m$
+^[[7mnorm ^[[m^[[01;32mexe^[[0m$
 ^[[0m^[[7mnocolor^[[0m, ^[[7m^[[m^[[01;32mexe^[[0m*$
-0 nocolor$
-0 exe$
+norm nocolor$
+norm exe$
 EOF
 
 compare out exp || fail=1