new file mode 100755
@@ -0,0 +1,91 @@
+#!/bin/sh
+
+test_description='Check the output of documentation tools'
+
+. ./test-lib.sh
+
+doc_dir="$GIT_BUILD_DIR/Documentation"
+
+command -v asciidoc >/dev/null && test_set_prereq ASCIIDOC
+command -v asciidoctor >/dev/null && test_set_prereq ASCIIDOCTOR
+
+cat >git-foo.txt <<EOF
+git-foo(1)
+===========
+
+NAME
+----
+git-foo - Test command
+
+SYNOPSIS
+--------
+[verse]
+'git-foo' [<arg>]
+
+DESCRIPTION
+-----------
+description
+
+GIT
+---
+Part of the linkgit:git[1] suite
+EOF
+
+cat >git-foo.1.expected <<EOF
+'\" t
+.TH "GIT\-FOO" "1" "2005\-01\-01" "Git 1\&.0\&.0" "Git Manual"
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.nh
+.ad l
+.SH "NAME"
+git-foo \- Test command
+.SH "SYNOPSIS"
+.sp
+.nf
+\fIgit\-foo\fR [<arg>]
+.fi
+.sp
+.SH "DESCRIPTION"
+.sp
+description
+.SH "GIT"
+.sp
+Part of the \fBgit\fR(1) suite
+EOF
+
+xmltoman() {
+ base="$1"
+ shift
+ xmlto --skip-validation -m "$doc_dir/manpage-normal.xsl" -m "$doc_dir/manpage-bold-literal.xsl" "$@" man "$base.xml"
+}
+
+build_asciidoc_py() {
+ asciidoc -f "$doc_dir/asciidoc.conf" -amanmanual='Git Manual' -amansource='Git 1.0.0' -arevdate='2005-01-01' -b docbook -d manpage \
+ -o "$1.xml" "$1.txt" &&
+ xmltoman "$1"
+}
+
+build_asciidoctor() {
+ asciidoctor -acompat-mode -atabsize=8 -I "$doc_dir" -rasciidoctor-extensions -alitdd='--' \
+ -amanmanual='Git Manual' -amansource='Git 1.0.0' -arevdate='2005-01-01' -b docbook5 -d manpage \
+ -o "$1.xml" "$1.txt" &&
+ xmltoman "$1" -x "$doc_dir"/manpage.xsl
+}
+
+check_manpage() {
+ sed -e '/^\.\\"/d' -e '/^$/d' "$1.1" >"$1.1.actual" &&
+ test_cmp "$1.1.expected" "$1.1.actual"
+}
+
+test_expect_failure ASCIIDOC 'legacy asciidoc.py' '
+ build_asciidoc_py "git-foo" &&
+ check_manpage "git-foo"
+'
+
+test_expect_failure ASCIIDOCTOR 'modern asciidoctor (docbook5)' '
+ build_asciidoctor "git-foo" &&
+ check_manpage "git-foo"
+'
+
+test_done
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> --- t/t0600-doc-tools.sh | 91 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100755 t/t0600-doc-tools.sh