1## Process this file with automake to produce Makefile.in
2
3tests:
4	@$(MAKE) single
5	@$(MAKE) xtchunk
6
7valgrind:
8	@echo '## Running the regression tests under Valgrind'
9	$(MAKE) CHECKER='libtool --mode=execute valgrind -q --leak-check=full' tests
10
11$(top_builddir)/xsltproc/xsltproc:
12	@(cd ../../xsltproc ; $(MAKE) xsltproc)
13
14EXTRA_DIST = README VERSION
15
16CLEANFILES = .memdump
17
18full: tests htmltests xhtmltests fotests
19
20#
21# a single tests to check that stuff ain't broken
22#
23single:
24	@echo '## Running single docbook tests'
25	@$(MKDIR_P) result/html
26	@$(MKDIR_P) result/fo
27	@$(MKDIR_P) result/xhtml
28	@(echo > .memdump)
29	@(for i in $(srcdir)/test/gdp-handbook.xml ; do \
30	  out=result/html/`basename $$i .xml`.tst; \
31	  html=result/html/`basename $$i .xml`.html; \
32	  log=`$(CHECKER) $(top_builddir)/xsltproc/xsltproc --nonet \
33		$(srcdir)/html/docbook.xsl $$i > $$out ; \
34	    if [ -f $(srcdir)/$$html ] ; then \
35		grep -v id < $(srcdir)/$$html > $$html.noid ; \
36		grep -v id < $$out > $$out.noid ; \
37		diff $$html.noid $$out.noid ; \
38		rm -f $$html.noid $$out.noid ; \
39	    else \
40		mv $$out $(srcdir)/$$html ; \
41	    fi ; \
42	  grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0" || true` ; \
43	  if [ -n "$$log" ] ; then \
44		echo result ; \
45		echo "$$log" ; \
46	  fi ; \
47	  rm -f $$out ; \
48	  out=result/fo/`basename $$i .xml`.tst; \
49	  fo=result/fo/`basename $$i .xml`.fo; \
50	  msg=result/fo/`basename $$i .xml`.msg; \
51	  log=`$(CHECKER) $(top_builddir)/xsltproc/xsltproc --nonet \
52		$(srcdir)/fo/docbook.xsl $$i > $$out 2> $$msg ; \
53	  if [ -f $(srcdir)/$$fo ] ; then \
54	      grep -v id < $(srcdir)/$$fo > $$fo.noid ; \
55	      grep -v id < $$out > $$out.noid ; \
56	      diff $$fo.noid $$out.noid ; \
57	      rm -f $$fo.noid $$out.noid ; \
58	  else \
59		mv $$out $(srcdir)/$$fo ; \
60	  fi ; \
61	  grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0" || true` ; \
62	  if [ -n "$$log" ] ; then \
63		echo result ; \
64		echo "$$log" ; \
65	  fi ; \
66	  rm -f $$out $$msg ; \
67	  out=result/xhtml/`basename $$i .xml`.tst; \
68	  xhtml=result/xhtml/`basename $$i .xml`.xhtml; \
69	  log=`$(CHECKER) $(top_builddir)/xsltproc/xsltproc --nonet \
70		$(srcdir)/xhtml/docbook.xsl $$i > $$out ; \
71	  if [ -f $(srcdir)/$$xhtml ] ; then \
72	      grep -v id < $(srcdir)/$$xhtml > $$xhtml.noid ; \
73	      grep -v id < $$out > $$out.noid ; \
74	      diff $$xhtml.noid $$out.noid ; \
75	      rm -f $$xhtml.noid $$out.noid ; \
76	  else \
77		mv $$out $(srcdir)/$$xhtml ; \
78	  fi ; \
79	  grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0" || true` ; \
80	  if [ -n "$$log" ] ; then \
81		echo result ; \
82		echo "$$log" ; \
83	  fi ; \
84	  rm -f $$out ; \
85	  done )
86
87xtchunk:
88	@echo '## Running xtchunk docbook tests'
89	@$(MKDIR_P) result/html
90	@$(MKDIR_P) result/xtchunk
91	@(echo > .memdump)
92	@(for i in $(srcdir)/test/gdp-handbook.xml ; do \
93	  base=`basename $$i .xml` ; \
94	  html=result/html/$$base.html; \
95	  log=`$(CHECKER) $(top_builddir)/xsltproc/xsltproc \
96		-o result/xtchunk/html/gdp-handbook \
97		$(srcdir)/html/xtchunk.xsl $$i 2> $$base.err ; \
98	    if [ -f $(srcdir)/result/html/$$base.err ] ; then \
99		diff $(srcdir)/result/html/$$base.err $$base.err ; \
100		rm $$base.err ; \
101	    else \
102		mv $$base.err $(srcdir)/result/html/$$base.err ; \
103	    fi ; \
104	    for html in result/xtchunk/html/*.html ; do \
105	      orig=result/xtchunk/html/\`basename $$html .html\`.orig ;\
106	      if [ -f $(srcdir)/$$orig ] ; then \
107		  grep -v id < $$html > $$html.noid ; \
108		  grep -v id < $(srcdir)/$$orig > $$orig.noid ; \
109		  diff $$orig.noid $$html.noid ; \
110		  rm -f $$html.noid $$orig.noid $$html; \
111	      else \
112		  mv $$html $(srcdir)/$$orig ; \
113		fi ; \
114	    done ; \
115	    grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0" || true` ; \
116	  if [ -n "$$log" ] ; then \
117		echo result ; \
118		echo "$$log" ; \
119	  fi ; \
120	  rm -f result/xtchunk/html/gdp-handbook ; \
121	  done )
122
123#
124# The full set of tests
125#
126htmltests: $(top_builddir)/xsltproc/xsltproc
127	@$(MKDIR_P) result/html
128	@(echo > .memdump)
129	@echo "##"
130	@echo "## HTML stylesheets regression tests"
131	@echo "##"
132	@(for i in $(srcdir)/test/*.xml ; do \
133	  echo $$i ; \
134	  out=result/html/`basename $$i .xml`.tst; \
135	  html=result/html/`basename $$i .xml`.html; \
136	  $(CHECKER) $(top_builddir)/xsltproc/xsltproc --nonet $(srcdir)/html/docbook.xsl $$i > $$out ; \
137	  if [ -f $(srcdir)/$$html ] ; then \
138	      grep -v id < $(srcdir)/$$html > $$html.noid ; \
139	      grep -v id < $$out > $$out.noid ; \
140	      diff $$html.noid $$out.noid ; \
141	      rm -f $$html.noid $$out.noid ; \
142	  else mv $$out $(srcdir)/$$html ; fi ; \
143	  grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0" || true;\
144	  rm -f $$out ; done )
145
146fotests: $(top_builddir)/xsltproc/xsltproc
147	@$(MKDIR_P) result/fo
148	@(echo > .memdump)
149	@echo "##"
150	@echo "## XSL FO stylesheets regression tests"
151	@echo "##"
152	@(for i in $(srcdir)/test/*.xml ; do \
153	  echo $$i ; \
154	  out=result/fo/`basename $$i .xml`.tst; \
155	  fo=result/fo/`basename $$i .xml`.fo; \
156	  msg=result/fo/`basename $$i .xml`.msg; \
157	  $(CHECKER) $(top_builddir)/xsltproc/xsltproc --nonet $(srcdir)/fo/docbook.xsl $$i > $$out  2> $$msg ; \
158	  if [ -f $(srcdir)/$$fo ] ; then \
159	      grep -v id < $(srcdir)/$$fo > $$fo.noid ; \
160	      grep -v id < $$out > $$out.noid ; \
161	      diff $$fo.noid $$out.noid ; \
162	      rm -f $$fo.noid $$out.noid ; \
163	  else mv $$out $(srcdir)/$$fo ; fi ; \
164	  grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0" || true;\
165	  rm -f $$out $$msg ; \
166	  done )
167
168xhtmltests: $(top_builddir)/xsltproc/xsltproc
169	@$(MKDIR_P) result/xhtml
170	@(echo > .memdump)
171	@echo "##"
172	@echo "## XHTML stylesheets regression tests"
173	@echo "##"
174	@(for i in $(srcdir)/test/*.xml ; do \
175	  echo $$i ; \
176	  out=result/xhtml/`basename $$i .xml`.tst; \
177	  xhtml=result/xhtml/`basename $$i .xml`.xhtml; \
178	  $(CHECKER) $(top_builddir)/xsltproc/xsltproc --nonet $(srcdir)/xhtml/docbook.xsl $$i > $$out ; \
179	  if [ -f $(srcdir)/$$xhtml ] ; then \
180	      grep -v id < $(srcdir)/$$xhtml > $$xhtml.noid ; \
181	      grep -v id < $$out > $$out.noid ; \
182	      diff $$xhtml.noid $$out.noid ; \
183	      rm -f $$xhtml.noid $$out.noid ; \
184	  else mv $$out $(srcdir)/$$xhtml ; fi ; \
185	  grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0" || true;\
186	  rm -f $$out ; done )
187
188dist-hook:
189	@(cd $(srcdir) ; tar -cf - --exclude CVS --exclude .svn common html dtd lib xhtml fo doc images template htmlhelp result test) | (cd $(distdir); tar xf -)
190