4 # Copyright 2014, Juniper Networks, Inc.
6 # This SOFTWARE is licensed under the LICENSE provided in the
7 # ../Copyright file. By downloading, installing, copying, or otherwise
8 # using the SOFTWARE, you agree to be bound by the terms of that
13 -I${top_srcdir}/libxo \
16 # Ick: maintained by hand!
20 gt_01_test_SOURCES = gt_01.c
22 # TEST_CASES := $(shell cd ${srcdir} ; echo *.c )
24 noinst_PROGRAMS = ${TEST_CASES:.c=.test}
27 ${top_builddir}/libxo/libxo.la
29 if HAVE_HUMANIZE_NUMBER
35 ${addprefix saved/, ${TEST_CASES:.c=.T.err}} \
36 ${addprefix saved/, ${TEST_CASES:.c=.T.out}} \
37 ${addprefix saved/, ${TEST_CASES:.c=.XP.err}} \
38 ${addprefix saved/, ${TEST_CASES:.c=.XP.out}} \
39 ${addprefix saved/, ${TEST_CASES:.c=.JP.err}} \
40 ${addprefix saved/, ${TEST_CASES:.c=.JP.out}} \
41 ${addprefix saved/, ${TEST_CASES:.c=.HP.err}} \
42 ${addprefix saved/, ${TEST_CASES:.c=.HP.out}} \
43 ${addprefix saved/, ${TEST_CASES:.c=.X.err}} \
44 ${addprefix saved/, ${TEST_CASES:.c=.X.out}} \
45 ${addprefix saved/, ${TEST_CASES:.c=.J.err}} \
46 ${addprefix saved/, ${TEST_CASES:.c=.J.out}} \
47 ${addprefix saved/, ${TEST_CASES:.c=.H.err}} \
48 ${addprefix saved/, ${TEST_CASES:.c=.H.out}} \
49 ${addprefix saved/, ${TEST_CASES:.c=.HIPx.err}} \
50 ${addprefix saved/, ${TEST_CASES:.c=.HIPx.out}}
58 po/pig_latin/gt_01.po \
59 po/pig_latin/ldns.po \
60 po/pig_latin/strerror.po
62 EXTRA_DIST += ${POT_FILES} ${PO_FILES}
64 S2O = | ${SED} '1,/@@/d'
69 @echo '## Running the regression tests under Valgrind'
70 ${MAKE} CHECKER='valgrind -q' tests
72 #TEST_TRACE = set -x ;
75 LIBXO_OPTIONS=:W$$fmt \
76 ${CHECKER} ./$$base.test ${TEST_OPTS} \
77 > out/$$base.$$fmt.out 2> out/$$base.$$fmt.err ; \
78 ${DIFF} -Nu ${srcdir}/saved/$$base.$$fmt.out out/$$base.$$fmt.out ${S2O} ; \
79 ${DIFF} -Nu ${srcdir}/saved/$$base.$$fmt.err out/$$base.$$fmt.err ${S2O}
81 TEST_FORMATS = T XP JP HP X J H HIPx
83 test tests: ${bin_PROGRAMS} build-mo-files
85 -@ ${TEST_TRACE} (for test in ${TEST_CASES} ; do \
86 base=`${BASENAME} $$test .c` ; \
87 (for fmt in ${TEST_FORMATS}; do \
88 echo "... $$test ... $$fmt ..."; \
95 -@(test=${TEST_CASE}; data=${TEST_DATA}; ${TEST_ONE} ; true)
98 -@(for test in ${TEST_CASES} ; do \
99 base=`${BASENAME} $$test .c` ; \
100 (for fmt in ${TEST_FORMATS}; do \
101 echo "... $$test ... $$fmt ..."; \
102 ${CP} out/$$base.$$fmt.out ${srcdir}/saved/$$base.$$fmt.out ; \
103 ${CP} out/$$base.$$fmt.err ${srcdir}/saved/$$base.$$fmt.err ; \
108 $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -o $@ $<
110 CLEANFILES = ${TEST_CASES:.c=.test}
116 XGETTEXT = ${GETTEXT_BINDIR}/xgettext
117 MSGFMT = ${GETTEXT_BINDIR}/msgfmt -v
118 MSGMERGE = ${GETTEXT_BINDIR}/msgmerge
121 XOMSGMERGE = ${MSGMERGE} --no-wrap
129 # ldns is fake; used only for a gettext domain
130 FAKE_FILES = ldns strerror
131 MO_BASE_FILES = ${TEST_CASES:.c=} ${FAKE_FILES}
134 for file in ${TEST_CASES} ; do set -x ;\
135 base=`${BASENAME} $$file .c` ; \
136 ${XGETTEXT} --default-domain=$$base \
137 --directory=${srcdir} --no-wrap \
138 --add-comments --keyword=xo_emit --keyword=xo_emit_h \
139 --keyword=xo_emit_warn \
140 -C -E -n --foreign-user \
141 -o $$base.pot.new $$base.c ; \
145 for base in ${MO_BASE_FILES} ; do set -x ;\
146 ${CP} $$base.pot.new ${srcdir}/$$base.pot ; \
150 for base in ${MO_BASE_FILES} ; do set -x ;\
151 for lang in ${LANGUAGES} ; do \
152 if [ -f po/$$lang/$$base.po ]; then \
153 ${ECHO} "merging $$base.pot into po/$$lang/$$base.po ..." ; \
154 if ${XOMSGMERGE} po/$$lang/$$base.po \
155 ${srcdir}/$$base.pot \
156 -o po/$$lang/$$base.new.po; then \
157 ${MV} po/$$lang/$$base.po \
158 po/$$lang/$$base.po.old ; \
159 ${MV} po/$$lang/$$base.new.po \
160 po/$$lang/$$base.po ; \
162 echo "error: msgmerge for $$base failed"; \
164 elif [ -f ${srcdir}/po/$$lang/$$base.po ]; then \
165 ${ECHO} "merging (srcdir) $$base.pot into po/$$lang/$$base.po ..." ; \
166 if ${XOMSGMERGE} ${srcdir}/po/$$lang/$$base.po \
167 ${srcdir}/$$base.pot \
168 -o po/$$lang/$$base.new.po; then \
169 ${MV} po/$$lang/$$base.po \
170 po/$$lang/$$base.po.old ; \
171 ${MV} po/$$lang/$$base.new.po \
172 po/$$lang/$$base.po ; \
174 echo "error: msgmerge for $$base failed"; \
181 @(for base in ${MO_BASE_FILES} ; do \
182 for lang in ${LANGUAGES} ; do \
183 if [ -f po/$$lang/$$base.po ]; then \
184 ${MKDIR} -p ${srcdir}/po/$$lang ; \
185 (${DB} ${CP} po/$$lang/$$base.po ${srcdir}/po/$$lang/$$base.po ); \
191 @(for base in ${MO_BASE_FILES} ; do set -x ;\
192 for lang in ${LANGUAGES} ; do \
193 if [ ! -f po/$$lang/$$base.po ]; then \
194 ${MKDIR} -p po/$$lang ; \
195 (${DB} ${CP} $$base.pot po/$$lang/$$base.po ); \
201 @(for base in ${MO_BASE_FILES} ; do \
202 if [ -f $$base.pot.new ] ; then \
203 ${XODIFF} ${srcdir}/$$base.pot $$base.pot.new ; \
205 for lang in ${LANGUAGES} ; do \
206 if [ -f po/$$lang/$$base.po ] ; then \
207 ${XODIFF} ${srcdir}/po/$$lang/$$base.po po/$$lang/$$base.po ; \
213 @(for base in ${MO_BASE_FILES} ; do \
214 for lang in ${LANGUAGES} ; do \
215 ${MKDIR} -p po/$$lang/LC_MESSAGES ; \
216 if [ -f po/$$lang/$$base.po ] ; then \
217 (${DB} ${MSGFMT} -o po/$$lang/LC_MESSAGES/$$base.mo \
218 po/$$lang/$$base.po ); \
219 elif [ -f ${srcdir}/po/$$lang/$$base.po ]; then \
220 (${DB} ${MSGFMT} -o po/$$lang/LC_MESSAGES/$$base.mo \
221 ${srcdir}/po/$$lang/$$base.po ;) \