| srcdir = @srcdir@ |
| VPATH = @srcdir@ |
| |
| # PROGRAMS includes all test programs built on this platform. |
| # STDTEST_PORTABLE |
| # test programs invoked via standard user interface, run on all platforms |
| # TESTS |
| # test modules invoked through the abts suite (./testall) |
| # STDTEST_NONPORTABLE |
| # test programs invoked via standard user interface, not portable |
| # OTHER_PROGRAMS |
| # programs such as sockperf, that have to be invoked in a special sequence |
| # or with special parameters |
| # TESTALL_COMPONENTS |
| # programs such as globalmutexchild which the various TESTS will invoke |
| # to validate process creation, pipes, dso mechanisms and so forth |
| |
| STDTEST_PORTABLE = \ |
| testlockperf@EXEEXT@ \ |
| testmutexscope@EXEEXT@ \ |
| testall@EXEEXT@ \ |
| dbd@EXEEXT@ \ |
| sendfile@EXEEXT@ \ |
| |
| TESTS = testtime.lo teststr.lo testvsn.lo testipsub.lo testshm.lo \ |
| testmmap.lo testud.lo testtable.lo testsleep.lo testpools.lo \ |
| testfmt.lo testfile.lo testdir.lo testfileinfo.lo testrand.lo \ |
| testdso.lo testoc.lo testdup.lo testsockets.lo testproc.lo \ |
| testpoll.lo testlock.lo testsockopt.lo testpipe.lo \ |
| testthread.lo testhash.lo testargs.lo testnames.lo testuser.lo \ |
| testpath.lo testenv.lo testprocmutex.lo testfnmatch.lo \ |
| testatomic.lo testflock.lo testsock.lo testglobalmutex.lo \ |
| teststrnatcmp.lo testfilecopy.lo testtemp.lo testlfs.lo \ |
| testcond.lo testuri.lo testmemcache.lo testdate.lo \ |
| testxlate.lo testdbd.lo testrmm.lo testmd4.lo \ |
| teststrmatch.lo testpass.lo testcrypto.lo testqueue.lo \ |
| testbuckets.lo testxml.lo testdbm.lo testuuid.lo testmd5.lo \ |
| testreslist.lo testbase64.lo testhooks.lo testlfsabi.lo \ |
| testlfsabi32.lo testlfsabi64.lo testescape.lo testskiplist.lo |
| |
| OTHER_PROGRAMS = \ |
| echod@EXEEXT@ \ |
| sockperf@EXEEXT@ |
| |
| TESTALL_COMPONENTS = \ |
| globalmutexchild@EXEEXT@ \ |
| libmod_test.la \ |
| mod_test.la \ |
| occhild@EXEEXT@ \ |
| proc_child@EXEEXT@ \ |
| readchild@EXEEXT@ \ |
| sockchild@EXEEXT@ \ |
| testshmproducer@EXEEXT@ \ |
| testshmconsumer@EXEEXT@ \ |
| tryread@EXEEXT@ |
| |
| PROGRAMS = $(TESTALL_COMPONENTS) $(STDTEST_PORTABLE) $(STDTEST_NONPORTABLE) \ |
| $(OTHER_PROGRAMS) |
| |
| TARGETS = $(PROGRAMS) |
| |
| # bring in rules.mk for standard functionality |
| @INCLUDE_RULES@ |
| |
| LOCAL_LIBS=../lib@APR_LIBNAME@.la |
| |
| CLEAN_TARGETS = testfile.tmp lfstests/*.bin \ |
| data/test*.txt data/test*.dat data/apr.testshm.shm |
| |
| CLEAN_SUBDIRS = internal |
| |
| INCDIR=../include |
| INCLUDES=-I$(INCDIR) -I$(srcdir)/../include |
| |
| # link programs using -no-install to get real executables not |
| # libtool wrapper scripts which link an executable when first run. |
| LINK_PROG = $(LIBTOOL) $(LTFLAGS) --mode=link $(COMPILE) $(LT_LDFLAGS) \ |
| @LT_NO_INSTALL@ $(ALL_LDFLAGS) -o $@ |
| |
| # STDTEST_PORTABLE; |
| |
| abts.lo: $(srcdir)/abts.c $(srcdir)/abts.h $(srcdir)/abts_tests.h \ |
| $(srcdir)/testutil.h |
| |
| testutil.lo: $(srcdir)/abts.c $(srcdir)/abts.h $(srcdir)/abts_tests.h \ |
| $(srcdir)/testutil.h |
| |
| OBJECTS_testall = abts.lo testutil.lo $(TESTS) $(LOCAL_LIBS) |
| testall@EXEEXT@: $(OBJECTS_testall) |
| $(LINK_PROG) $(OBJECTS_testall) $(ALL_LIBS) |
| # For VPATH builds; where we have no ./data, copy us some data |
| # if we wait until 'make check', then 'make; ./testall' fails; |
| if test ! -d "./data"; then cp -r $(srcdir)/data data; fi |
| |
| OBJECTS_testlockperf = testlockperf.lo $(LOCAL_LIBS) |
| testlockperf@EXEEXT@: $(OBJECTS_testlockperf) |
| $(LINK_PROG) $(OBJECTS_testlockperf) $(ALL_LIBS) |
| |
| OBJECTS_testmutexscope = testmutexscope.lo $(LOCAL_LIBS) |
| testmutexscope@EXEEXT@: $(OBJECTS_testmutexscope) |
| $(LINK_PROG) $(OBJECTS_testmutexscope) $(ALL_LIBS) |
| |
| # OTHER_PROGRAMS; |
| |
| OBJECTS_echod = echod.lo $(LOCAL_LIBS) |
| echod@EXEEXT@: $(OBJECTS_echod) |
| $(LINK_PROG) $(OBJECTS_echod) $(ALL_LIBS) |
| |
| OBJECTS_sendfile = sendfile.lo $(LOCAL_LIBS) |
| sendfile@EXEEXT@: $(OBJECTS_sendfile) |
| $(LINK_PROG) $(OBJECTS_sendfile) $(ALL_LIBS) |
| |
| OBJECTS_sockperf = sockperf.lo $(LOCAL_LIBS) |
| sockperf@EXEEXT@: $(OBJECTS_sockperf) |
| $(LINK_PROG) $(OBJECTS_sockperf) $(ALL_LIBS) |
| |
| # TESTALL_COMPONENTS; |
| |
| OBJECTS_globalmutexchild = globalmutexchild.lo $(LOCAL_LIBS) |
| globalmutexchild@EXEEXT@: $(OBJECTS_globalmutexchild) |
| $(LINK_PROG) $(OBJECTS_globalmutexchild) $(ALL_LIBS) |
| |
| # Note -prefer-pic is only supported with libtool-1.4+ |
| mod_test.lo: $(srcdir)/mod_test.c |
| $(LIBTOOL) $(LTFLAGS) --mode=compile $(COMPILE) -prefer-pic -o $@ \ |
| -c $(srcdir)/mod_test.c |
| |
| OBJECTS_mod_test = mod_test.lo |
| mod_test.la: $(OBJECTS_mod_test) $(LOCAL_LIBS) |
| $(LIBTOOL) $(LTFLAGS) --mode=link $(COMPILE) -rpath `pwd` -module \ |
| -avoid-version $(LT_LDFLAGS) $(ALL_LDFLAGS) -o $@ \ |
| $(OBJECTS_mod_test) $(LOCAL_LIBS) |
| |
| OBJECTS_libmod_test = mod_test.lo $(LOCAL_LIBS) |
| libmod_test.la: $(OBJECTS_libmod_test) |
| $(LIBTOOL) $(LTFLAGS) --mode=link $(COMPILE) -rpath `pwd` \ |
| -avoid-version $(LT_LDFLAGS) $(ALL_LDFLAGS) -o $@ \ |
| $(OBJECTS_libmod_test) $(ALL_LIBS) |
| |
| OBJECTS_occhild = occhild.lo $(LOCAL_LIBS) |
| occhild@EXEEXT@: $(OBJECTS_occhild) |
| $(LINK_PROG) $(OBJECTS_occhild) $(ALL_LIBS) |
| |
| OBJECTS_proc_child = proc_child.lo $(LOCAL_LIBS) |
| proc_child@EXEEXT@: $(OBJECTS_proc_child) |
| $(LINK_PROG) $(OBJECTS_proc_child) $(ALL_LIBS) |
| |
| OBJECTS_readchild = readchild.lo $(LOCAL_LIBS) |
| readchild@EXEEXT@: $(OBJECTS_readchild) |
| $(LINK_PROG) $(OBJECTS_readchild) $(ALL_LIBS) |
| |
| OBJECTS_sockchild = sockchild.lo $(LOCAL_LIBS) |
| sockchild@EXEEXT@: $(OBJECTS_sockchild) |
| $(LINK_PROG) $(OBJECTS_sockchild) $(ALL_LIBS) |
| |
| OBJECTS_testshmconsumer = testshmconsumer.lo $(LOCAL_LIBS) |
| testshmconsumer@EXEEXT@: $(OBJECTS_testshmconsumer) $(LOCAL_LIBS) |
| $(LINK_PROG) $(OBJECTS_testshmconsumer) $(ALL_LIBS) |
| |
| OBJECTS_testshmproducer = testshmproducer.lo $(LOCAL_LIBS) |
| testshmproducer@EXEEXT@: $(OBJECTS_testshmproducer) |
| $(LINK_PROG) $(OBJECTS_testshmproducer) $(ALL_LIBS) |
| |
| OBJECTS_tryread = tryread.lo $(LOCAL_LIBS) |
| tryread@EXEEXT@: $(OBJECTS_tryread) |
| $(LINK_PROG) $(OBJECTS_tryread) $(ALL_LIBS) |
| |
| OBJECTS_dbd = dbd.lo $(LOCAL_LIBS) |
| dbd@EXEEXT@: $(OBJECTS_dbd) |
| $(LINK_PROG) $(OBJECTS_dbd) $(APRUTIL_LIBS) |
| |
| check: $(TESTALL_COMPONENTS) $(STDTEST_PORTABLE) $(STDTEST_NONPORTABLE) |
| teststatus=0; \ |
| progfailed=""; \ |
| for prog in $(STDTEST_PORTABLE) $(STDTEST_NONPORTABLE); do \ |
| if test "$$prog" = 'dbd@EXEEXT@'; then \ |
| for driver in none @apu_dbd_tests@; do \ |
| if test "$$driver" != 'none'; then \ |
| @shlibpath_var@="`echo "../dbm/.libs:../dbd/.libs:$$@shlibpath_var@" | sed -e 's/::*$$//'`" \ |
| ./$$prog $$driver; \ |
| status=$$?; \ |
| if test $$status != 0; then \ |
| teststatus=$$status; \ |
| progfailed="$$progfailed '$$prog $$driver'"; \ |
| fi; \ |
| fi; \ |
| done; \ |
| elif test "$$prog" = 'sendfile@EXEEXT@'; then \ |
| for mode in blocking nonblocking timeout; do \ |
| @shlibpath_var@="`echo "../dbm/.libs:../dbd/.libs:$$@shlibpath_var@" | sed -e 's/::*$$//'`" \ |
| ./$$prog client $$mode startserver 127.0.0.1; \ |
| status=$$?; \ |
| if test $$status != 0; then \ |
| teststatus=$$status; \ |
| progfailed="$$progfailed '$$prog mode $$mode'"; \ |
| fi; \ |
| done; \ |
| else \ |
| @shlibpath_var@="`echo "../dbm/.libs:../dbd/.libs:$$@shlibpath_var@" | sed -e 's/::*$$//'`" \ |
| ./$$prog -v; \ |
| status=$$?; \ |
| if test $$status != 0; then \ |
| teststatus=$$status; \ |
| progfailed="$$progfailed $$prog"; \ |
| fi; \ |
| fi; \ |
| done; \ |
| if test $$teststatus != 0; then \ |
| echo "Programs failed:$$progfailed"; \ |
| fi; \ |
| exit $$teststatus |
| |
| # DO NOT REMOVE |