svn commit: r321085 - in stable/10: etc/mtree usr.bin/stat usr.bin/stat/tests
Ngie Cooper
ngie at FreeBSD.org
Mon Jul 17 21:01:09 UTC 2017
Author: ngie
Date: Mon Jul 17 21:01:07 2017
New Revision: 321085
URL: https://svnweb.freebsd.org/changeset/base/321085
Log:
MFC r319834,r319841,r320723,r320724:
r319834:
Write up some basic tests for readlink(1)
The tests exercise -f (f_flag), -n (n_flag), and no arguments (basic).
r319841:
Add initial tests for stat(1)
Testcases for -H, -L, and -f haven't been implemented yet, in part due
to additional complexity needed to validate the features:
* -H and -f will require an external "helper" program to display/modify
the state/permissions for a given path.
* -L is being covered partially via the -n testcase today.
r320723:
Use %e instead of %d with x_output_date(..)
stat -x doesn't 0-fill days so %d is inappropriate. %e is correct.
MFC with: r319841
r320724:
: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 with: r319841
Added:
stable/10/usr.bin/stat/tests/
- copied from r319834, head/usr.bin/stat/tests/
stable/10/usr.bin/stat/tests/stat_test.sh
- copied, changed from r319841, head/usr.bin/stat/tests/stat_test.sh
Modified:
stable/10/etc/mtree/BSD.tests.dist
stable/10/usr.bin/stat/Makefile
stable/10/usr.bin/stat/stat.1
stable/10/usr.bin/stat/tests/Makefile
Directory Properties:
stable/10/ (props changed)
Modified: stable/10/etc/mtree/BSD.tests.dist
==============================================================================
--- stable/10/etc/mtree/BSD.tests.dist Mon Jul 17 20:57:38 2017 (r321084)
+++ stable/10/etc/mtree/BSD.tests.dist Mon Jul 17 21:01:07 2017 (r321085)
@@ -622,6 +622,8 @@
regress.multitest.out
..
..
+ stat
+ ..
tail
..
tar
Modified: stable/10/usr.bin/stat/Makefile
==============================================================================
--- stable/10/usr.bin/stat/Makefile Mon Jul 17 20:57:38 2017 (r321084)
+++ stable/10/usr.bin/stat/Makefile Mon Jul 17 21:01:07 2017 (r321085)
@@ -1,8 +1,14 @@
# $FreeBSD$
+.include <bsd.own.mk>
+
PROG= stat
LINKS= ${BINDIR}/stat ${BINDIR}/readlink
MLINKS= stat.1 readlink.1
+
+.if ${MK_TESTS} != "no"
+SUBDIR+= tests
+.endif
.include <bsd.prog.mk>
Modified: stable/10/usr.bin/stat/stat.1
==============================================================================
--- stable/10/usr.bin/stat/stat.1 Mon Jul 17 20:57:38 2017 (r321084)
+++ stable/10/usr.bin/stat/stat.1 Mon Jul 17 21:01:07 2017 (r321085)
@@ -29,7 +29,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd April 22, 2012
+.Dd June 22, 2017
.Dt STAT 1
.Os
.Sh NAME
Modified: stable/10/usr.bin/stat/tests/Makefile
==============================================================================
--- head/usr.bin/stat/tests/Makefile Sun Jun 11 21:13:12 2017 (r319834)
+++ stable/10/usr.bin/stat/tests/Makefile Mon Jul 17 21:01:07 2017 (r321085)
@@ -1,5 +1,6 @@
# $FreeBSD$
ATF_TESTS_SH+= readlink_test
+ATF_TESTS_SH+= stat_test
.include <bsd.test.mk>
Copied and modified: stable/10/usr.bin/stat/tests/stat_test.sh (from r319841, head/usr.bin/stat/tests/stat_test.sh)
==============================================================================
--- head/usr.bin/stat/tests/stat_test.sh Mon Jun 12 00:21:55 2017 (r319841, copy source)
+++ stable/10/usr.bin/stat/tests/stat_test.sh Mon Jul 17 21:01:07 2017 (r321085)
@@ -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
}
@@ -165,7 +174,7 @@ t_flag_body()
x_output_date()
{
- local date_format='%a %b %d %H:%M:%S %Y'
+ local date_format='%a %b %e %H:%M:%S %Y'
stat -t "$date_format" "$@"
}
More information about the svn-src-all
mailing list