public inbox for systemtap@sourceware.org
 help / color / mirror / Atom feed
* [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).