* [PATCH v2 1/3] fix the testcases so that the result will be more exact
@ 2015-11-10 7:48 Zhou Wenjian
2015-11-10 7:49 ` [PATCH v2 2/3] add testcases for function definitions Zhou Wenjian
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Zhou Wenjian @ 2015-11-10 7:48 UTC (permalink / raw)
To: systemtap
* testsuite/lib/stap_run.exp: add pass_string
fix the output string:
* testsuite/systemtap.base/be_order.exp
* testsuite/systemtap.base/global_init.exp
* testsuite/systemtap.base/logical_and.exp
* testsuite/systemtap.base/tri.exp
* testsuite/systemtap.base/global_vars.stp
* testsuite/systemtap.base/timers.stp
* testsuite/systemtap.stress/current.exp
---
testsuite/lib/stap_run.exp | 3 ++-
testsuite/systemtap.base/be_order.exp | 4 ++--
testsuite/systemtap.base/global_init.exp | 4 ++--
testsuite/systemtap.base/logical_and.exp | 4 ++--
testsuite/systemtap.base/timers.exp | 2 +-
testsuite/systemtap.base/tri.exp | 4 ++--
testsuite/systemtap.stress/current.exp | 2 +-
7 files changed, 12 insertions(+), 11 deletions(-)
diff --git a/testsuite/lib/stap_run.exp b/testsuite/lib/stap_run.exp
index f5780d0..48d1b8c 100755
--- a/testsuite/lib/stap_run.exp
+++ b/testsuite/lib/stap_run.exp
@@ -166,4 +166,5 @@ print_system_info
# BZ692445 was fixed by removing the '$' at the end of
# all_pass_string. Yet another expect regular expression oddity. The
# '\r\n' is good enough at finding the EOL.
-set all_pass_string "(systemtap test success\r\n)+"
+set pass_string "(systemtap test success\r\n)"
+set all_pass_string "${pass_string}+"
diff --git a/testsuite/systemtap.base/be_order.exp b/testsuite/systemtap.base/be_order.exp
index eeae818..49e3b94 100755
--- a/testsuite/systemtap.base/be_order.exp
+++ b/testsuite/systemtap.base/be_order.exp
@@ -3,9 +3,9 @@
set test "be_order"
foreach runtime [get_runtime_list] {
if {$runtime != ""} {
- stap_run $srcdir/$subdir/$test.stp no_load $all_pass_string \
+ stap_run $srcdir/$subdir/$test.stp no_load ${pass_string}{2} \
--runtime=$runtime
} else {
- stap_run $srcdir/$subdir/$test.stp no_load $all_pass_string
+ stap_run $srcdir/$subdir/$test.stp no_load ${pass_string}{2}
}
}
diff --git a/testsuite/systemtap.base/global_init.exp b/testsuite/systemtap.base/global_init.exp
index 040ac44..d036a3f 100755
--- a/testsuite/systemtap.base/global_init.exp
+++ b/testsuite/systemtap.base/global_init.exp
@@ -4,9 +4,9 @@ set test "global_init"
foreach runtime [get_runtime_list] {
if {$runtime != ""} {
- stap_run $srcdir/$subdir/$test.stp no_load $all_pass_string \
+ stap_run $srcdir/$subdir/$test.stp no_load ${pass_string}{2} \
--runtime=$runtime
} else {
- stap_run $srcdir/$subdir/$test.stp no_load $all_pass_string
+ stap_run $srcdir/$subdir/$test.stp no_load ${pass_string}{2}
}
}
diff --git a/testsuite/systemtap.base/logical_and.exp b/testsuite/systemtap.base/logical_and.exp
index 0e52e68..1134b38 100755
--- a/testsuite/systemtap.base/logical_and.exp
+++ b/testsuite/systemtap.base/logical_and.exp
@@ -4,9 +4,9 @@ set test "logical_and"
foreach runtime [get_runtime_list] {
if {$runtime != ""} {
- stap_run $srcdir/$subdir/$test.stp no_load $all_pass_string \
+ stap_run $srcdir/$subdir/$test.stp no_load ${pass_string}{4} \
--runtime=$runtime
} else {
- stap_run $srcdir/$subdir/$test.stp no_load $all_pass_string
+ stap_run $srcdir/$subdir/$test.stp no_load ${pass_string}{4}
}
}
diff --git a/testsuite/systemtap.base/timers.exp b/testsuite/systemtap.base/timers.exp
index 70ed341..0f06c20 100755
--- a/testsuite/systemtap.base/timers.exp
+++ b/testsuite/systemtap.base/timers.exp
@@ -11,6 +11,6 @@ proc sleep_ten_secs {} {
#check to see whether get the marker indicating the probe is loaded and running
#should check to see whether exited for some reason
#should be error is something else is printed.
-set output_string "(\\w+ = \\d+\r\n){7}${all_pass_string}(WARNING.*skipped.*)?"
+set output_string "(\\w+ = \\d+\r\n){7}${pass_string}{4}(WARNING.*skipped.*)?"
stap_run $srcdir/$subdir/$test.stp sleep_ten_secs $output_string
diff --git a/testsuite/systemtap.base/tri.exp b/testsuite/systemtap.base/tri.exp
index c980284..2f600f4 100755
--- a/testsuite/systemtap.base/tri.exp
+++ b/testsuite/systemtap.base/tri.exp
@@ -4,9 +4,9 @@ set test "tri"
foreach runtime [get_runtime_list] {
if {$runtime != ""} {
- stap_run $srcdir/$subdir/$test.stp no_load $all_pass_string \
+ stap_run $srcdir/$subdir/$test.stp no_load ${pass_string}{3} \
--runtime=$runtime
} else {
- stap_run $srcdir/$subdir/$test.stp no_load $all_pass_string
+ stap_run $srcdir/$subdir/$test.stp no_load ${pass_string}{3}
}
}
diff --git a/testsuite/systemtap.stress/current.exp b/testsuite/systemtap.stress/current.exp
index 313b67a..46b8158 100755
--- a/testsuite/systemtap.stress/current.exp
+++ b/testsuite/systemtap.stress/current.exp
@@ -19,6 +19,6 @@ proc current_load {} {
return 0
}
-set output_string "(\\w+ = \\d+\r\n){5}${all_pass_string}(WARNING.*skipped.*)?"
+set output_string "(\\w+ = \\d+\r\n){5}${pass_string}{2}(WARNING.*skipped.*)?"
stap_run $srcdir/$subdir/$test.stp current_load $output_string -g -w
--
1.8.3.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v2 2/3] add testcases for function definitions
2015-11-10 7:48 [PATCH v2 1/3] fix the testcases so that the result will be more exact Zhou Wenjian
@ 2015-11-10 7:49 ` Zhou Wenjian
2015-11-10 7:49 ` [PATCH v2 3/3] add more test cases for timer Zhou Wenjian
2015-11-18 2:39 ` [PATCH v2 1/3] fix the testcases so that the result will be more exact "Zhou, Wenjian/周文剑"
2 siblings, 0 replies; 5+ messages in thread
From: Zhou Wenjian @ 2015-11-10 7:49 UTC (permalink / raw)
To: systemtap
* testsuite/systemtap.base/func_definition.exp: New test case.
* testsuite/systemtap.base/func_definition.stp: New test file.
---
testsuite/systemtap.base/func_definition.exp | 13 ++++++
testsuite/systemtap.base/func_definition.stp | 60 ++++++++++++++++++++++++++++
2 files changed, 73 insertions(+)
create mode 100755 testsuite/systemtap.base/func_definition.exp
create mode 100755 testsuite/systemtap.base/func_definition.stp
diff --git a/testsuite/systemtap.base/func_definition.exp b/testsuite/systemtap.base/func_definition.exp
new file mode 100755
index 0000000..80fb0b9
--- /dev/null
+++ b/testsuite/systemtap.base/func_definition.exp
@@ -0,0 +1,13 @@
+# Check function definitions
+
+set test "func_definition"
+if {![installtest_p]} { untested "$test"; return }
+
+foreach runtime [get_runtime_list] {
+ if {$runtime != ""} {
+ stap_run $srcdir/$subdir/$test.stp no_load ${pass_string}{5} \
+ --runtime=$runtime
+ } else {
+ stap_run $srcdir/$subdir/$test.stp no_load ${pass_string}{5}
+ }
+}
diff --git a/testsuite/systemtap.base/func_definition.stp b/testsuite/systemtap.base/func_definition.stp
new file mode 100755
index 0000000..eaa8d94
--- /dev/null
+++ b/testsuite/systemtap.base/func_definition.stp
@@ -0,0 +1,60 @@
+/*
+ * func_definition.stp
+ *
+ * Check function definitions
+ */
+probe begin {
+ println("systemtap starting probe")
+}
+
+
+function f1(arg:long)
+{
+ if (arg == 2015)
+ println("systemtap test success")
+ else
+ printf("systemtap test failure - arg of f1:%d != 2015\n", arg)
+}
+
+function f2(arg)
+{
+ if (arg == 2015)
+ println("systemtap test success")
+ else
+ printf("systemtap test failure - arg of f2:%d != 2015\n", arg)
+}
+
+function f3:long()
+{
+ return 2015
+}
+
+function f4()
+{
+ return 2015
+}
+
+function f5()
+{
+ println("systemtap test success")
+}
+
+probe end {
+ println("systemtap ending probe")
+
+ f1(2015)
+
+ f2(2015)
+
+ if (f3() == 2015)
+ println("systemtap test success")
+ else
+ printf("systemtap test failure - return_value of f3:%d != 2015\n", f3())
+
+ if (f4() == 2015)
+ println("systemtap test success")
+ else
+ printf("systemtap test failure - return_value of f4:%d != 2015\n", f4())
+
+ f5()
+}
--
1.8.3.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v2 3/3] add more test cases for timer
2015-11-10 7:48 [PATCH v2 1/3] fix the testcases so that the result will be more exact Zhou Wenjian
2015-11-10 7:49 ` [PATCH v2 2/3] add testcases for function definitions Zhou Wenjian
@ 2015-11-10 7:49 ` Zhou Wenjian
2015-11-18 2:39 ` [PATCH v2 1/3] fix the testcases so that the result will be more exact "Zhou, Wenjian/周文剑"
2 siblings, 0 replies; 5+ messages in thread
From: Zhou Wenjian @ 2015-11-10 7:49 UTC (permalink / raw)
To: systemtap
* testsuite/systemtap.base/timers.exp: update for new test cases
* testsuite/systemtap.base/timers.stp: add more test cases
---
testsuite/systemtap.base/timers.exp | 2 +-
testsuite/systemtap.base/timers.stp | 63 +++++++++++++++++++++++++++++++++++--
2 files changed, 62 insertions(+), 3 deletions(-)
diff --git a/testsuite/systemtap.base/timers.exp b/testsuite/systemtap.base/timers.exp
index 0f06c20..6add88a 100755
--- a/testsuite/systemtap.base/timers.exp
+++ b/testsuite/systemtap.base/timers.exp
@@ -11,6 +11,6 @@ proc sleep_ten_secs {} {
#check to see whether get the marker indicating the probe is loaded and running
#should check to see whether exited for some reason
#should be error is something else is printed.
-set output_string "(\\w+ = \\d+\r\n){7}${pass_string}{4}(WARNING.*skipped.*)?"
+set output_string "(\\w+ = \\d+\r\n){16}${pass_string}{9}(WARNING.*skipped.*)?"
stap_run $srcdir/$subdir/$test.stp sleep_ten_secs $output_string
diff --git a/testsuite/systemtap.base/timers.stp b/testsuite/systemtap.base/timers.stp
index fb590ed..f256e36 100755
--- a/testsuite/systemtap.base/timers.stp
+++ b/testsuite/systemtap.base/timers.stp
@@ -5,8 +5,9 @@
*/
global p
-global j1, j2, jmax
-global ms1, ms500, msmax
+global j1, j2, jmax, jr
+global ms1, ms500, msmax, msr
+global sec, secr, us, usr, ns, nsr, hz
probe begin
{
@@ -18,12 +19,25 @@ probe timer.profile { ++p }
probe timer.jiffies(1) { ++j1 }
probe timer.jiffies(2) { ++j2 }
probe timer.jiffies(1000000) { ++jmax }
+probe timer.jiffies(1000).randomize(500) { ++jr }
/* as long as HZ>2, ms(1) and ms(500)
* will produce different counts */
probe timer.ms(1) { ++ms1 }
probe timer.ms(500) { ++ms500 }
probe timer.ms(1000000) { ++msmax }
+probe timer.ms(1000).randomize(500) { ++msr }
+
+probe timer.sec(5) { ++sec }
+probe timer.sec(5).randomize(4) { ++secr }
+
+probe timer.us(1000) { ++us }
+probe timer.us(1000).randomize(500) { ++usr }
+
+probe timer.ns(1000000) { ++ns }
+probe timer.ns(1000000).randomize(500000) { ++nsr }
+
+probe timer.hz(1000) { ++hz }
probe end
{
@@ -31,10 +45,20 @@ probe end
printf("p = %d\n", p)
printf("j1 = %d\n", j1)
printf("j2 = %d\n", j2)
+ printf("jr = %d\n", jr)
printf("jmax = %d\n", jmax)
printf("ms1 = %d\n", ms1)
printf("ms500 = %d\n", ms500)
printf("msmax = %d\n", msmax)
+ printf("msr = %d\n", msr)
+
+ printf("sec = %d\n", sec)
+ printf("secr = %d\n", secr)
+ printf("us = %d\n", us)
+ printf("usr = %d\n", usr)
+ printf("ns = %d\n", nsr)
+ printf("nsr = %d\n", nsr)
+ printf("hz = %d\n", hz)
/* profile counter should be non-zero, and at
* least as many as the jiffies(1) counter */
@@ -71,4 +95,39 @@ probe end
printf("unexpected count on 'infinite' interval\n")
printf("systemtap test failure\n");
}
+
+ if (jr * msr * secr * usr * nsr > 0) {
+ printf("systemtap test success\n")
+ } else {
+ printf("unexpected randomize count\n")
+ printf("systemtap test failure\n");
+ }
+
+ if (sec > 0) {
+ printf("systemtap test success\n")
+ } else {
+ printf("unexpected sec count\n")
+ printf("systemtap test failure\n");
+ }
+
+ if (us > 0) {
+ printf("systemtap test success\n")
+ } else {
+ printf("unexpected us count\n")
+ printf("systemtap test failure\n");
+ }
+
+ if (ns > 0) {
+ printf("systemtap test success\n")
+ } else {
+ printf("unexpected ns count\n")
+ printf("systemtap test failure\n");
+ }
+
+ if (hz > 0) {
+ printf("systemtap test success\n")
+ } else {
+ printf("unexpected hz count\n")
+ printf("systemtap test failure\n");
+ }
}
--
1.8.3.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v2 1/3] fix the testcases so that the result will be more exact
2015-11-10 7:48 [PATCH v2 1/3] fix the testcases so that the result will be more exact Zhou Wenjian
2015-11-10 7:49 ` [PATCH v2 2/3] add testcases for function definitions Zhou Wenjian
2015-11-10 7:49 ` [PATCH v2 3/3] add more test cases for timer Zhou Wenjian
@ 2015-11-18 2:39 ` "Zhou, Wenjian/周文剑"
2015-11-19 15:58 ` David Smith
2 siblings, 1 reply; 5+ messages in thread
From: "Zhou, Wenjian/周文剑" @ 2015-11-18 2:39 UTC (permalink / raw)
To: dsmith; +Cc: systemtap
Hello David,
How about it?
Should I change it to "printing only one success line"?
--
Thanks
Zhou
On 11/10/2015 03:47 PM, Zhou Wenjian wrote:
> * testsuite/lib/stap_run.exp: add pass_string
>
> fix the output string:
> * testsuite/systemtap.base/be_order.exp
> * testsuite/systemtap.base/global_init.exp
> * testsuite/systemtap.base/logical_and.exp
> * testsuite/systemtap.base/tri.exp
> * testsuite/systemtap.base/global_vars.stp
> * testsuite/systemtap.base/timers.stp
> * testsuite/systemtap.stress/current.exp
> ---
> testsuite/lib/stap_run.exp | 3 ++-
> testsuite/systemtap.base/be_order.exp | 4 ++--
> testsuite/systemtap.base/global_init.exp | 4 ++--
> testsuite/systemtap.base/logical_and.exp | 4 ++--
> testsuite/systemtap.base/timers.exp | 2 +-
> testsuite/systemtap.base/tri.exp | 4 ++--
> testsuite/systemtap.stress/current.exp | 2 +-
> 7 files changed, 12 insertions(+), 11 deletions(-)
>
> diff --git a/testsuite/lib/stap_run.exp b/testsuite/lib/stap_run.exp
> index f5780d0..48d1b8c 100755
> --- a/testsuite/lib/stap_run.exp
> +++ b/testsuite/lib/stap_run.exp
> @@ -166,4 +166,5 @@ print_system_info
> # BZ692445 was fixed by removing the '$' at the end of
> # all_pass_string. Yet another expect regular expression oddity. The
> # '\r\n' is good enough at finding the EOL.
> -set all_pass_string "(systemtap test success\r\n)+"
> +set pass_string "(systemtap test success\r\n)"
> +set all_pass_string "${pass_string}+"
> diff --git a/testsuite/systemtap.base/be_order.exp b/testsuite/systemtap.base/be_order.exp
> index eeae818..49e3b94 100755
> --- a/testsuite/systemtap.base/be_order.exp
> +++ b/testsuite/systemtap.base/be_order.exp
> @@ -3,9 +3,9 @@
> set test "be_order"
> foreach runtime [get_runtime_list] {
> if {$runtime != ""} {
> - stap_run $srcdir/$subdir/$test.stp no_load $all_pass_string \
> + stap_run $srcdir/$subdir/$test.stp no_load ${pass_string}{2} \
> --runtime=$runtime
> } else {
> - stap_run $srcdir/$subdir/$test.stp no_load $all_pass_string
> + stap_run $srcdir/$subdir/$test.stp no_load ${pass_string}{2}
> }
> }
> diff --git a/testsuite/systemtap.base/global_init.exp b/testsuite/systemtap.base/global_init.exp
> index 040ac44..d036a3f 100755
> --- a/testsuite/systemtap.base/global_init.exp
> +++ b/testsuite/systemtap.base/global_init.exp
> @@ -4,9 +4,9 @@ set test "global_init"
>
> foreach runtime [get_runtime_list] {
> if {$runtime != ""} {
> - stap_run $srcdir/$subdir/$test.stp no_load $all_pass_string \
> + stap_run $srcdir/$subdir/$test.stp no_load ${pass_string}{2} \
> --runtime=$runtime
> } else {
> - stap_run $srcdir/$subdir/$test.stp no_load $all_pass_string
> + stap_run $srcdir/$subdir/$test.stp no_load ${pass_string}{2}
> }
> }
> diff --git a/testsuite/systemtap.base/logical_and.exp b/testsuite/systemtap.base/logical_and.exp
> index 0e52e68..1134b38 100755
> --- a/testsuite/systemtap.base/logical_and.exp
> +++ b/testsuite/systemtap.base/logical_and.exp
> @@ -4,9 +4,9 @@ set test "logical_and"
>
> foreach runtime [get_runtime_list] {
> if {$runtime != ""} {
> - stap_run $srcdir/$subdir/$test.stp no_load $all_pass_string \
> + stap_run $srcdir/$subdir/$test.stp no_load ${pass_string}{4} \
> --runtime=$runtime
> } else {
> - stap_run $srcdir/$subdir/$test.stp no_load $all_pass_string
> + stap_run $srcdir/$subdir/$test.stp no_load ${pass_string}{4}
> }
> }
> diff --git a/testsuite/systemtap.base/timers.exp b/testsuite/systemtap.base/timers.exp
> index 70ed341..0f06c20 100755
> --- a/testsuite/systemtap.base/timers.exp
> +++ b/testsuite/systemtap.base/timers.exp
> @@ -11,6 +11,6 @@ proc sleep_ten_secs {} {
> #check to see whether get the marker indicating the probe is loaded and running
> #should check to see whether exited for some reason
> #should be error is something else is printed.
> -set output_string "(\\w+ = \\d+\r\n){7}${all_pass_string}(WARNING.*skipped.*)?"
> +set output_string "(\\w+ = \\d+\r\n){7}${pass_string}{4}(WARNING.*skipped.*)?"
>
> stap_run $srcdir/$subdir/$test.stp sleep_ten_secs $output_string
> diff --git a/testsuite/systemtap.base/tri.exp b/testsuite/systemtap.base/tri.exp
> index c980284..2f600f4 100755
> --- a/testsuite/systemtap.base/tri.exp
> +++ b/testsuite/systemtap.base/tri.exp
> @@ -4,9 +4,9 @@ set test "tri"
>
> foreach runtime [get_runtime_list] {
> if {$runtime != ""} {
> - stap_run $srcdir/$subdir/$test.stp no_load $all_pass_string \
> + stap_run $srcdir/$subdir/$test.stp no_load ${pass_string}{3} \
> --runtime=$runtime
> } else {
> - stap_run $srcdir/$subdir/$test.stp no_load $all_pass_string
> + stap_run $srcdir/$subdir/$test.stp no_load ${pass_string}{3}
> }
> }
> diff --git a/testsuite/systemtap.stress/current.exp b/testsuite/systemtap.stress/current.exp
> index 313b67a..46b8158 100755
> --- a/testsuite/systemtap.stress/current.exp
> +++ b/testsuite/systemtap.stress/current.exp
> @@ -19,6 +19,6 @@ proc current_load {} {
> return 0
> }
>
> -set output_string "(\\w+ = \\d+\r\n){5}${all_pass_string}(WARNING.*skipped.*)?"
> +set output_string "(\\w+ = \\d+\r\n){5}${pass_string}{2}(WARNING.*skipped.*)?"
>
> stap_run $srcdir/$subdir/$test.stp current_load $output_string -g -w
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v2 1/3] fix the testcases so that the result will be more exact
2015-11-18 2:39 ` [PATCH v2 1/3] fix the testcases so that the result will be more exact "Zhou, Wenjian/周文剑"
@ 2015-11-19 15:58 ` David Smith
0 siblings, 0 replies; 5+ messages in thread
From: David Smith @ 2015-11-19 15:58 UTC (permalink / raw)
To: Zhou, Wenjian/周文剑; +Cc: systemtap
On 11/17/2015 08:38 PM, "Zhou, Wenjian/å¨æå" wrote:
> Hello David,
>
> How about it?
> Should I change it to "printing only one success line"?
Yes, I think so.
BTW, I'm in the process of fixing stap_run.exp and all the testcase
changes necessary to get everything working again. I should have
something soon.
--
David Smith
dsmith@redhat.com
Red Hat
http://www.redhat.com
256.217.0141 (direct)
256.837.0057 (fax)
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2015-11-19 15:58 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-11-10 7:48 [PATCH v2 1/3] fix the testcases so that the result will be more exact Zhou Wenjian
2015-11-10 7:49 ` [PATCH v2 2/3] add testcases for function definitions Zhou Wenjian
2015-11-10 7:49 ` [PATCH v2 3/3] add more test cases for timer Zhou Wenjian
2015-11-18 2:39 ` [PATCH v2 1/3] fix the testcases so that the result will be more exact "Zhou, Wenjian/周文剑"
2015-11-19 15:58 ` David Smith
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).