:l_flag:: be more aggressive when normalizing whitespace

Save output from ls -ldT and stat -l, then normalize all repeating whitespace using
sed to single column spaces.

This makes the test flexible with single-digit days, etc, similar to r320723. This
approach is just a bit more of a hammer approach because of how the columns are
ordered/spaced in both ls and stat.

MFC after:	1 week
MFC with:	r319841
This commit is contained in:
Enji Cooper 2017-07-06 07:37:03 +00:00
parent 5e8e7af348
commit faef91fab6

View File

@ -60,14 +60,23 @@ l_flag_body()
paths="a b c d"
ls_out=ls.output
stat_out=stat.output
# NOTE:
# - Even though stat -l claims to be equivalent to `ls -lT`, the
# whitespace is a bit more liberal in the `ls -lT` output.
# - `ls -ldT` is used to not recursively list the contents of
# directories.
for path in $paths; do
atf_check -o inline:"$(ls -ldT $path | sed -e 's, , ,g')\n" \
stat -l $path
atf_check -o save:$ls_out ls -ldT $path
cat $ls_out
atf_check -o save:$stat_out stat -l $path
cat $stat_out
echo "Comparing normalized whitespace"
atf_check sed -i '' -E -e 's/[[:space:]]+/ /g' $ls_out
atf_check sed -i '' -E -e 's/[[:space:]]+/ /g' $stat_out
atf_check cmp $ls_out $stat_out
done
}