Makefile.in 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  1. # Makefile for neon test suite.
  2. SHELL = @SHELL@
  3. CPPFLAGS = @CPPFLAGS@ -I. -I$(top_srcdir)/src -I$(top_srcdir)/test/common
  4. CFLAGS = @CFLAGS@ @NEON_CFLAGS@
  5. LDFLAGS = @LDFLAGS@
  6. DEFS = @DEFS@
  7. top_builddir = ..
  8. top_srcdir = @top_srcdir@
  9. srcdir = @srcdir@
  10. VPATH = @srcdir@
  11. LIBS = @LIBS@
  12. TEST_LIBS = $(LIBTEST) $(LIBS)
  13. CC = @CC@
  14. OPENSSL = @OPENSSL@
  15. HELPERS = @HELPERS@ foobar.txt
  16. BASIC_TESTS = uri-tests util-tests string-tests socket \
  17. session request auth basic stubs redirect
  18. ZLIB_TESTS = compress
  19. ZLIB_HELPERS = file1.gz file2.gz trailing.gz badcsum.gz truncated.gz \
  20. corrupt1.gz corrupt2.gz empty.gz random.txt hello.txt hello.gz
  21. DAV_TESTS = xml xmlreq twooh7 oldacl acl3744 props lock
  22. SSL_TESTS = socket-ssl ssl
  23. SSL_HELPERS = ca-stamp
  24. TESTS = @TESTS@
  25. VALGRIND = valgrind --tool=memcheck --leak-check=yes --trace-children=no --show-reachable=yes
  26. # Make every object depend on libneon.la to force a rebuild on any src/* changes
  27. OBJDEPS = $(srcdir)/common/tests.h $(srcdir)/common/child.h $(srcdir)/utils.h \
  28. $(top_builddir)/config.h $(top_builddir)/src/libneon.la
  29. # Test program just depends on libtest
  30. DEPS = $(LIBTEST)
  31. LDADD = $(DEPS) $(LIBS)
  32. LIBTEST = libtest.la
  33. LIBNEON = $(top_builddir)/src/libneon.la
  34. LIBTOOL = @LIBTOOL@ --silent
  35. TEST_LDFLAGS = @TEST_LDFLAGS@
  36. LINK = $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) $(TEST_LDFLAGS)
  37. COMPILE = $(LIBTOOL) --mode=compile $(CC) $(CPPFLAGS) $(CFLAGS)
  38. prefix = @prefix@
  39. exec_prefix = @exec_prefix@
  40. libdir = @libdir@
  41. INSTALL_PROGRAM = @INSTALL_PROGRAM@
  42. INSTALL_DATA = @INSTALL_DATA@
  43. INSTALL_SCRIPT = @INSTALL_SCRIPT@
  44. INSTALL = @INSTALL@
  45. TEST_INSTALL_DIR = $(libdir)/neon-tests
  46. INSTALL_HELPERS = $(HELPERS) server.key makekeys \
  47. $(srcdir)/openssl.conf $(srcdir)/notvalid.pem \
  48. $(srcdir)/expired.pem
  49. .SUFFIXES:
  50. .SUFFIXES: .lo .c
  51. # By default, compile but don't run the tests.
  52. all: $(TESTS)
  53. clean:
  54. rm -f $(TESTS) $(HELPERS) *.o *.lo common/*.o common/*.lo libtest.*a *.log
  55. rm -f *.gc* *.da *.bb* common/*.bb* common/*.gc* common/*.da
  56. rm -rf ca ca2 .libs nssdb*
  57. rm -f ca-stamp client.key *.csr ssigned.pem wrongcn.pem \
  58. server.cert client.cert *.p12 *.cert sparse.bin
  59. check: $(TESTS) $(HELPERS)
  60. @SRCDIR=$(srcdir) $(SHELL) $(srcdir)/run.sh $(TESTS)
  61. grind: $(TESTS) $(HELPERS)
  62. @SRCDIR=$(srcdir) HARNESS="$(VALGRIND)" $(SHELL) $(srcdir)/run.sh $(TESTS)
  63. lfs-check: largefile $(LFS_HELPERS)
  64. @SRCDIR=$(srcdir) $(SHELL) $(srcdir)/run.sh largefile
  65. install: $(TESTS) $(HELPERS)
  66. @$(INSTALL) -d $(DESTDIR)$(TEST_INSTALL_DIR)
  67. @$(INSTALL) -d $(DESTDIR)$(TEST_INSTALL_DIR)/bin
  68. @$(INSTALL) -d $(DESTDIR)$(TEST_INSTALL_DIR)/data
  69. @for t in $(TESTS); do \
  70. $(LIBTOOL) --mode=install \
  71. $(INSTALL_PROGRAM) $$t $(DESTDIR)$(TEST_INSTALL_DIR)/bin; \
  72. done
  73. @for h in $(INSTALL_HELPERS); do \
  74. $(INSTALL_DATA) $$h $(DESTDIR)$(TEST_INSTALL_DIR)/data; \
  75. done
  76. @$(INSTALL_PROGRAM) -p $(srcdir)/run-tests.sh $(DESTDIR)$(TEST_INSTALL_DIR)
  77. NEWS = $(top_srcdir)/NEWS
  78. file1.gz: $(NEWS)
  79. gzip -c --no-name $(NEWS) > $@
  80. file2.gz: $(NEWS)
  81. gzip -c --name $(NEWS) > $@
  82. hello.txt:
  83. echo hello world > $@
  84. hello.gz: hello.txt
  85. gzip -c hello.txt > $@
  86. # gzip file with trailing bytes.
  87. trailing.gz: $(NEWS)
  88. gzip -c --no-name $(NEWS) > $@
  89. echo "hello, world" >> $@
  90. truncated.gz: file1.gz
  91. dd if=file1.gz of=$@ bs=2048 count=2
  92. badcsum.gz: file1.gz
  93. dd of=$@ if=file1.gz bs=1 count=`perl -e 'printf "%d", (stat("file1.gz"))[7] - 8;'`
  94. echo 'broken!' >> $@
  95. corrupt1.gz: file1.gz
  96. dd of=$@ if=file1.gz bs=1 count=500
  97. cat $(NEWS) >> $@
  98. corrupt2.gz: $(NEWS)
  99. cat $(NEWS) > $@
  100. empty.gz:
  101. touch $@
  102. random.txt: $(NEWS)
  103. cat $(NEWS) > $@
  104. foobar.txt:
  105. echo foobar > $@
  106. # Dummy target to create the CA keys etc. makekeys stderr is redirected
  107. # since it changes for every invocation; not helpful for regression
  108. # testing.
  109. ca-stamp: makekeys $(srcdir)/openssl.conf
  110. rm -rf ca ca2
  111. OPENSSL=$(OPENSSL) \
  112. $(SHELL) makekeys $(srcdir) 2>makekeys.out
  113. @echo timestamp > ca-stamp
  114. Makefile: $(srcdir)/Makefile.in
  115. cd .. && ./config.status test/Makefile
  116. makekeys: $(srcdir)/makekeys.sh
  117. cd .. && ./config.status test/makekeys
  118. LIBOBJS = common/tests.lo common/child.lo utils.lo util-socks.lo
  119. $(LIBTEST): $(LIBOBJS)
  120. $(LINK) -o $(LIBTEST) $(LIBOBJS) $(LIBNEON) $(LIBS)
  121. .c.lo:
  122. $(COMPILE) -c $< -o $@
  123. # Recompile socket.c with SOCKET_SSL defined
  124. socket-ssl.lo: $(srcdir)/socket.c $(HDRS)
  125. $(COMPILE) -DSOCKET_SSL -c $(srcdir)/socket.c -o $@
  126. socket-ssl: socket-ssl.lo $(LIBTEST)
  127. $(LINK) -o $@ socket-ssl.lo $(TEST_LIBS)
  128. resolve: resolve.lo $(LIBNEON)
  129. $(LINK) -o $@ resolve.lo $(LIBNEON)
  130. common/tests.lo: $(srcdir)/common/tests.c $(OBJDEPS)
  131. common/child.lo: $(srcdir)/common/child.c $(OBJDEPS)
  132. utils.lo: $(srcdir)/utils.c $(OBJDEPS)
  133. util-socks.lo: $(srcdir)/util-socks.c $(OBJDEPS)
  134. auth.lo: $(srcdir)/auth.c $(OBJDEPS)
  135. uri-tests.lo: $(srcdir)/uri-tests.c $(OBJDEPS)
  136. util-tests.lo: $(srcdir)/util-tests.c $(OBJDEPS)
  137. string-tests.lo: $(srcdir)/string-tests.c $(OBJDEPS)
  138. socket.lo: $(srcdir)/socket.c $(OBJDEPS)
  139. server.lo: $(srcdir)/server.c $(OBJDEPS)
  140. request.lo: $(srcdir)/request.c $(OBJDEPS)
  141. regress.lo: $(srcdir)/regress.c $(OBJDEPS)
  142. compress.lo: $(srcdir)/compress.c $(OBJDEPS)
  143. oldacl.lo: $(srcdir)/oldacl.c $(OBJDEPS)
  144. acl3744.lo: $(srcdir)/acl3744.c $(OBJDEPS)
  145. utils.lo: $(srcdir)/utils.c $(OBJDEPS)
  146. stubs.lo: $(srcdir)/stubs.c $(OBJDEPS)
  147. props.lo: $(srcdir)/props.c $(OBJDEPS)
  148. session.lo: $(srcdir)/session.c $(OBJDEPS)
  149. redirect.lo: $(srcdir)/redirect.c $(OBJDEPS)
  150. basic.lo: $(srcdir)/basic.c $(OBJDEPS)
  151. ssl.lo: $(srcdir)/ssl.c $(OBJDEPS)
  152. lock.lo: $(srcdir)/lock.c $(OBJDEPS)
  153. largefile.lo: $(srcdir)/largefile.c $(OBJDEPS)
  154. auth: auth.lo $(DEPS)
  155. $(LINK) -o $@ auth.lo $(LDADD)
  156. basic: basic.lo $(DEPS)
  157. $(LINK) -o $@ basic.lo $(LDADD)
  158. uri-tests: uri-tests.lo $(DEPS)
  159. $(LINK) -o $@ uri-tests.lo $(LDADD)
  160. util-tests: util-tests.lo $(DEPS)
  161. $(LINK) -o $@ util-tests.lo $(LDADD)
  162. string-tests: string-tests.lo $(DEPS)
  163. $(LINK) -o $@ string-tests.lo $(LDADD)
  164. socket: socket.lo $(DEPS)
  165. $(LINK) -o $@ socket.lo $(LDADD)
  166. server: server.lo $(DEPS)
  167. $(LINK) -o $@ server.lo $(LDADD)
  168. request: request.lo $(DEPS)
  169. $(LINK) -o $@ request.lo $(LDADD)
  170. regress: regress.lo $(DEPS)
  171. $(LINK) -o $@ regress.lo $(LDADD)
  172. compress: compress.lo $(DEPS)
  173. $(LINK) -o $@ compress.lo $(LDADD)
  174. oldacl: oldacl.lo $(DEPS)
  175. $(LINK) -o $@ oldacl.lo $(LDADD)
  176. acl3744: acl3744.lo $(DEPS)
  177. $(LINK) -o $@ acl3744.lo $(LDADD)
  178. utils: utils.lo $(DEPS)
  179. $(LINK) -o $@ utils.lo $(LDADD)
  180. stubs: stubs.lo $(DEPS)
  181. $(LINK) -o $@ stubs.lo $(LDADD)
  182. props: props.lo $(DEPS)
  183. $(LINK) -o $@ props.lo $(LDADD)
  184. session: session.lo $(DEPS)
  185. $(LINK) -o $@ session.lo $(LDADD)
  186. redirect: redirect.lo $(DEPS)
  187. $(LINK) -o $@ redirect.lo $(LDADD)
  188. ssl: ssl.lo $(DEPS)
  189. $(LINK) -o $@ ssl.lo $(LDADD)
  190. xml: xml.lo $(DEPS)
  191. $(LINK) -o $@ xml.lo $(LDADD)
  192. xmlreq: xmlreq.lo $(DEPS)
  193. $(LINK) -o $@ xmlreq.lo $(LDADD)
  194. twooh7: twooh7.lo $(DEPS)
  195. $(LINK) -o $@ twooh7.lo $(LDADD)
  196. lock: lock.lo $(DEPS)
  197. $(LINK) -o $@ lock.lo $(LDADD)
  198. largefile: largefile.lo $(DEPS)
  199. $(LINK) -o $@ largefile.lo $(LDADD)