diff options
author | Ingo Schwarze <schwarze@cvs.openbsd.org> | 2014-10-27 15:05:46 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@cvs.openbsd.org> | 2014-10-27 15:05:46 +0000 |
commit | 09ab5367a008599789224b93c997c9974fc446de (patch) | |
tree | ab470d8163df2ac04697638e9e394335473cdab4 | |
parent | 430b59d5bb20e538af23032066ead7946bcb20b9 (diff) |
Infrastructure for testing HTML output;
this is relevant because we use the HTML output module
for man.cgi(8), where broken output can cause security issues.
-rw-r--r-- | regress/usr.bin/mandoc/Makefile.inc | 54 | ||||
-rw-r--r-- | regress/usr.bin/mandoc/Makefile.sub | 9 |
2 files changed, 54 insertions, 9 deletions
diff --git a/regress/usr.bin/mandoc/Makefile.inc b/regress/usr.bin/mandoc/Makefile.inc index a104d338b17..9baf6bba59c 100644 --- a/regress/usr.bin/mandoc/Makefile.inc +++ b/regress/usr.bin/mandoc/Makefile.inc @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile.inc,v 1.14 2014/08/14 00:07:55 schwarze Exp $ +# $OpenBSD: Makefile.inc,v 1.15 2014/10/27 15:05:45 schwarze Exp $ .include "Makefile.sub" @@ -30,6 +30,9 @@ _MANDIFFS += ${t}.diff_man _UTF8FILES = ${UTF8_TARGETS:C/$/.mandoc_utf8/} _UTF8DIFFS = ${UTF8_TARGETS:C/$/.diff_utf8/} +_HTMLFILES = ${HTML_TARGETS:C/$/.mandoc_html/} +_HTMLDIFFS = ${HTML_TARGETS:C/$/.diff_html/} + _LINTFILES = _LINTDIFFS = .for t in ${LINT_TARGETS} @@ -48,16 +51,20 @@ ascii: ascii-clean ${_ASCIIDIFFS} utf8: utf8-clean ${_UTF8DIFFS} +html: html-clean ${_HTMLDIFFS} + tman: tman-clean ${_MANDIFFS} lint: lint-clean ${_LINTDIFFS} -html: ${_HTMLVALS} +htmlval: ${_HTMLVALS} # --- suffix rules --- -.SUFFIXES: .diff_ascii .diff_lint .diff_man .diff_utf8 .in .in_man \ - .mandoc_ascii .mandoc_lint .mandoc_man .mandoc_utf8 \ +.SUFFIXES: .diff_ascii .diff_html .diff_lint .diff_man .diff_utf8 \ + .in .in_man \ + .mandoc_ascii .mandoc_html .mandoc_lint \ + .mandoc_man .mandoc_utf8 \ .out_ascii .out_lint .out_utf8 .in.mandoc_ascii: @@ -76,6 +83,15 @@ html: ${_HTMLVALS} @echo "${DIFF} ${.IMPSRC:S/mandoc_utf8$/out_utf8/} ${.IMPSRC}" @${DIFF} ${.CURDIR}/${.IMPSRC:S/mandoc_utf8$/out_utf8/} ${.IMPSRC} +.in.mandoc_html: + @echo "${MANDOC} ${MOPTS} -Thtml ${.IMPSRC:T} > ${.TARGET}" + @${MANDOC} ${MOPTS} -Thtml ${.IMPSRC} | \ + sed -n '/^BEGINTEST/,/^ENDTEST/p' > ${.TARGET} + +.mandoc_html.diff_html: + @echo "${DIFF} ${.IMPSRC:S/mandoc_html$/out_html/} ${.IMPSRC}" + @${DIFF} ${.CURDIR}/${.IMPSRC:S/mandoc_html$/out_html/} ${.IMPSRC} + .in.in_man: @echo "${MANDOC} ${MOPTS} -Tman ${.IMPSRC:T} > ${.TARGET}" @${MANDOC} ${MOPTS} -Tman ${.IMPSRC} > ${.TARGET} @@ -120,6 +136,10 @@ ${t}.validate_html: ${t}.in ${t}: ${t}.diff_utf8 .endfor +.for t in ${HTML_TARGETS} +${t}: ${t}.diff_html +.endfor + .for t in ${LINT_TARGETS} ${t}: ${t}.diff_lint .endfor @@ -138,6 +158,11 @@ utf8-clean: rm -f ${_UTF8FILES} .endif +html-clean: +.if !empty(_HTMLFILES) + rm -f ${_HTMLFILES} +.endif + tman-clean: .if !empty(_MANFILES) rm -f ${_MANFILES} @@ -148,7 +173,8 @@ lint-clean: rm -f ${_LINTFILES} .endif -.PHONY: ${_ASCIIDIFFS} ${_HTMLVALS} ${_LINTDIFFS} ${_MANDIFFS} ${_UTF8DIFFS} +.PHONY: ${_ASCIIDIFFS} ${_UTF8DIFFS} ${_HTMLDIFFS} ${_MANDIFFS} \ + ${_LINTDIFFS} ${_HTMLVALS} # ---------------------------------------------------------------------- @@ -170,6 +196,7 @@ NOPTS ?= -mandoc SKIP_GROFF ?= _OUTFILES = +_HTMLOUTFILES = _LINTOUTFILES = .for t in ${REGRESS_TARGETS} . if empty(SKIP_GROFF:M${t}) && \ @@ -184,6 +211,10 @@ _OUTFILES += ${t}.out_utf8 . endif .endfor +.for t in ${HTML_TARGETS} +_HTMLOUTFILES += ${t}.out_html +.endfor + .for t in ${LINT_TARGETS} _LINTOUTFILES += ${t}.out_lint .endfor @@ -192,6 +223,8 @@ _LINTOUTFILES += ${t}.out_lint groff: obj-check ${_OUTFILES} +html-out: obj-check ${_HTMLOUTFILES} + lint-out: obj-check ${_LINTOUTFILES} # --- single-file targets --- @@ -220,6 +253,12 @@ ${t}.out_utf8: . endif .endfor +.for t in ${HTML_TARGETS} +${t}.out_html: ${t}.in + ${MANDOC} ${MOPTS} -Thtml ${.ALLSRC} | \ + sed -n '/^BEGINTEST/,/^ENDTEST/p' > ${.TARGET} +.endfor + .for t in ${LINT_TARGETS} ${t}.out_lint: ${t}.in -${MANDOC} ${MOPTS} -Tlint ${.ALLSRC} > ${.TARGET} 2>&1 @@ -232,6 +271,11 @@ groff-clean: obj-check rm -f ${_OUTFILES} .endif +html-out-clean: obj-check +.if !empty(_HTMLOUTFILES) + rm -f ${_HTMLOUTFILES} +.endif + lint-out-clean: obj-check .if !empty(_LINTOUTFILES) rm -f ${_LINTOUTFILES} diff --git a/regress/usr.bin/mandoc/Makefile.sub b/regress/usr.bin/mandoc/Makefile.sub index dc98ec81e73..0e21bbb81ea 100644 --- a/regress/usr.bin/mandoc/Makefile.sub +++ b/regress/usr.bin/mandoc/Makefile.sub @@ -1,8 +1,9 @@ -# $OpenBSD: Makefile.sub,v 1.2 2014/08/14 00:07:55 schwarze Exp $ +# $OpenBSD: Makefile.sub,v 1.3 2014/10/27 15:05:45 schwarze Exp $ -_MAIN_TARGETS = ascii utf8 tman lint html -_CLEAN_TARGETS = ascii-clean utf8-clean tman-clean lint-clean -_OUT_TARGETS = groff groff-clean lint-out lint-out-clean obj-clean +_MAIN_TARGETS = ascii utf8 html tman lint htmlval +_CLEAN_TARGETS = ascii-clean utf8-clean html-clean tman-clean lint-clean +_OUT_TARGETS = groff groff-clean html-out html-out-clean \ + lint-out lint-out-clean obj-clean ${_MAIN_TARGETS} ${_CLEAN_TARGETS} ${_OUT_TARGETS}: _SUBDIRUSE |