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]

[PATCH 2/2] [TAKE 3] Testcase For str_replace()


This patch adds the test case needed for this function. I have added
few tests. If required more can be added in future.

Signed-off-by: Varun Chandramohan <varunc@linux.vnet.ibm.com>
---
 testsuite/systemtap.string/str_replace.exp |   27 ++++++++++++++++++++++
 testsuite/systemtap.string/str_replace.stp |   34 ++++++++++++++++++++++++++++
 2 files changed, 61 insertions(+), 0 deletions(-)
 create mode 100644 testsuite/systemtap.string/str_replace.exp
 create mode 100644 testsuite/systemtap.string/str_replace.stp

diff --git a/testsuite/systemtap.string/str_replace.exp b/testsuite/systemtap.string/str_replace.exp
new file mode 100644
index 0000000..3376f88
--- /dev/null
+++ b/testsuite/systemtap.string/str_replace.exp
@@ -0,0 +1,27 @@
+set test "str_replace"
+
+set ok 0
+set ko 0
+
+spawn stap -DMAXERRORS=2 $srcdir/$subdir/$test.stp
+expect {
+   -timeout 15
+   -re {ERROR: Invalid Search String} { incr ko; exp_continue }
+   -re {WARNING: Number of errors} { incr ko ; exp_continue }
+   -re {Result = hello pointer tap} { incr ok ; exp_continue }
+   -re {Result = pointer system tap} { incr ok ; exp_continue }
+   -re {Result = hello system pointer} { incr ok ; exp_continue }
+   -re {Result = Here I am, on the bored again. there I am, up on the stage, Here I go, playing star again. There I go, turn the page.- Bob Sege} { incr ok ; exp_continue }
+   -re {Result = here I am, on the road again. there I am, up on the stage, here I go, playing star again. There I go, turn the page.- Bob Seger} { incr ok ; exp_continue }
+   -re {Result = Here I am, on the road again. there I am, up on the stage, Here I go, playing star again. There I go, turn the page.- Metallica} { incr ok ; exp_continue }
+   -re {Result = hello  tap} { incr ok ; exp_continue }
+   eof { }
+}
+catch { close }
+wait
+
+if {$ok == 7 && $ko == 4} {
+	pass $test
+} else {
+	fail "$test ($ok $ko)"
+}
diff --git a/testsuite/systemtap.string/str_replace.stp b/testsuite/systemtap.string/str_replace.stp
new file mode 100644
index 0000000..f8509db
--- /dev/null
+++ b/testsuite/systemtap.string/str_replace.stp
@@ -0,0 +1,34 @@
+# Test of str_replace() 
+
+global	long_str1 = "hello system tap"
+global	long_str2 = "Here I am, on the road again. there I am, up on the stage, Here I go, playing star again. There I go, turn the page.- Bob Seger"
+global	long_src_str1 = "system"
+global	long_src_str2 = "hello"
+global	long_src_str3 = "tap"
+global	long_rlpc_str = "pointer"
+
+probe begin {
+	
+	printf("Result = %s\n",str_replace(long_str1, long_src_str1, long_rlpc_str))
+	printf("Result = %s\n",str_replace(long_str1, long_src_str2, long_rlpc_str))
+	printf("Result = %s\n",str_replace(long_str1, long_src_str3, long_rlpc_str))
+
+	printf("Result = %s\n",str_replace(long_str2, "road", "bored"))
+	printf("Result = %s\n",str_replace(long_str2, "Here", "here"))
+	printf("Result = %s\n",str_replace(long_str2, "Bob Seger", "Metallica"))
+
+	printf("Result = %s\n",str_replace(long_str1, long_src_str1, "\0"))
+}
+probe begin {
+	printf("Result = %s\n",str_replace(long_str1, "\0", long_rlpc_str))
+}
+probe begin {
+	printf("Result = %s\n",str_replace("\0", "\0", long_rlpc_str))
+}
+probe begin {
+	printf("Result = %s\n",str_replace("\0", "\0", "\0"))
+}
+probe begin {
+	exit()
+}
+
-- 
1.6.0.4


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