diff options
Diffstat (limited to 'Makefile.am')
-rw-r--r-- | Makefile.am | 46 |
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 |