svn commit: r291604 - in stable/10: bin/sh/tests bin/sh/tests/builtins bin/sh/tests/errors bin/sh/tests/execution bin/sh/tests/expansion bin/sh/tests/parameters bin/sh/tests/parser bin/sh/tests/set...

Garrett Cooper ngie at FreeBSD.org
Tue Dec 1 18:27:41 UTC 2015


Author: ngie
Date: Tue Dec  1 18:27:38 2015
New Revision: 291604
URL: https://svnweb.freebsd.org/changeset/base/291604

Log:
  MFC r269902,r270101:
  
  r269902:
  
  Convert bin/sh/tests to ATF
  
  The new code uses a "test discovery mechanism" to determine
  what tests are available for execution
  
  The test shell can be specified via:
  
    kyua test -v test_suites.FreeBSD.bin.sh.test_shell=/path/to/test/sh
  
  Sponsored by: EMC / Isilon Storage Division
  Approved by: jmmv (mentor)
  Reviewed by: jilles (maintainer)
  
  r270101 (by jilles):
  
  sh: Don't hardcode relative paths in the tests stderr files.
  
  These paths have had to be adjusted to changes in the testsuite runner
  several times, so modify the tests to remove the need for such adjustment.
  
  A cp in functional_test.sh is now unneeded, but this matters little in
  performance.

Added:
  stable/10/bin/sh/tests/functional_test.sh
     - copied, changed from r269902, head/bin/sh/tests/functional_test.sh
Deleted:
  stable/10/bin/sh/tests/legacy_test.sh
Modified:
  stable/10/bin/sh/tests/Makefile
  stable/10/bin/sh/tests/builtins/Makefile
  stable/10/bin/sh/tests/errors/Makefile
  stable/10/bin/sh/tests/errors/bad-parm-exp2.2
  stable/10/bin/sh/tests/errors/bad-parm-exp2.2.stderr
  stable/10/bin/sh/tests/errors/bad-parm-exp3.2
  stable/10/bin/sh/tests/errors/bad-parm-exp3.2.stderr
  stable/10/bin/sh/tests/errors/bad-parm-exp4.2
  stable/10/bin/sh/tests/errors/bad-parm-exp4.2.stderr
  stable/10/bin/sh/tests/errors/bad-parm-exp5.2
  stable/10/bin/sh/tests/errors/bad-parm-exp5.2.stderr
  stable/10/bin/sh/tests/errors/bad-parm-exp6.2
  stable/10/bin/sh/tests/errors/bad-parm-exp6.2.stderr
  stable/10/bin/sh/tests/execution/Makefile
  stable/10/bin/sh/tests/expansion/Makefile
  stable/10/bin/sh/tests/parameters/Makefile
  stable/10/bin/sh/tests/parser/Makefile
  stable/10/bin/sh/tests/set-e/Makefile
  stable/10/tools/build/mk/OptionalObsoleteFiles.inc
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/bin/sh/tests/Makefile
==============================================================================
--- stable/10/bin/sh/tests/Makefile	Tue Dec  1 18:21:25 2015	(r291603)
+++ stable/10/bin/sh/tests/Makefile	Tue Dec  1 18:27:38 2015	(r291604)
@@ -4,15 +4,12 @@
 
 TESTSDIR=	${TESTSBASE}/bin/sh
 
-TAP_TESTS_SH=	legacy_test
-TAP_TESTS_SH_SED_legacy_test=	-e 's,__SH__,/bin/sh,g'
-# Some tests in here are silently not run when the tests are executed as
-# root.  Explicitly tell Kyua to drop privileges.
-#
-# TODO(jmmv): Kyua needs to do this by default, not only when explicitly
-# requested.  See https://code.google.com/p/kyua/issues/detail?id=6
-TEST_METADATA.legacy_test+= required_user="unprivileged"
-
-SUBDIR+=	builtins errors execution expansion parameters parser set-e
+TESTS_SUBDIRS+=	builtins
+TESTS_SUBDIRS+=	errors
+TESTS_SUBDIRS+=	execution
+TESTS_SUBDIRS+=	expansion
+TESTS_SUBDIRS+=	parameters
+TESTS_SUBDIRS+=	parser
+TESTS_SUBDIRS+=	set-e
 
 .include <bsd.test.mk>

