Skip to content

Commit 1bc188c

Browse files
committed
test(docs): add a make test target
1 parent e44dc1f commit 1bc188c

1 file changed

Lines changed: 35 additions & 28 deletions

File tree

docs/Makefile

Lines changed: 35 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -12,21 +12,28 @@ BUILDDIR = _build
1212
READTHEDOCS = true
1313
export READTHEDOCS
1414

15-
# User-friendly check for sphinx-build
16-
ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
17-
$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)
18-
endif
19-
2015
# Internal variables.
2116
PAPEROPT_a4 = -D latex_paper_size=a4
2217
PAPEROPT_letter = -D latex_paper_size=letter
2318
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
2419
# the i18n builder cannot share the environment and doctrees with the others
2520
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
2621

27-
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
22+
.PHONY: test check-sphinx help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
23+
24+
test: clean
25+
@if [ ! -d venv ]; then virtualenv venv; fi
26+
venv/bin/pip install -q -r docs_requirements.txt
27+
venv/bin/$(SPHINXBUILD) -a -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
28+
test -f $(BUILDDIR)/dirhtml/index.html
29+
30+
check-sphinx:
31+
# User-friendly check for sphinx-build
32+
ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
33+
$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)
34+
endif
2835

29-
dirhtml:
36+
dirhtml: check-sphinx
3037
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
3138
@echo
3239
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
@@ -66,33 +73,33 @@ clean:
6673
zipfile: dirhtml
6774
cd $(BUILDDIR)/dirhtml; $(ZIP) -r -D -o ../../docs.zip .
6875

69-
html:
76+
html: check-sphinx
7077
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
7178
@echo
7279
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
7380

74-
singlehtml:
81+
singlehtml: check-sphinx
7582
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
7683
@echo
7784
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
7885

79-
pickle:
86+
pickle: check-sphinx
8087
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
8188
@echo
8289
@echo "Build finished; now you can process the pickle files."
8390

84-
json:
91+
json: check-sphinx
8592
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
8693
@echo
8794
@echo "Build finished; now you can process the JSON files."
8895

89-
htmlhelp:
96+
htmlhelp: check-sphinx
9097
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
9198
@echo
9299
@echo "Build finished; now you can run HTML Help Workshop with the" \
93100
".hhp project file in $(BUILDDIR)/htmlhelp."
94101

95-
qthelp:
102+
qthelp: check-sphinx
96103
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
97104
@echo
98105
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
@@ -101,7 +108,7 @@ qthelp:
101108
@echo "To view the help file:"
102109
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/deis.qhc"
103110

104-
devhelp:
111+
devhelp: check-sphinx
105112
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
106113
@echo
107114
@echo "Build finished."
@@ -110,80 +117,80 @@ devhelp:
110117
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/deis"
111118
@echo "# devhelp"
112119

113-
epub:
120+
epub: check-sphinx
114121
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
115122
@echo
116123
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
117124

118-
latex:
125+
latex: check-sphinx
119126
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
120127
@echo
121128
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
122129
@echo "Run \`make' in that directory to run these through (pdf)latex" \
123130
"(use \`make latexpdf' here to do that automatically)."
124131

125-
latexpdf:
132+
latexpdf: check-sphinx
126133
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
127134
@echo "Running LaTeX files through pdflatex..."
128135
$(MAKE) -C $(BUILDDIR)/latex all-pdf
129136
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
130137

131-
latexpdfja:
138+
latexpdfja: check-sphinx
132139
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
133140
@echo "Running LaTeX files through platex and dvipdfmx..."
134141
$(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
135142
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
136143

137-
text:
144+
text: check-sphinx
138145
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
139146
@echo
140147
@echo "Build finished. The text files are in $(BUILDDIR)/text."
141148

142-
man:
149+
man: check-sphinx
143150
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
144151
@echo
145152
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
146153

147-
texinfo:
154+
texinfo: check-sphinx
148155
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
149156
@echo
150157
@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
151158
@echo "Run \`make' in that directory to run these through makeinfo" \
152159
"(use \`make info' here to do that automatically)."
153160

154-
info:
161+
info: check-sphinx
155162
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
156163
@echo "Running Texinfo files through makeinfo..."
157164
make -C $(BUILDDIR)/texinfo info
158165
@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
159166

160-
gettext:
167+
gettext: check-sphinx
161168
$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
162169
@echo
163170
@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
164171

165-
changes:
172+
changes: check-sphinx
166173
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
167174
@echo
168175
@echo "The overview file is in $(BUILDDIR)/changes."
169176

170-
linkcheck:
177+
linkcheck: check-sphinx
171178
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
172179
@echo
173180
@echo "Link check complete; look for any errors in the above output " \
174181
"or in $(BUILDDIR)/linkcheck/output.txt."
175182

176-
doctest:
183+
doctest: check-sphinx
177184
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
178185
@echo "Testing of doctests in the sources finished, look at the " \
179186
"results in $(BUILDDIR)/doctest/output.txt."
180187

181-
xml:
188+
xml: check-sphinx
182189
$(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
183190
@echo
184191
@echo "Build finished. The XML files are in $(BUILDDIR)/xml."
185192

186-
pseudoxml:
193+
pseudoxml: check-sphinx
187194
$(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
188195
@echo
189196
@echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."

0 commit comments

Comments
 (0)