summaryrefslogtreecommitdiffstats
path: root/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile.am')
-rw-r--r--Makefile.am46
1 files changed, 41 insertions, 5 deletions
diff --git a/Makefile.am b/Makefile.am
index 3f619584..eaddfd59 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -12,7 +12,7 @@ AM_CXXFLAGS = -Wall -Werror
dist_man_MANS = stap.1 stapprobes.5 stapfuncs.5 stapvars.5 stapex.5 staprun.8 man/stapprobes.iosched.5 man/stapprobes.netdev.5 man/stapprobes.nfs.5 man/stapprobes.nfsd.5 man/stapprobes.pagefault.5 man/stapprobes.process.5 man/stapprobes.rpc.5 man/stapprobes.scsi.5 man/stapprobes.signal.5 man/stapprobes.socket.5 man/stapprobes.tcp.5 man/stapprobes.udp.5
bin_PROGRAMS = stap staprun
-bin_SCRIPTS = stap-client stap-server stap-serverd
+bin_SCRIPTS = stap-client stap-server stap-serverd stap-find-servers stap-start-server stap-find-or-start-server stap-stop-server
stap_SOURCES = main.cxx \
parse.cxx staptree.cxx elaborate.cxx translate.cxx \
tapsets.cxx buildrun.cxx loc2c.c hash.cxx mdfour.c \
@@ -155,7 +155,7 @@ EXTRA_DIST = auto_free.h buildrun.h elaborate.h loc2c.h session.h \
testsuite systemtap.spec runtime tapset \
dwarf_wrappers.h \
git_version.h git_version.sh \
- stap-client stap-server stap-serverd \
+ stap-client stap-server stap-serverd stap-find-servers stap-start-server stap-find-or-start-server stap-stop-server \
systemtap.spec
EXAMPLE_SOURCE_DIR = $(srcdir)/testsuite/systemtap.examples
@@ -250,18 +250,54 @@ SUBDIRS = testsuite doc
check:
SRCDIR=`cd $(srcdir); pwd`; \
- $(MAKE) -C testsuite check SYSTEMTAP_RUNTIME=$$SRCDIR/runtime SYSTEMTAP_TAPSET=$$SRCDIR/tapset LD_LIBRARY_PATH=$(PWD)/lib-elfutils:$(PWD)/lib-elfutils/systemtap SYSTEMTAP_PATH=$(PWD) RUNTESTFLAGS="$(RUNTESTFLAGS)"
+ BUILDDIR=`cd $(builddir); pwd`; \
+ need_server=0; \
+ (echo "X$(EXTRA_TOOL_OPTS)" | grep -q server) && need_server=1; \
+ if test $$need_server = 1; then \
+ echo "Testing using a systemtap server"; \
+ need_server=0; \
+ server_pid=`stap-find-or-start-server` || need_server=1; \
+ if test $$need_server = 1; then \
+ echo "Cannot find or start a systemtap server"; \
+ exit -1; \
+ fi; \
+ client_path="$$BUILDDIR/testsuite/net"; \
+ mkdir -p $$BUILDDIR/testsuite/net; \
+ cp -p $$SRCDIR/stap-client $$BUILDDIR/testsuite/net/stap; \
+ fi; \
+ $(MAKE) -C testsuite check SYSTEMTAP_RUNTIME=$$SRCDIR/runtime SYSTEMTAP_TAPSET=$$SRCDIR/tapset LD_LIBRARY_PATH=$(PWD)/lib-elfutils:$(PWD)/lib-elfutils/systemtap SYSTEMTAP_PATH="$$client_path:$(PWD)" RUNTESTFLAGS="$(RUNTESTFLAGS)"; \
+ if test "X$$server_pid" != "X"; then \
+ stap-stop-server $$server_pid; \
+ fi
installcheck:
+ BUILDDIR=`cd $(builddir); pwd`; \
if test \! -e $(DESTDIR)$(bindir)/stap; then \
echo $(DESTDIR)$(bindir)/stap doesn\'t exist, run make install; \
exit -1; \
- fi
+ fi; \
if test $(builddir)/stap -nt $(DESTDIR)$(bindir)/stap; then \
echo "$(DESTDIR)$(bindir)/stap is not recent, run make install"; \
exit -1; \
+ fi; \
+ need_server=0; \
+ (echo "X$(EXTRA_TOOL_OPTS)" | grep -q server) && need_server=1; \
+ if test $$need_server = 1; then \
+ echo "Testing using a systemtap server"; \
+ need_server=0; \
+ server_pid=`stap-find-or-start-server` || need_server=1; \
+ if test $$need_server = 1; then \
+ echo "Cannot find or start a systemtap server"; \
+ exit -1; \
+ fi; \
+ client_path=":$$BUILDDIR/testsuite/net"; \
+ mkdir -p $$BUILDDIR/testsuite/net; \
+ cp -p $(DESTDIR)$(bindir)/stap-client $$BUILDDIR/testsuite/net/stap; \
+ fi; \
+ $(MAKE) -C testsuite installcheck RUNTESTFLAGS="$(RUNTESTFLAGS)" EXTRA_SYSTEMTAP_PATH="$(EXTRA_SYSTEMTAP_PATH)$$client_path"; \
+ if test "X$$server_pid" != "X"; then \
+ stap-stop-server $$server_pid; \
fi
- $(MAKE) -C testsuite installcheck RUNTESTFLAGS="$(RUNTESTFLAGS)"
rpm: systemtap.spec dist
rpmbuild --define "_sourcedir $(PWD)/" -ba systemtap.spec