Modified: stable/10/bin/sh/tests/builtins/Makefile
==============================================================================
--- stable/10/bin/sh/tests/builtins/Makefile	Tue Dec  1 18:21:25 2015	(r291603)
+++ stable/10/bin/sh/tests/builtins/Makefile	Tue Dec  1 18:27:38 2015	(r291604)
@@ -2,8 +2,12 @@
 
 .include <bsd.own.mk>
 
-FILESDIR=	${TESTSBASE}/bin/sh/builtins
-KYUAFILE=	no
+TESTSDIR=	${TESTSBASE}/bin/sh/${.CURDIR:T}
+
+.PATH: ${.CURDIR:H}
+ATF_TESTS_SH=	functional_test
+
+FILESDIR=	${TESTSDIR}
 
 FILES=		alias.0 alias.0.stdout
 FILES+=		alias.1 alias.1.stderr

Modified: stable/10/bin/sh/tests/errors/Makefile
==============================================================================
--- stable/10/bin/sh/tests/errors/Makefile	Tue Dec  1 18:21:25 2015	(r291603)
+++ stable/10/bin/sh/tests/errors/Makefile	Tue Dec  1 18:27:38 2015	(r291604)
@@ -1,9 +1,11 @@
 # $FreeBSD$
 
-.include <bsd.own.mk>
+TESTSDIR=	${TESTSBASE}/bin/sh/${.CURDIR:T}
 
-FILESDIR=	${TESTSBASE}/bin/sh/errors
-KYUAFILE=	no
+.PATH: ${.CURDIR:H}
+ATF_TESTS_SH=	functional_test
+
+FILESDIR=	${TESTSDIR}
 
 FILES=		assignment-error1.0
 FILES+=		assignment-error2.0

Modified: stable/10/bin/sh/tests/errors/bad-parm-exp2.2
==============================================================================
--- stable/10/bin/sh/tests/errors/bad-parm-exp2.2	Tue Dec  1 18:21:25 2015	(r291603)
+++ stable/10/bin/sh/tests/errors/bad-parm-exp2.2	Tue Dec  1 18:27:38 2015	(r291604)
@@ -1,2 +1,2 @@
 # $FreeBSD$
-${}
+eval '${}'

Modified: stable/10/bin/sh/tests/errors/bad-parm-exp2.2.stderr
==============================================================================
--- stable/10/bin/sh/tests/errors/bad-parm-exp2.2.stderr	Tue Dec  1 18:21:25 2015	(r291603)
+++ stable/10/bin/sh/tests/errors/bad-parm-exp2.2.stderr	Tue Dec  1 18:27:38 2015	(r291604)
@@ -1 +1 @@
-./errors/bad-parm-exp2.2: ${}: Bad substitution
+eval: ${}: Bad substitution

Modified: stable/10/bin/sh/tests/errors/bad-parm-exp3.2
==============================================================================
--- stable/10/bin/sh/tests/errors/bad-parm-exp3.2	Tue Dec  1 18:21:25 2015	(r291603)
+++ stable/10/bin/sh/tests/errors/bad-parm-exp3.2	Tue Dec  1 18:27:38 2015	(r291604)
@@ -1,2 +1,2 @@
 # $FreeBSD$
-${foo/}
+eval '${foo/}'

Modified: stable/10/bin/sh/tests/errors/bad-parm-exp3.2.stderr
==============================================================================
--- stable/10/bin/sh/tests/errors/bad-parm-exp3.2.stderr	Tue Dec  1 18:21:25 2015	(r291603)
+++ stable/10/bin/sh/tests/errors/bad-parm-exp3.2.stderr	Tue Dec  1 18:27:38 2015	(r291604)
@@ -1 +1 @@
-./errors/bad-parm-exp3.2: ${foo/}: Bad substitution
+eval: ${foo/}: Bad substitution

Modified: stable/10/bin/sh/tests/errors/bad-parm-exp4.2
==============================================================================
--- stable/10/bin/sh/tests/errors/bad-parm-exp4.2	Tue Dec  1 18:21:25 2015	(r291603)
+++ stable/10/bin/sh/tests/errors/bad-parm-exp4.2	Tue Dec  1 18:27:38 2015	(r291604)
@@ -1,2 +1,2 @@
 # $FreeBSD$
-${foo:@abc}
+eval '${foo:@abc}'

