This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[RFC PATCH] add a crash extension testcase


Hi,

This patch adds an automatic test for crash extension(staplog.so).
To specify the absolute path of staplog.so, this patch changes
Makefile.am to export CRASH_LIBDIR.

Thank you,

--
Masami Hiramatsu

Software Engineer
Hitachi Computer Products (America) Inc.
Software Solutions Division

e-mail: mhiramat@redhat.com

---
 testsuite/Makefile.am                   |    3 +-
 testsuite/Makefile.in                   |    6 +++--
 testsuite/systemtap.samples/crash.exp   |   33 ++++++++++++++++++++++++++++++++
 testsuite/systemtap.samples/crash.sh    |    9 ++++++++
 testsuite/systemtap.samples/testlog.stp |    6 +++++
 5 files changed, 54 insertions(+), 3 deletions(-)

Index: src/testsuite/Makefile.am
===================================================================
--- src.orig/testsuite/Makefile.am	2007-04-29 18:34:03.000000000 -0400
+++ src/testsuite/Makefile.am	2008-01-22 12:30:59.000000000 -0500
@@ -27,6 +27,7 @@
 SYSTEMTAP_RUNTIME=$(DESTDIR)$(pkgdatadir)/runtime
 SYSTEMTAP_TAPSET=$(DESTDIR)$(pkgdatadir)/tapset
 LD_LIBRARY_PATH=$(DESTDIR)$(libdir)/systemtap
+CRASH_LIBDIR=$(DESTDIR)$(libdir)/systemtap
 SYSTEMTAP_PATH=$(DESTDIR)$(bindir)
 
-RUNTEST="env SYSTEMTAP_RUNTIME=$(SYSTEMTAP_RUNTIME) SYSTEMTAP_TAPSET=$(SYSTEMTAP_TAPSET) LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) PATH=$(SYSTEMTAP_PATH):$$PATH runtest"
+RUNTEST="env SYSTEMTAP_RUNTIME=$(SYSTEMTAP_RUNTIME) SYSTEMTAP_TAPSET=$(SYSTEMTAP_TAPSET) LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) CRASH_LIBDIR=$(CRASH_LIBDIR) PATH=$(SYSTEMTAP_PATH):$$PATH runtest"
Index: src/testsuite/Makefile.in
===================================================================
--- src.orig/testsuite/Makefile.in	2007-06-21 16:13:18.000000000 -0400
+++ src/testsuite/Makefile.in	2008-01-22 12:30:59.000000000 -0500
@@ -36,7 +36,8 @@
 	$(srcdir)/../missing $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in $(top_srcdir)/configure ../AUTHORS \
 	../COPYING ../ChangeLog ../INSTALL ../NEWS ../README \
-	../compile ../depcomp ../install-sh ../missing ChangeLog
+	../compile ../config.guess ../depcomp ../install-sh ../missing \
+	ChangeLog
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
@@ -146,8 +147,9 @@
 SYSTEMTAP_RUNTIME = $(DESTDIR)$(pkgdatadir)/runtime
 SYSTEMTAP_TAPSET = $(DESTDIR)$(pkgdatadir)/tapset
 LD_LIBRARY_PATH = $(DESTDIR)$(libdir)/systemtap
+CRASH_LIBDIR = $(DESTDIR)$(libdir)/systemtap
 SYSTEMTAP_PATH = $(DESTDIR)$(bindir)
-RUNTEST = "env SYSTEMTAP_RUNTIME=$(SYSTEMTAP_RUNTIME) SYSTEMTAP_TAPSET=$(SYSTEMTAP_TAPSET) LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) PATH=$(SYSTEMTAP_PATH):$$PATH runtest"
+RUNTEST = "env SYSTEMTAP_RUNTIME=$(SYSTEMTAP_RUNTIME) SYSTEMTAP_TAPSET=$(SYSTEMTAP_TAPSET) LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) CRASH_LIBDIR=$(CRASH_LIBDIR) PATH=$(SYSTEMTAP_PATH):$$PATH runtest"
 all: all-am
 
 .SUFFIXES:
Index: src/testsuite/systemtap.samples/crash.exp
===================================================================
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
+++ src/testsuite/systemtap.samples/crash.exp	2008-01-22 12:48:33.000000000 -0500
@@ -0,0 +1,33 @@
+# Simple test for staplog.so crash(8) extension
+set test "crash"
+set TEST_NAME "$subdir/$test"
+
+if {![installtest_p]} { untested $TEST_NAME; return }
+if {![file exists $env(CRASH_LIBDIR)/staplog.so]} { untested $TEST_NAME; return }
+
+# Load a test script
+spawn stap $srcdir/$subdir/testlog.stp -m testlog
+expect {
+	-timeout 120
+	"HelloWorld\r\n" {
+		pass "script loading"
+		set res [eval as_root \{ sh $srcdir/$subdir/crash.sh $env(CRASH_LIBDIR) \}]
+		if { $res != 0 } {
+			fail "live crash tool($res)"
+		}
+	}
+}
+send "\003"
+as_root { chmod a+r testlog/global }
+spawn cat testlog/global
+expect {
+	-timeout 5
+	"HelloWorld\r\n" {
+		pass "crash extension"
+	}
+	eof { fail "crash extension: Unexpected EOF" }
+}
+wait
+
+as_root { rm -rf testlog testlog.ko }
+
Index: src/testsuite/systemtap.samples/crash.sh
===================================================================
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
+++ src/testsuite/systemtap.samples/crash.sh	2008-01-22 12:50:53.000000000 -0500
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+crash << END &> /dev/null
+mod -s testlog testlog.ko
+extend $1/staplog.so
+staplog testlog
+exit
+END
+
Index: src/testsuite/systemtap.samples/testlog.stp
===================================================================
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
+++ src/testsuite/systemtap.samples/testlog.stp	2008-01-22 12:30:59.000000000 -0500
@@ -0,0 +1,6 @@
+probe begin
+{
+	printf("Hello");
+	printf("World");
+	printf("\n");
+}

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]