diff options
author | Julio Merino <jmmv@FreeBSD.org> | 2014-03-16 08:04:06 +0000 |
---|---|---|
committer | Julio Merino <jmmv@FreeBSD.org> | 2014-03-16 08:04:06 +0000 |
commit | 3a92d97ff0f22d21608e1c19b83104c4937523b6 (patch) | |
tree | a434fba265da51ef79b1cfc4461e1080dbe53e90 /usr.bin/m4 | |
parent | d14afb2adcbf0db6625f582abf0c7154e4e005bd (diff) | |
download | src-3a92d97ff0f22d21608e1c19b83104c4937523b6.tar.gz src-3a92d97ff0f22d21608e1c19b83104c4937523b6.zip |
Migrate most of tools/regression/usr.bin/ to the new tests layout.
I'm starting with the easy cases. The leftovers need to be looked at a
bit more closely.
Note that this change _does_ modify the code of the old tests. This is
required in order to allow the code to locate the data files in the
source directory instead of the current directory, because Kyua
automatically changes the latter to a temporary directory.
Also note that at least one test is known to be broken here. Actually,
the test is not really broken: it's marked as a TODO but unfortunately
Kyua's TAP parser currently does not understand that. Will have to be
fixed separately.
Notes
Notes:
svn path=/head/; revision=263227
Diffstat (limited to 'usr.bin/m4')
46 files changed, 1149 insertions, 0 deletions
diff --git a/usr.bin/m4/Makefile b/usr.bin/m4/Makefile index f0e22f806c87..e6cf0b6b8c4c 100644 --- a/usr.bin/m4/Makefile +++ b/usr.bin/m4/Makefile @@ -4,6 +4,8 @@ # -DEXTENDED # if you want the paste & spaste macros. +.include <bsd.own.mk> + PROG= m4 CFLAGS+=-DEXTENDED -I${.CURDIR} -I${.CURDIR}/lib DPADD= ${LIBY} ${LIBL} ${LIBM} @@ -22,4 +24,8 @@ tokenizer.o: parser.h CLEANFILES+= parser.c parser.h tokenizer.o +.if ${MK_TESTS} != "no" +SUBDIR+= tests +.endif + .include <bsd.prog.mk> diff --git a/usr.bin/m4/tests/Makefile b/usr.bin/m4/tests/Makefile new file mode 100644 index 000000000000..2eebc07894b9 --- /dev/null +++ b/usr.bin/m4/tests/Makefile @@ -0,0 +1,52 @@ +# $FreeBSD$ + +TESTSDIR= ${TESTSBASE}/usr.bin/m4 + +TAP_TESTS_SH= legacy_test + +FILESDIR= ${TESTSDIR} +FILES= args.m4 +FILES+= args2.m4 +FILES+= comments.m4 +FILES+= esyscmd.m4 +FILES+= eval.m4 +FILES+= ff_after_dnl.m4.uu +FILES+= gnueval.m4 +FILES+= gnuformat.m4 +FILES+= gnupatterns.m4 +FILES+= gnupatterns2.m4 +FILES+= gnuprefix.m4 +FILES+= gnusofterror.m4 +FILES+= includes.aux +FILES+= includes.m4 +FILES+= m4wrap3.m4 +FILES+= patterns.m4 +FILES+= quotes.m4 +FILES+= redef.m4 +FILES+= regress.args.out +FILES+= regress.args2.out +FILES+= regress.comments.out +FILES+= regress.esyscmd.out +FILES+= regress.eval.out +FILES+= regress.ff_after_dnl.out +FILES+= regress.gnueval.out +FILES+= regress.gnuformat.out +FILES+= regress.gnupatterns.out +FILES+= regress.gnupatterns2.out +FILES+= regress.gnuprefix.out +FILES+= regress.gnusofterror.out +FILES+= regress.gnutranslit2.out +FILES+= regress.includes.out +FILES+= regress.m4wrap3.out +FILES+= regress.patterns.out +FILES+= regress.quotes.out +FILES+= regress.redef.out +FILES+= regress.sh +FILES+= regress.strangequotes.out +FILES+= regress.translit.out +FILES+= regress.translit2.out +FILES+= strangequotes.m4.uu +FILES+= translit.m4 +FILES+= translit2.m4 + +.include <bsd.test.mk> diff --git a/usr.bin/m4/tests/args.m4 b/usr.bin/m4/tests/args.m4 new file mode 100644 index 000000000000..3ad30f2442ec --- /dev/null +++ b/usr.bin/m4/tests/args.m4 @@ -0,0 +1,9 @@ +dnl $FreeBSD$ +dnl $OpenBSD: src/regress/usr.bin/m4/args.m4,v 1.1 2001/10/10 23:23:59 espie Exp $ +dnl Expanding all arguments +define(`A', `first form: $@, second form $*')dnl +define(`B', `C')dnl +A(1,2,`B') +dnl indirection means macro can get called with argc == 2 ! +indir(`A',1,2,`B') +indir(`A') diff --git a/usr.bin/m4/tests/args2.m4 b/usr.bin/m4/tests/args2.m4 new file mode 100644 index 000000000000..3f9ed600fca7 --- /dev/null +++ b/usr.bin/m4/tests/args2.m4 @@ -0,0 +1,5 @@ +dnl $FreeBSD$ +dnl $OpenBSD: src/regress/usr.bin/m4/args2.m4,v 1.1 2008/08/16 09:57:12 espie Exp $ +dnl Preserving spaces within nested parentheses +define(`foo',`$1')dnl +foo(( check for embedded spaces)) diff --git a/usr.bin/m4/tests/comments.m4 b/usr.bin/m4/tests/comments.m4 new file mode 100644 index 000000000000..d7038c4f636e --- /dev/null +++ b/usr.bin/m4/tests/comments.m4 @@ -0,0 +1,59 @@ +dnl $FreeBSD$ +dnl $OpenBSD: src/regress/usr.bin/m4/comments.m4,v 1.1 2005/09/06 15:33:21 espie Exp $ +dnl checking the way changecom works. +1: normal +define(`comment', `COMMENT')dnl +define(`p', 'XXX')dnl +# this is a comment +>> this is a comment +p this is a comment +p this is a comment q comment too + +2: `changecom(>>)dnl' +changecom(>>)dnl +# this is a comment +>> this is a comment +p this is a comment +p this is a comment q comment too + +3: `changecom dnl' +changecom dnl +# this is a comment +>> this is a comment +p this is a comment +p this is a comment q comment too + +4: `changecom()dnl' +changecom()dnl +# this is a comment +>> this is a comment +p this is a comment +p this is a comment q comment too + +5: `changecom(,)dnl' +changecom(,)dnl +# this is a comment +>> this is a comment +p this is a comment +p this is a comment q comment too + +6: `changecom(`p',q)dnl' +changecom(`p',q)dnl +# this is a comment +>> this is a comment +p this is a comment +p this is a comment q comment too + +7: `changecom(`p')dnl' +changecom(`p')dnl +# this is a comment +>> this is a comment +p this is a comment +p this is a comment q comment too + +8: `changecom(#)dnl' +changecom(#)dnl +# this is a comment +>> this is a comment +p this is a comment +p this is a comment q comment too diff --git a/usr.bin/m4/tests/esyscmd.m4 b/usr.bin/m4/tests/esyscmd.m4 new file mode 100644 index 000000000000..7b1342d39d85 --- /dev/null +++ b/usr.bin/m4/tests/esyscmd.m4 @@ -0,0 +1,43 @@ +dnl $FreeBSD$ +changequote(`{',`}')dnl +dnl +esyscmd({sh -c "m4<<EOF +define(_bp,hi there a) +define(_comb, +_bp($1$2) +_bp($2$1) +) +define(bp, +_comb(aaaa,foo0) +_comb(bbbb,foo0) +_comb(cccc,foo0) +_comb(dddd,foo0) +_comb(aaaa,foo0) +_comb(bbbb,foo0) +_comb(cccc,foo0) +_comb(dddd,foo0) +) +bp(a00) +bp(b00) +bp(c00) +bp(d00) +bp(e00) +bp(f00) +bp(g00) +bp(h00) +bp(i00) +bp(j00) +bp(k00) +bp(l00) +bp(m00) +bp(n00) +bp(o00) +bp(p00) +bp(q00) +bp(r00) +bp(s00) +bp(t00) +bp(u00) +bp(v00) +bp(w00) +EOF"})dnl diff --git a/usr.bin/m4/tests/eval.m4 b/usr.bin/m4/tests/eval.m4 new file mode 100644 index 000000000000..361f9b9c5416 --- /dev/null +++ b/usr.bin/m4/tests/eval.m4 @@ -0,0 +1,6 @@ +dnl $FreeBSD$ +dnl $OpenBSD: src/regress/usr.bin/m4/eval.m4,v 1.1 2004/05/12 21:24:37 espie Exp $ +dnl expr parser +eval(224&127) +eval(224|127) +eval(224&&127) diff --git a/usr.bin/m4/tests/ff_after_dnl.m4.uu b/usr.bin/m4/tests/ff_after_dnl.m4.uu new file mode 100644 index 000000000000..222f9e38bfd3 --- /dev/null +++ b/usr.bin/m4/tests/ff_after_dnl.m4.uu @@ -0,0 +1,11 @@ +$FreeBSD$ +$OpenBSD: src/regress/usr.bin/m4/ff_after_dnl.m4.uu,v 1.1.1.1 2000/07/01 00:31:01 espie Exp $ +$NetBSD: ff_after_dnl.m4.uu,v 1.1 1997/12/30 23:30:53 cgd Exp $ + +begin 644 ff_after_dnl.m4 +M"0E42$E3(%-(3U5,1"!32$]7(%50("A,24Y%(#$I"F1N;`D)5$A)4R!32$]5 +M3$0@3D]4(%-(3U<@55`@*$Q)3D4@,BD*9&YL_PD)5$A)4R!32$]53$0@3D]4 +M(%-(3U<@55`@*$Q)3D4@,RD*9&YL"?\)5$A)4R!32$]53$0@3D]4(%-(3U<@ +K55`@*$Q)3D4@-"D*"0E42$E3(%-(3U5,1"!32$]7(%50("A,24Y%(#4I"E<@ +` +end diff --git a/usr.bin/m4/tests/gnueval.m4 b/usr.bin/m4/tests/gnueval.m4 new file mode 100644 index 000000000000..9e7b57661ff2 --- /dev/null +++ b/usr.bin/m4/tests/gnueval.m4 @@ -0,0 +1,7 @@ +dnl $FreeBSD$ +dnl $OpenBSD: src/regress/usr.bin/m4/gnueval.m4,v 1.1 2012/04/12 16:58:15 espie Exp $ +dnl exponentiation is right associative +eval(`4**2**3') +dnl priority between unary operators and * +eval(`4**2*3') +eval(`-4**3') diff --git a/usr.bin/m4/tests/gnuformat.m4 b/usr.bin/m4/tests/gnuformat.m4 new file mode 100644 index 000000000000..429d26512e12 --- /dev/null +++ b/usr.bin/m4/tests/gnuformat.m4 @@ -0,0 +1,2 @@ +dnl $FreeBSD$ +format(`a%15sa%%b%-15sbc%3scd%-3sd', `string', `pouet', `toolong', `toolong2') diff --git a/usr.bin/m4/tests/gnupatterns.m4 b/usr.bin/m4/tests/gnupatterns.m4 new file mode 100644 index 000000000000..735d1cf1bd24 --- /dev/null +++ b/usr.bin/m4/tests/gnupatterns.m4 @@ -0,0 +1,4 @@ +dnl $FreeBSD$ +patsubst(`string with a + to replace with a minus', `+', `minus') +patsubst(`string with aaaaa to replace with a b', `a+', `b') +patsubst(`+string with a starting + to replace with a minus', `^+', `minus') diff --git a/usr.bin/m4/tests/gnupatterns2.m4 b/usr.bin/m4/tests/gnupatterns2.m4 new file mode 100644 index 000000000000..23170b7f3546 --- /dev/null +++ b/usr.bin/m4/tests/gnupatterns2.m4 @@ -0,0 +1,6 @@ +dnl $FreeBSD$ +define(`zoinx',dnl +`patsubst($1,\(\w+\)\(\W*\),\1 )')dnl +zoinx(acosl asinl atanl \ + cosl sinl tanl \ + coshl sinhl tanhl) diff --git a/usr.bin/m4/tests/gnuprefix.m4 b/usr.bin/m4/tests/gnuprefix.m4 new file mode 100644 index 000000000000..fff9784ed2cc --- /dev/null +++ b/usr.bin/m4/tests/gnuprefix.m4 @@ -0,0 +1,2 @@ +dumpdef() +m4_dumpdef() diff --git a/usr.bin/m4/tests/gnusofterror.m4 b/usr.bin/m4/tests/gnusofterror.m4 new file mode 100644 index 000000000000..5ddc028176ba --- /dev/null +++ b/usr.bin/m4/tests/gnusofterror.m4 @@ -0,0 +1,4 @@ +dnl $FreeBSD$ +dnl $OpenBSD: src/regress/usr.bin/m4/gnusofterror.m4,v 1.1 2012/04/12 16:58:15 espie Exp $ +include(`hey I do not exit')dnl +abc diff --git a/usr.bin/m4/tests/includes.aux b/usr.bin/m4/tests/includes.aux new file mode 100644 index 000000000000..a9779693a072 --- /dev/null +++ b/usr.bin/m4/tests/includes.aux @@ -0,0 +1,3 @@ +dnl $FreeBSD$ +dnl $OpenBSD: src/regress/usr.bin/m4/includes.aux,v 1.1 2008/08/16 10:02:32 espie Exp $ +hello world dnl diff --git a/usr.bin/m4/tests/includes.m4 b/usr.bin/m4/tests/includes.m4 new file mode 100644 index 000000000000..c06e763d85d0 --- /dev/null +++ b/usr.bin/m4/tests/includes.m4 @@ -0,0 +1,5 @@ +dnl $FreeBSD$ +dnl $OpenBSD: src/regress/usr.bin/m4/includes.m4,v 1.1 2008/08/16 10:02:32 espie Exp $ +dnl Check that include can occur within parameters +define(`foo', include(includes.aux))dnl +foo diff --git a/usr.bin/m4/tests/legacy_test.sh b/usr.bin/m4/tests/legacy_test.sh new file mode 100644 index 000000000000..1b6b806c5980 --- /dev/null +++ b/usr.bin/m4/tests/legacy_test.sh @@ -0,0 +1,6 @@ +#!/bin/sh +# $FreeBSD$ + +SRCDIR="$(dirname "${0}")"; export SRCDIR + +m4 "${SRCDIR}/../regress.m4" "${SRCDIR}/regress.sh" | sh diff --git a/usr.bin/m4/tests/m4wrap3.m4 b/usr.bin/m4/tests/m4wrap3.m4 new file mode 100644 index 000000000000..a0dffb0d4d5a --- /dev/null +++ b/usr.bin/m4/tests/m4wrap3.m4 @@ -0,0 +1,12 @@ +dnl $FreeBSD$ +dnl $OpenBSD: src/regress/usr.bin/m4/m4wrap3.m4,v 1.1 2005/03/02 10:12:41 espie Exp $ +dnl Another test, this time for multiple wrappers +dnl Check the behavior in presence of recursive m4wraps +dnl both for POSIX m4 and for gnu-m4 mode +m4wrap(`this is +')dnl +m4wrap(`a string +')dnl +m4wrap(`m4wrap(`recurse +')')dnl +normal m4 stuff diff --git a/usr.bin/m4/tests/patterns.m4 b/usr.bin/m4/tests/patterns.m4 new file mode 100644 index 000000000000..e0647787b76c --- /dev/null +++ b/usr.bin/m4/tests/patterns.m4 @@ -0,0 +1,12 @@ +dnl $FreeBSD$ +dnl $OpenBSD: src/regress/usr.bin/m4/patterns.m4,v 1.4 2003/06/08 20:11:45 espie Exp $ +patsubst(`quote s in string', `(s)', `\\\1') +patsubst(`check whether subst +over several lines +works as expected', `^', `>>>') +patsubst(`# This is a line to zap +# and a second line +keep this one', `^ *#.* +') +dnl Special case: empty regexp +patsubst(`empty regexp',`',`a ') diff --git a/usr.bin/m4/tests/quotes.m4 b/usr.bin/m4/tests/quotes.m4 new file mode 100644 index 000000000000..c783e22298a3 --- /dev/null +++ b/usr.bin/m4/tests/quotes.m4 @@ -0,0 +1,58 @@ +dnl $FreeBSD$ +dnl $OpenBSD: src/regress/usr.bin/m4/quotes.m4,v 1.2 2005/09/06 15:33:21 espie Exp $ +dnl Checking the way changequote() is supposed to work +define(`string',`STRING')dnl +1: normal +`quoted string' +[quoted string] +normal string +`half quoted string +going up to that string' + +2: kill quotes +changequote()dnl +`quoted string' +[quoted string] +normal string +`half quoted string +going up to that string' + +3: normal changed quote +changequote([,])dnl +`quoted string' +[quoted string] +normal string +`half quoted string +going up to that string' + +4: empty quotes, kill them too +changequote(,)dnl +`quoted string' +[quoted string] +normal string +`half quoted string +going up to that string' + +5: start quote only +changequote(`)dnl +`quoted string' +[quoted string] +normal string +`half quoted string +going up to that string' + +6: normal quotes are back +changequote +`quoted string' +[quoted string] +normal string +`half quoted string +going up to that string' + +7: start quote+empty end quote +changequote([,)dnl +`quoted string' +[quoted string] +normal string +`half quoted string +going up to that string' diff --git a/usr.bin/m4/tests/redef.m4 b/usr.bin/m4/tests/redef.m4 new file mode 100644 index 000000000000..de01f674b456 --- /dev/null +++ b/usr.bin/m4/tests/redef.m4 @@ -0,0 +1,17 @@ +dnl $FreeBSD$ +dnl $OpenBSD: src/regress/usr.bin/m4/redef.m4,v 1.2 2001/09/27 22:40:58 espie Exp $ +dnl check all properties of builtin are passed on, including args behavior +define(`mybuiltin',defn(`builtin'))dnl +builtin mybuiltin +define(`mydefine',defn(`define'))dnl +mydefine(`mydefn',defn(`defn'))dnl +mydefine(`myundefine',mydefn(`undefine'))dnl +myundefine(`defn')dnl +myundefine(`define')dnl +myundefine(`undefine')dnl +mydefine(`mydef2',mydefn(`mydefine'))dnl +mydefine(`mydef', mydefn(`define'))dnl +myundefine(`mydefine')dnl +mydef2(`A',`B')dnl +mydef(`C',`D')dnl +A C diff --git a/usr.bin/m4/tests/regress.args.out b/usr.bin/m4/tests/regress.args.out new file mode 100644 index 000000000000..aaa890010a59 --- /dev/null +++ b/usr.bin/m4/tests/regress.args.out @@ -0,0 +1,3 @@ +first form: 1,2,B, second form 1,2,C +first form: 1,2,B, second form 1,2,C +first form: , second form diff --git a/usr.bin/m4/tests/regress.args2.out b/usr.bin/m4/tests/regress.args2.out new file mode 100644 index 000000000000..74bdbd6e5958 --- /dev/null +++ b/usr.bin/m4/tests/regress.args2.out @@ -0,0 +1 @@ +( check for embedded spaces) diff --git a/usr.bin/m4/tests/regress.comments.out b/usr.bin/m4/tests/regress.comments.out new file mode 100644 index 000000000000..157f107a8a22 --- /dev/null +++ b/usr.bin/m4/tests/regress.comments.out @@ -0,0 +1,47 @@ +1: normal +# this is a comment +>> this is a COMMENT +'XXX' this is a COMMENT +'XXX' this is a COMMENT q COMMENT too + +2: changecom(>>)dnl +# this is a COMMENT +>> this is a comment +'XXX' this is a COMMENT +'XXX' this is a COMMENT q COMMENT too + +3: changecom dnl + # this is a COMMENT +>> this is a COMMENT +'XXX' this is a COMMENT +'XXX' this is a COMMENT q COMMENT too + +4: changecom()dnl +# this is a COMMENT +>> this is a COMMENT +'XXX' this is a COMMENT +'XXX' this is a COMMENT q COMMENT too + +5: changecom(,)dnl +# this is a COMMENT +>> this is a COMMENT +'XXX' this is a COMMENT +'XXX' this is a COMMENT q COMMENT too + +6: changecom(`p',q)dnl +# this is a COMMENT +>> this is a COMMENT +p this is a comment +p this is a comment q COMMENT too + +7: changecom(`p')dnl +# this is a COMMENT +>> this is a COMMENT +p this is a comment +p this is a comment q comment too + +8: changecom(#)dnl +# this is a comment +>> this is a COMMENT +'XXX' this is a COMMENT +'XXX' this is a COMMENT q COMMENT too diff --git a/usr.bin/m4/tests/regress.esyscmd.out b/usr.bin/m4/tests/regress.esyscmd.out new file mode 100644 index 000000000000..89a1d06578a2 --- /dev/null +++ b/usr.bin/m4/tests/regress.esyscmd.out @@ -0,0 +1,578 @@ + + + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + +hi there a +hi there a + + diff --git a/usr.bin/m4/tests/regress.eval.out b/usr.bin/m4/tests/regress.eval.out new file mode 100644 index 000000000000..7298b3f43840 --- /dev/null +++ b/usr.bin/m4/tests/regress.eval.out @@ -0,0 +1,3 @@ +96 +255 +1 diff --git a/usr.bin/m4/tests/regress.ff_after_dnl.out b/usr.bin/m4/tests/regress.ff_after_dnl.out new file mode 100644 index 000000000000..8e51f1ea05c5 --- /dev/null +++ b/usr.bin/m4/tests/regress.ff_after_dnl.out @@ -0,0 +1,2 @@ + THIS SHOULD SHOW UP (LINE 1) + THIS SHOULD SHOW UP (LINE 5) diff --git a/usr.bin/m4/tests/regress.gnueval.out b/usr.bin/m4/tests/regress.gnueval.out new file mode 100644 index 000000000000..6d7fd49ca21b --- /dev/null +++ b/usr.bin/m4/tests/regress.gnueval.out @@ -0,0 +1,3 @@ +65536 +48 +-64 diff --git a/usr.bin/m4/tests/regress.gnuformat.out b/usr.bin/m4/tests/regress.gnuformat.out new file mode 100644 index 000000000000..3f484d61d4d9 --- /dev/null +++ b/usr.bin/m4/tests/regress.gnuformat.out @@ -0,0 +1 @@ +a stringa%bpouet bctoolongcdtoolong2d diff --git a/usr.bin/m4/tests/regress.gnupatterns.out b/usr.bin/m4/tests/regress.gnupatterns.out new file mode 100644 index 000000000000..8e3110301932 --- /dev/null +++ b/usr.bin/m4/tests/regress.gnupatterns.out @@ -0,0 +1,3 @@ +string with a minus to replace with a minus +string with b to replbce with b b +minusstring with a starting + to replace with a minus diff --git a/usr.bin/m4/tests/regress.gnupatterns2.out b/usr.bin/m4/tests/regress.gnupatterns2.out new file mode 100644 index 000000000000..c45944ab60a1 --- /dev/null +++ b/usr.bin/m4/tests/regress.gnupatterns2.out @@ -0,0 +1 @@ +acosl asinl atanl cosl sinl tanl coshl sinhl tanhl diff --git a/usr.bin/m4/tests/regress.gnuprefix.out b/usr.bin/m4/tests/regress.gnuprefix.out new file mode 100644 index 000000000000..186421d8650b --- /dev/null +++ b/usr.bin/m4/tests/regress.gnuprefix.out @@ -0,0 +1,46 @@ +`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.out new file mode 100644 index 000000000000..322fa4c409fe --- /dev/null +++ b/usr.bin/m4/tests/regress.gnusofterror.out @@ -0,0 +1,2 @@ +m4: gnusofterror.m4 at line 3: include(hey I do not exit): No such file or directory +abc diff --git a/usr.bin/m4/tests/regress.gnutranslit2.out b/usr.bin/m4/tests/regress.gnutranslit2.out new file mode 100644 index 000000000000..5c88e734a07d --- /dev/null +++ b/usr.bin/m4/tests/regress.gnutranslit2.out @@ -0,0 +1,6 @@ +[HAVE_abc def h/] +[HAVE_abc~def~h/] +ABCDEFGHIJ +ABCDEFGHIJ +ABC-0980-ZYX +ABC-0980-ZYX diff --git a/usr.bin/m4/tests/regress.includes.out b/usr.bin/m4/tests/regress.includes.out new file mode 100644 index 000000000000..4a1f4754cfdd --- /dev/null +++ b/usr.bin/m4/tests/regress.includes.out @@ -0,0 +1 @@ +hello world diff --git a/usr.bin/m4/tests/regress.m4wrap3.out b/usr.bin/m4/tests/regress.m4wrap3.out new file mode 100644 index 000000000000..51b43f42d14e --- /dev/null +++ b/usr.bin/m4/tests/regress.m4wrap3.out @@ -0,0 +1,4 @@ +normal m4 stuff +this is +a string +recurse diff --git a/usr.bin/m4/tests/regress.patterns.out b/usr.bin/m4/tests/regress.patterns.out new file mode 100644 index 000000000000..c273b589d772 --- /dev/null +++ b/usr.bin/m4/tests/regress.patterns.out @@ -0,0 +1,6 @@ +quote \s in \string +>>>check whether subst +>>>over several lines +>>>works as expected +keep this one +a ea ma pa ta ya a ra ea ga ea xa p diff --git a/usr.bin/m4/tests/regress.quotes.out b/usr.bin/m4/tests/regress.quotes.out new file mode 100644 index 000000000000..fe5b8a4b45be --- /dev/null +++ b/usr.bin/m4/tests/regress.quotes.out @@ -0,0 +1,49 @@ +m4: unclosed quote: + quotes.m4 at line 55 +1: normal +quoted string +[quoted STRING] +normal STRING +half quoted string +going up to that string + +2: kill quotes +`quoted STRING' +[quoted STRING] +normal STRING +`half quoted STRING +going up to that STRING' + +3: normal changed quote +`quoted STRING' +quoted string +normal STRING +`half quoted STRING +going up to that STRING' + +4: empty quotes, kill them too +`quoted STRING' +[quoted STRING] +normal STRING +`half quoted STRING +going up to that STRING' + +5: start quote only +quoted string'[quoted STRING] +normal STRING +half quoted stringgoing up to that STRING' + +6: normal quotes are back + +quoted string +[quoted STRING] +normal STRING +half quoted string +going up to that string + +7: start quote+empty end quote +`quoted STRING' +quoted string] +normal string +`half quoted string +going up to that string' diff --git a/usr.bin/m4/tests/regress.redef.out b/usr.bin/m4/tests/regress.redef.out new file mode 100644 index 000000000000..ee482f013a86 --- /dev/null +++ b/usr.bin/m4/tests/regress.redef.out @@ -0,0 +1,2 @@ +builtin mybuiltin +B C diff --git a/usr.bin/m4/tests/regress.sh b/usr.bin/m4/tests/regress.sh new file mode 100644 index 000000000000..c1d8b45d3e52 --- /dev/null +++ b/usr.bin/m4/tests/regress.sh @@ -0,0 +1,33 @@ +# $FreeBSD$ + +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() diff --git a/usr.bin/m4/tests/regress.strangequotes.out b/usr.bin/m4/tests/regress.strangequotes.out new file mode 100644 index 000000000000..f19297b58296 --- /dev/null +++ b/usr.bin/m4/tests/regress.strangequotes.out @@ -0,0 +1 @@ +4 to 5 diff --git a/usr.bin/m4/tests/regress.translit.out b/usr.bin/m4/tests/regress.translit.out new file mode 100644 index 000000000000..54abdd3a6d0b --- /dev/null +++ b/usr.bin/m4/tests/regress.translit.out @@ -0,0 +1 @@ +onkp diff --git a/usr.bin/m4/tests/regress.translit2.out b/usr.bin/m4/tests/regress.translit2.out new file mode 100644 index 000000000000..5c561770fa4d --- /dev/null +++ b/usr.bin/m4/tests/regress.translit2.out @@ -0,0 +1,6 @@ +[HAVE_abc def h/] +[HAVE_abc~def~h/] +ABCDEFGHIJ +A12345678J +ABC-0980-ZYX +Abc-0980-Zyx diff --git a/usr.bin/m4/tests/strangequotes.m4.uu b/usr.bin/m4/tests/strangequotes.m4.uu new file mode 100644 index 000000000000..e3d840fb85ae --- /dev/null +++ b/usr.bin/m4/tests/strangequotes.m4.uu @@ -0,0 +1,8 @@ +$FreeBSD$ +$OpenBSD: src/regress/usr.bin/m4/strangequotes.m4.uu,v 1.2 2001/09/19 19:15:08 espie Exp $ + +begin 644 strangequotes.m4 +M8VAA;F=E<75O=&4HJRR[*61N;`ID969I;F4HJT&[+""K)#$@=&\@)#*[*61N +*;`I!*#0L(#4I"F4H +` +end diff --git a/usr.bin/m4/tests/translit.m4 b/usr.bin/m4/tests/translit.m4 new file mode 100644 index 000000000000..19af2e1fccef --- /dev/null +++ b/usr.bin/m4/tests/translit.m4 @@ -0,0 +1,4 @@ +dnl $FreeBSD$ +dnl $OpenBSD: src/regress/usr.bin/m4/translit.m4,v 1.1 2010/03/23 20:11:52 espie Exp $ +dnl first one should match, not second one +translit(`onk*', `**', `p_') diff --git a/usr.bin/m4/tests/translit2.m4 b/usr.bin/m4/tests/translit2.m4 new file mode 100644 index 000000000000..ec26c0840573 --- /dev/null +++ b/usr.bin/m4/tests/translit2.m4 @@ -0,0 +1,9 @@ +dnl $FreeBSD$ +translit(`[HAVE_abc/def.h +]', ` +/.', `/ ') +translit(`[HAVE_abc/def.h=]', `=/.', `/~~') +translit(`0123456789', `0123456789', `ABCDEFGHIJ') +translit(`0123456789', `[0-9]', `[A-J]') +translit(`abc-0980-zyx', `abcdefghijklmnopqrstuvwxyz', `ABCDEFGHIJKLMNOPQRSTUVWXYZ') +translit(`abc-0980-zyx', `[a-z]', `[A-Z]') |