Modified: stable/10/bin/sh/tests/errors/bad-parm-exp4.2.stderr
==============================================================================
--- stable/10/bin/sh/tests/errors/bad-parm-exp4.2.stderr	Tue Dec  1 18:21:25 2015	(r291603)
+++ stable/10/bin/sh/tests/errors/bad-parm-exp4.2.stderr	Tue Dec  1 18:27:38 2015	(r291604)
@@ -1 +1 @@
-./errors/bad-parm-exp4.2: ${foo:@...}: Bad substitution
+eval: ${foo:@...}: Bad substitution

Modified: stable/10/bin/sh/tests/errors/bad-parm-exp5.2
==============================================================================
--- stable/10/bin/sh/tests/errors/bad-parm-exp5.2	Tue Dec  1 18:21:25 2015	(r291603)
+++ stable/10/bin/sh/tests/errors/bad-parm-exp5.2	Tue Dec  1 18:27:38 2015	(r291604)
@@ -1,2 +1,2 @@
 # $FreeBSD$
-${/}
+eval '${/}'

Modified: stable/10/bin/sh/tests/errors/bad-parm-exp5.2.stderr
==============================================================================
--- stable/10/bin/sh/tests/errors/bad-parm-exp5.2.stderr	Tue Dec  1 18:21:25 2015	(r291603)
+++ stable/10/bin/sh/tests/errors/bad-parm-exp5.2.stderr	Tue Dec  1 18:27:38 2015	(r291604)
@@ -1 +1 @@
-./errors/bad-parm-exp5.2: ${/}: Bad substitution
+eval: ${/}: Bad substitution

Modified: stable/10/bin/sh/tests/errors/bad-parm-exp6.2
==============================================================================
--- stable/10/bin/sh/tests/errors/bad-parm-exp6.2	Tue Dec  1 18:21:25 2015	(r291603)
+++ stable/10/bin/sh/tests/errors/bad-parm-exp6.2	Tue Dec  1 18:27:38 2015	(r291604)
@@ -1,2 +1,2 @@
 # $FreeBSD$
