Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F158640895
D55115.id171209.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
9 KB
Referenced Files
None
Subscribers
None
D55115.id171209.diff
View Options
diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc
--- a/ObsoleteFiles.inc
+++ b/ObsoleteFiles.inc
@@ -51,6 +51,9 @@
# xargs -n1 | sort | uniq -d;
# done
+# 20260204: replaced with ATF test
+OLD_FILES+=usr/tests/usr.bin/m4/legacy_test
+OLD_FILES+=usr/tests/usr.bin/m4/regress.sh
# 20260120: remove obsolete MIT KRB5 plugin files
OLD_LIBS+=usr/lib/krb5/plugins/kdb/db2.so.121
diff --git a/usr.bin/m4/tests/Makefile b/usr.bin/m4/tests/Makefile
--- a/usr.bin/m4/tests/Makefile
+++ b/usr.bin/m4/tests/Makefile
@@ -1,6 +1,6 @@
PACKAGE= tests
-TAP_TESTS_SH= legacy_test
+ATF_TESTS_SH= m4_test
${PACKAGE}FILES+= args.m4
${PACKAGE}FILES+= args2.m4
@@ -20,6 +20,10 @@
${PACKAGE}FILES+= patterns.m4
${PACKAGE}FILES+= quotes.m4
${PACKAGE}FILES+= redef.m4
+${PACKAGE}FILES+= strangequotes.m4.uu
+${PACKAGE}FILES+= translit.m4
+${PACKAGE}FILES+= translit2.m4
+
${PACKAGE}FILES+= regress.args.out
${PACKAGE}FILES+= regress.args2.out
${PACKAGE}FILES+= regress.comments.out
@@ -31,19 +35,18 @@
${PACKAGE}FILES+= regress.gnupatterns.out
${PACKAGE}FILES+= regress.gnupatterns2.out
${PACKAGE}FILES+= regress.gnuprefix.out
+${PACKAGE}FILES+= regress.gnuprefix.err
${PACKAGE}FILES+= regress.gnusofterror.out
+${PACKAGE}FILES+= regress.gnusofterror.err
${PACKAGE}FILES+= regress.gnutranslit2.out
${PACKAGE}FILES+= regress.includes.out
${PACKAGE}FILES+= regress.m4wrap3.out
${PACKAGE}FILES+= regress.patterns.out
${PACKAGE}FILES+= regress.quotes.out
+${PACKAGE}FILES+= regress.quotes.err
${PACKAGE}FILES+= regress.redef.out
-${PACKAGE}FILES+= regress.sh
${PACKAGE}FILES+= regress.strangequotes.out
${PACKAGE}FILES+= regress.translit.out
${PACKAGE}FILES+= regress.translit2.out
-${PACKAGE}FILES+= strangequotes.m4.uu
-${PACKAGE}FILES+= translit.m4
-${PACKAGE}FILES+= translit2.m4
.include <bsd.test.mk>
diff --git a/usr.bin/m4/tests/legacy_test.sh b/usr.bin/m4/tests/legacy_test.sh
deleted file mode 100644
--- a/usr.bin/m4/tests/legacy_test.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-SRCDIR="$(dirname "${0}")"; export SRCDIR
-
-m4 "${SRCDIR}/../regress.m4" "${SRCDIR}/regress.sh" | sh
diff --git a/usr.bin/m4/tests/m4_test.sh b/usr.bin/m4/tests/m4_test.sh
new file mode 100644
--- /dev/null
+++ b/usr.bin/m4/tests/m4_test.sh
@@ -0,0 +1,240 @@
+#
+# Copyright (c) 2026 Klara, Inc.
+#
+# SPDX-License-Identifier: BSD-2-Clause
+#
+
+m4_test()
+{
+ local dir=$(atf_get_srcdir)
+ local rc=0
+ local args opt output script
+ while getopts "1gP" opt ; do
+ case ${opt} in
+ 1)
+ rc=1
+ ;;
+ *)
+ args="${args% }-${opt}"
+ ;;
+ esac
+ done
+ shift $((OPTIND - 1))
+ script=$1
+ output=$2
+ if [ -z "${output}" ] ; then
+ output="${script}"
+ fi
+ if [ -f "${dir}/regress.${output}.out" ] ; then
+ ln -s "${dir}/regress.${output}.out" out
+ else
+ atf_fail "regress.${output}.out not found"
+ fi
+ if [ -f "${dir}/regress.${output}.err" ] ; then
+ ln -s "${dir}/regress.${output}.err" err
+ else
+ touch err
+ fi
+ if [ -f "${dir}/${script}.m4.uu" ] ; then
+ atf_check uudecode -o "${script}.m4" "${dir}/${script}.m4.uu"
+ elif [ -f "${dir}/${script}.m4" ] ; then
+ ln -s "${dir}/${script}.m4" "${script}.m4"
+ else
+ atf_fail "${script}.m4 not found"
+ fi
+ atf_check -s exit:${rc} -o file:out -e file:err \
+ m4 -I "${dir}" ${args} "${script}.m4"
+}
+
+args_head()
+{
+}
+args_body()
+{
+ m4_test args
+}
+
+args2_head()
+{
+}
+args2_body()
+{
+ m4_test args2
+}
+
+comments_head()
+{
+}
+comments_body()
+{
+ m4_test comments
+}
+
+esyscmd_head()
+{
+}
+esyscmd_body()
+{
+ m4_test esyscmd
+}
+
+eval_head()
+{
+}
+eval_body()
+{
+ m4_test eval
+}
+
+ff_after_dnl_head()
+{
+}
+ff_after_dnl_body()
+{
+ m4_test ff_after_dnl
+}
+
+gnueval_head()
+{
+}
+gnueval_body()
+{
+ m4_test -g gnueval
+}
+
+gnuformat_head()
+{
+}
+gnuformat_body()
+{
+ m4_test -g gnuformat
+}
+
+gnupatterns_head()
+{
+}
+gnupatterns_body()
+{
+ m4_test -g gnupatterns
+}
+
+gnupatterns2_head()
+{
+}
+gnupatterns2_body()
+{
+ m4_test -g gnupatterns2
+}
+
+gnuprefix_head()
+{
+}
+gnuprefix_body()
+{
+ m4_test -P gnuprefix
+}
+
+gnusofterror_head()
+{
+}
+gnusofterror_body()
+{
+ m4_test -1 -g gnusofterror
+}
+
+gnutranslit2_head()
+{
+}
+gnutranslit2_body()
+{
+ m4_test -g translit2 gnutranslit2
+}
+
+includes_head()
+{
+}
+includes_body()
+{
+ m4_test includes
+}
+
+m4wrap3_head()
+{
+}
+m4wrap3_body()
+{
+ m4_test m4wrap3
+}
+
+patterns_head()
+{
+}
+patterns_body()
+{
+ m4_test patterns
+}
+
+quotes_head()
+{
+}
+quotes_body()
+{
+ m4_test -1 quotes
+}
+
+redef_head()
+{
+}
+redef_body()
+{
+ m4_test redef
+}
+
+strangequotes_head()
+{
+}
+strangequotes_body()
+{
+ m4_test strangequotes
+}
+
+translit_head()
+{
+}
+translit_body()
+{
+ m4_test translit
+}
+
+translit2_head()
+{
+}
+translit2_body()
+{
+ m4_test translit2
+}
+
+atf_init_test_cases()
+{
+ atf_add_test_case args
+ atf_add_test_case args2
+ atf_add_test_case comments
+ atf_add_test_case esyscmd
+ atf_add_test_case eval
+ atf_add_test_case ff_after_dnl
+ atf_add_test_case gnueval
+ atf_add_test_case gnuformat
+ atf_add_test_case gnupatterns
+ atf_add_test_case gnupatterns2
+ atf_add_test_case gnuprefix
+ atf_add_test_case gnusofterror
+ atf_add_test_case gnutranslit2
+ atf_add_test_case includes
+ atf_add_test_case m4wrap3
+ atf_add_test_case patterns
+ atf_add_test_case quotes
+ atf_add_test_case redef
+ atf_add_test_case strangequotes
+ atf_add_test_case translit
+ atf_add_test_case translit2
+}
diff --git a/usr.bin/m4/tests/regress.gnuprefix.out b/usr.bin/m4/tests/regress.gnuprefix.err
copy from usr.bin/m4/tests/regress.gnuprefix.out
copy to usr.bin/m4/tests/regress.gnuprefix.err
--- a/usr.bin/m4/tests/regress.gnuprefix.out
+++ b/usr.bin/m4/tests/regress.gnuprefix.err
@@ -42,5 +42,3 @@
`m4_undefine' `m4_undefine'
`m4_divnum' `m4_divnum'
`m4_errprint' `m4_errprint'
-dumpdef()
-
diff --git a/usr.bin/m4/tests/regress.gnuprefix.out b/usr.bin/m4/tests/regress.gnuprefix.out
--- a/usr.bin/m4/tests/regress.gnuprefix.out
+++ b/usr.bin/m4/tests/regress.gnuprefix.out
@@ -1,46 +1,2 @@
-`m4_ifelse' `m4_ifelse'
-`m4_dnl' `m4_dnl'
-`m4_expr' `m4_expr'
-`m4_builtin' `m4_builtin'
-`m4_popdef' `m4_popdef'
-`m4_eval' `m4_eval'
-`m4_len' `m4_len'
-`m4_indir' `m4_indir'
-`m4_sinclude' `m4_sinclude'
-`m4_index' `m4_index'
-`m4_traceoff' `m4_traceoff'
-`m4___file__' `m4___file__'
-`m4_unix' `m4_unix'
-`m4_mkstemp' `m4_mkstemp'
-`m4_changecom' `m4_changecom'
-`m4_defn' `m4_defn'
-`m4_decr' `m4_decr'
-`m4_translit' `m4_translit'
-`m4_patsubst' `m4_patsubst'
-`m4_dumpdef' `m4_dumpdef'
-`m4___line__' `m4___line__'
-`m4_esyscmd' `m4_esyscmd'
-`m4_traceon' `m4_traceon'
-`m4_incr' `m4_incr'
-`m4_shift' `m4_shift'
-`m4_syscmd' `m4_syscmd'
-`m4_include' `m4_include'
-`m4_pushdef' `m4_pushdef'
-`m4_paste' `m4_paste'
-`m4_regexp' `m4_regexp'
-`m4_changequote' `m4_changequote'
-`m4_undivert' `m4_undivert'
-`m4_m4exit' `m4_m4exit'
-`m4_substr' `m4_substr'
-`m4_m4wrap' `m4_m4wrap'
-`m4_ifdef' `m4_ifdef'
-`m4_sysval' `m4_sysval'
-`m4_divert' `m4_divert'
-`m4_maketemp' `m4_maketemp'
-`m4_spaste' `m4_spaste'
-`m4_define' `m4_define'
-`m4_undefine' `m4_undefine'
-`m4_divnum' `m4_divnum'
-`m4_errprint' `m4_errprint'
dumpdef()
diff --git a/usr.bin/m4/tests/regress.gnusofterror.out b/usr.bin/m4/tests/regress.gnusofterror.err
copy from usr.bin/m4/tests/regress.gnusofterror.out
copy to usr.bin/m4/tests/regress.gnusofterror.err
--- a/usr.bin/m4/tests/regress.gnusofterror.out
+++ b/usr.bin/m4/tests/regress.gnusofterror.err
@@ -1,2 +1 @@
m4: gnusofterror.m4 at line 2: include(hey I do not exit): No such file or directory
-abc
diff --git a/usr.bin/m4/tests/regress.gnusofterror.out b/usr.bin/m4/tests/regress.gnusofterror.out
--- a/usr.bin/m4/tests/regress.gnusofterror.out
+++ b/usr.bin/m4/tests/regress.gnusofterror.out
@@ -1,2 +1 @@
-m4: gnusofterror.m4 at line 2: include(hey I do not exit): No such file or directory
abc
diff --git a/usr.bin/m4/tests/regress.quotes.err b/usr.bin/m4/tests/regress.quotes.err
new file mode 100644
--- /dev/null
+++ b/usr.bin/m4/tests/regress.quotes.err
@@ -0,0 +1,2 @@
+m4: unclosed quote:
+ quotes.m4 at line 54
diff --git a/usr.bin/m4/tests/regress.quotes.out b/usr.bin/m4/tests/regress.quotes.out
--- a/usr.bin/m4/tests/regress.quotes.out
+++ b/usr.bin/m4/tests/regress.quotes.out
@@ -1,5 +1,3 @@
-m4: unclosed quote:
- quotes.m4 at line 54
1: normal
quoted string
[quoted STRING]
diff --git a/usr.bin/m4/tests/regress.sh b/usr.bin/m4/tests/regress.sh
deleted file mode 100644
--- a/usr.bin/m4/tests/regress.sh
+++ /dev/null
@@ -1,32 +0,0 @@
-
-echo 1..21
-
-test_m4() {
- m4 "${@}" 2>&1 | sed -e "s,${SRCDIR}/,,g"
-}
-
-REGRESSION_START($1)
-
-REGRESSION_TEST(`args', `test_m4 ${SRCDIR}/args.m4')
-REGRESSION_TEST(`args2', `test_m4 ${SRCDIR}/args2.m4')
-REGRESSION_TEST(`comments', `test_m4 ${SRCDIR}/comments.m4')
-REGRESSION_TEST(`esyscmd', `test_m4 ${SRCDIR}/esyscmd.m4')
-REGRESSION_TEST(`eval', `test_m4 ${SRCDIR}/eval.m4')
-REGRESSION_TEST(`ff_after_dnl', `uudecode -o /dev/stdout ${SRCDIR}/ff_after_dnl.m4.uu | m4')
-REGRESSION_TEST(`gnueval', `test_m4 -g ${SRCDIR}/gnueval.m4')
-REGRESSION_TEST(`gnuformat', `test_m4 -g ${SRCDIR}/gnuformat.m4')
-REGRESSION_TEST(`gnupatterns', `test_m4 -g ${SRCDIR}/gnupatterns.m4')
-REGRESSION_TEST(`gnupatterns2', `test_m4 -g ${SRCDIR}/gnupatterns2.m4')
-REGRESSION_TEST(`gnuprefix', `test_m4 -P ${SRCDIR}/gnuprefix.m4 2>&1')
-REGRESSION_TEST(`gnusofterror', `test_m4 -g ${SRCDIR}/gnusofterror.m4 2>&1')
-REGRESSION_TEST(`gnutranslit2', `test_m4 -g ${SRCDIR}/translit2.m4')
-REGRESSION_TEST(`includes', `test_m4 -I${SRCDIR} ${SRCDIR}/includes.m4')
-REGRESSION_TEST(`m4wrap3', `test_m4 ${SRCDIR}/m4wrap3.m4')
-REGRESSION_TEST(`patterns', `test_m4 ${SRCDIR}/patterns.m4')
-REGRESSION_TEST(`quotes', `test_m4 ${SRCDIR}/quotes.m4 2>&1')
-REGRESSION_TEST(`strangequotes', `uudecode -o /dev/stdout ${SRCDIR}/strangequotes.m4.uu | m4')
-REGRESSION_TEST(`redef', `test_m4 ${SRCDIR}/redef.m4')
-REGRESSION_TEST(`translit', `test_m4 ${SRCDIR}/translit.m4')
-REGRESSION_TEST(`translit2', `test_m4 ${SRCDIR}/translit2.m4')
-
-REGRESSION_END()
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Fri, Jun 5, 6:25 AM (1 h, 14 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
33744233
Default Alt Text
D55115.id171209.diff (9 KB)
Attached To
Mode
D55115: m4: Convert tests to ATF
Attached
Detach File
Event Timeline
Log In to Comment