source@mandoc.bsd.lv
 help / color / mirror / Atom feed
* pod2mdoc: start a regression suite
@ 2014-07-15 19:20 schwarze
  0 siblings, 0 replies; only message in thread
From: schwarze @ 2014-07-15 19:20 UTC (permalink / raw)
  To: source

Log Message:
-----------
start a regression suite

Added Files:
-----------
    pod2mdoc/Regress:
        Makefile.inc
        p2m_postproc.pl
    pod2mdoc/Regress/formatcode:
        Makefile
        invalid.pod
        textline.pod

Revision Data
-------------
--- /dev/null
+++ Regress/Makefile.inc
@@ -0,0 +1,126 @@
+# --- utilities ---
+
+POD2MAN = pod2man -c 'OpenBSD Reference Manual' -d 'July 13, 2014' -r 'OpenBSD ports'
+GROFF = groff -Tascii -P -c
+MANDOC = mandoc -Tascii
+DIFF = diff -u
+POD2MDOC = /co/pod2mdoc/pod2mdoc -d 'July 13, 2014'
+
+# --- lists ---
+
+PREMANS = ${TARGETS:S/$/.preman/}
+MANS = ${TARGETS:S/$/.man/}
+GROFFMANS = ${TARGETS:S/$/.groff_man/}
+MANDOCMANS = ${TARGETS:S/$/.mandoc_man/}
+MANDOCMANMS = ${TARGETS:S/$/.mandoc_manm/}
+DIFFMANS = ${TARGETS:S/$/.diff_man/}
+MDOCS = ${TARGETS:S/$/.mdoc/}
+GROFFMDOCS = ${TARGETS:S/$/.groff_mdoc/}
+MANDOCMDOCS = ${TARGETS:S/$/.mandoc_mdoc/}
+DIFFMDOCS = ${TARGETS:S/$/.diff_mdoc/}
+DIFFS = ${TARGETS:S/$/.diff/}
+
+# --- production targets ---
+
+all: manall mdoc groffmdoc mandocmdoc diffmdoc maindiff
+
+clean: mdoc-clean groffmdoc-clean mandocmdoc-clean
+	rm -f *.part *.core
+
+mdoc: ${MDOCS}
+
+mdoc-clean:
+	rm -f ${MDOCS}
+
+groffmdoc: ${GROFFMDOCS}
+
+groffmdoc-clean:
+	rm -f ${GROFFMDOCS}
+
+mandocmdoc: ${MANDOCMDOCS}
+
+mandocmdoc-clean:
+	rm -f ${MANDOCMDOCS}
+
+diffmdoc: ${DIFFMDOCS}
+
+maindiff: ${DIFFS}
+
+# --- maintainer targets ---
+
+manall: man groffman mandocman mandocmanm diffman
+
+allclean: clean preman-clean man-clean \
+	  groffman-clean mandocman-clean mandocmanm-clean
+
+preman: ${PREMANS}
+
+preman-clean:
+	rm -f ${PREMANS}
+
+man: ${MANS}
+
+man-clean:
+	rm -f ${MANS}
+
+groffman: ${GROFFMANS}
+
+groffman-clean:
+	rm -f ${GROFFMANS}
+
+mandocman: ${MANDOCMANS}
+
+mandocman-clean:
+	rm -f ${MANDOCMANS}
+
+mandocmanm: ${MANDOCMANMS}
+
+mandocmanm-clean:
+	rm -f ${MANDOCMANMS}
+
+diffman: ${DIFFMANS}
+
+.for t in ${TARGETS}
+${t}.diff_man: ${t}.groff_man ${t}.mandoc_man
+	${DIFF} $?
+${t}.diff_mdoc: ${t}.groff_mdoc ${t}.mandoc_mdoc
+	${DIFF} $?
+${t}.diff: ${t}.mandoc_manm ${t}.mandoc_mdoc
+	${DIFF} $?
+.endfor
+
+# --- suffix rules ---
+
+.SUFFIXES: .pod .preman .man .groff_man .mandoc_man .mandoc_manm .diff_man
+.SUFFIXES: .mdoc .groff_mdoc .mandoc_mdoc
+
+.pod.preman:
+	-${POD2MAN} $< > $@
+
+.preman.man:
+	../p2m_postproc.pl < $< > $@.part
+	@mv $@.part $@
+
+.man.groff_man:
+	${GROFF} -man $< > $@.part
+	@mv $@.part $@
+
+.man.mandoc_man:
+	${MANDOC} -man $< > $@.part
+	@mv $@.part $@
+
+.man.mandoc_manm:
+	${MANDOC} -man -Omdoc $< > $@.part
+	@mv $@.part $@
+
+.pod.mdoc:
+	${POD2MDOC} $< > $@.part
+	@mv $@.part $@
+
+.mdoc.groff_mdoc:
+	${GROFF} -mdoc $< > $@.part
+	@mv $@.part $@
+
+.mdoc.mandoc_mdoc:
+	${MANDOC} -mdoc -Ios='OpenBSD ports' $< > $@.part
+	@mv $@.part $@
--- /dev/null
+++ Regress/p2m_postproc.pl
@@ -0,0 +1,13 @@
+#!/usr/bin/perl
+use warnings;
+use strict;
+
+while (<>) {
+  print;
+  last if $_ eq ".SH \"NAME\"\n";
+}
+$_ = <> // die 'no name section';
+s/(.*?)( \\- .*)/\\fB$1\\fP$2/ or die 'bad name section';
+print;
+print <>;
+exit 0;
--- /dev/null
+++ Regress/formatcode/invalid.pod
@@ -0,0 +1,9 @@
+=head1 NAME
+
+invalid - invalid escape sequence
+
+=head1 DESCRIPTION
+
+beforeY<invalid>after
+
+before B<inY<val>id> after
--- /dev/null
+++ Regress/formatcode/textline.pod
@@ -0,0 +1,11 @@
+=head1 NAME
+
+textline - escape sequences on text lines
+
+=head1 DESCRIPTION
+
+beforeB<bold>
+
+before B<bold>
+
+first secondI<italic>
--- /dev/null
+++ Regress/formatcode/Makefile
@@ -0,0 +1,3 @@
+TARGETS = invalid textline
+
+.include "../Makefile.inc"
--
 To unsubscribe send an email to source+unsubscribe@mdocml.bsd.lv

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2014-07-15 19:20 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-07-15 19:20 pod2mdoc: start a regression suite schwarze

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).