-${#foo^}
+eval '${#foo^}'

Modified: stable/10/bin/sh/tests/errors/bad-parm-exp6.2.stderr
==============================================================================
--- stable/10/bin/sh/tests/errors/bad-parm-exp6.2.stderr	Tue Dec  1 18:21:25 2015	(r291603)
+++ stable/10/bin/sh/tests/errors/bad-parm-exp6.2.stderr	Tue Dec  1 18:27:38 2015	(r291604)
@@ -1 +1 @@
-./errors/bad-parm-exp6.2: ${foo...}: Bad substitution
+eval: ${foo...}: Bad substitution

Modified: stable/10/bin/sh/tests/execution/Makefile
==============================================================================
--- stable/10/bin/sh/tests/execution/Makefile	Tue Dec  1 18:21:25 2015	(r291603)
+++ stable/10/bin/sh/tests/execution/Makefile	Tue Dec  1 18:27:38 2015	(r291604)
@@ -1,9 +1,11 @@
 # $FreeBSD$
 
-.include <bsd.own.mk>
+TESTSDIR=	${TESTSBASE}/bin/sh/${.CURDIR:T}
 
-FILESDIR=	${TESTSBASE}/bin/sh/execution
-KYUAFILE=	no
+.PATH: ${.CURDIR:H}
+ATF_TESTS_SH=	functional_test
+
+FILESDIR=	${TESTSDIR}
 
 FILES=		bg1.0
 FILES+=		bg2.0

Modified: stable/10/bin/sh/tests/expansion/Makefile
==============================================================================
--- stable/10/bin/sh/tests/expansion/Makefile	Tue Dec  1 18:21:25 2015	(r291603)
+++ stable/10/bin/sh/tests/expansion/Makefile	Tue Dec  1 18:27:38 2015	(r291604)
@@ -1,9 +1,11 @@
 # $FreeBSD$
 
-.include <bsd.own.mk>
+TESTSDIR=	${TESTSBASE}/bin/sh/${.CURDIR:T}
 
-FILESDIR=	${TESTSBASE}/bin/sh/expansion
-KYUAFILE=	no
+.PATH: ${.CURDIR:H}
+ATF_TESTS_SH=	functional_test
+
+FILESDIR=	${TESTSDIR}
 
 FILES=		arith1.0
 FILES+=		arith2.0

Copied and modified: stable/10/bin/sh/tests/functional_test.sh (from r269902, head/bin/sh/tests/functional_test.sh)
==============================================================================
--- head/bin/sh/tests/functional_test.sh	Wed Aug 13 04:14:50 2014	(r269902, copy source)
+++ stable/10/bin/sh/tests/functional_test.sh	Tue Dec  1 18:27:38 2015	(r291604)
@@ -39,13 +39,7 @@ check()
 	local out_file="${SRCDIR}/${tc}.stdout"
 	[ -f "${out_file}" ] && out_flag="-o file:${out_file}"
 
-	# We need to copy the testcase scenario file because some of the
-	# testcases hardcode relative paths in the stderr/stdout.
-	#
-	# TODO: we might be able to generate this path at build time
-	cp ${SRCDIR}/${tc} .
-
-	atf_check -s exit:${tc##*.} ${err_flag} ${out_flag} ${SH} "./${tc}"
+	atf_check -s exit:${tc##*.} ${err_flag} ${out_flag} ${SH} "${SRCDIR}/${tc}"
 }
 
 add_testcase()

Modified: stable/10/bin/sh/tests/parameters/Makefile
==============================================================================
--- stable/10/bin/sh/tests/parameters/Makefile	Tue Dec  1 18:21:25 2015	(r291603)
+++ stable/10/bin/sh/tests/parameters/Makefile	Tue Dec  1 18:27:38 2015	(r291604)
@@ -1,9 +1,11 @@
 # $FreeBSD$
 
-.include <bsd.own.mk>
+TESTSDIR=	${TESTSBASE}/bin/sh/${.CURDIR:T}
 
-FILESDIR=	${TESTSBASE}/bin/sh/parameters
-KYUAFILE=	no
+.PATH: ${.CURDIR:H}
+ATF_TESTS_SH=	functional_test
+
+FILESDIR=	${TESTSDIR}
 
 FILES=		env1.0
 FILES+=		exitstatus1.0

Modified: stable/10/bin/sh/tests/parser/Makefile
==============================================================================
--- stable/10/bin/sh/tests/parser/Makefile	Tue Dec  1 18:21:25 2015	(r291603)
+++ stable/10/bin/sh/tests/parser/Makefile	Tue Dec  1 18:27:38 2015	(r291604)
@@ -1,9 +1,11 @@
 # $FreeBSD$
 
-.include <bsd.own.mk>
+TESTSDIR=	${TESTSBASE}/bin/sh/${.CURDIR:T}
 
-FILESDIR=	${TESTSBASE}/bin/sh/parser
-KYUAFILE=	no
+.PATH: ${.CURDIR:H}
+ATF_TESTS_SH=	functional_test
+
+FILESDIR=	${TESTSDIR}
 
 FILES=		alias1.0
 FILES+=		alias2.0

Modified: stable/10/bin/sh/tests/set-e/Makefile
==============================================================================
--- stable/10/bin/sh/tests/set-e/Makefile	Tue Dec  1 18:21:25 2015	(r291603)
+++ stable/10/bin/sh/tests/set-e/Makefile	Tue Dec  1 18:27:38 2015	(r291604)
@@ -1,9 +1,11 @@
 # $FreeBSD$
 
-.include <bsd.own.mk>
+TESTSDIR=	${TESTSBASE}/bin/sh/${.CURDIR:T}
 
-FILESDIR=	${TESTSBASE}/bin/sh/set-e
-KYUAFILE=	no
+.PATH: ${.CURDIR:H}
+ATF_TESTS_SH=	functional_test
+
+FILESDIR=	${TESTSDIR}
 
 FILES=		and1.0
 FILES+=		and2.1

Modified: stable/10/tools/build/mk/OptionalObsoleteFiles.inc
==============================================================================
--- stable/10/tools/build/mk/OptionalObsoleteFiles.inc	Tue Dec  1 18:21:25 2015	(r291603)
+++ stable/10/tools/build/mk/OptionalObsoleteFiles.inc	Tue Dec  1 18:27:38 2015	(r291604)
@@ -4468,6 +4468,7 @@ OLD_FILES+=usr/share/aclocal/atf-common.
 OLD_FILES+=usr/share/aclocal/atf-sh.m4
 OLD_DIRS+=usr/share/aclocal
 OLD_FILES+=usr/tests/bin/date/legacy_test
+OLD_FILES+=usr/tests/bin/sh/legacy_test
 OLD_FILES+=usr/tests/lib/atf/libatf-c/test_helpers_test
 OLD_FILES+=usr/tests/lib/atf/test-programs/fork_test
 OLD_FILES+=usr/tests/lib/atf/libatf-c++/application_test


More information about the svn-src-all mailing list