]> sourceware.org Git - systemtap.git/commitdiff
PR12022 test cases for foreach (... @aggr ...) sorting
authorFrank Ch. Eigler <fche@redhat.com>
Sat, 13 Oct 2012 16:33:06 +0000 (12:33 -0400)
committerFrank Ch. Eigler <fche@redhat.com>
Sat, 13 Oct 2012 16:33:48 +0000 (12:33 -0400)
testsuite/parseko/foreachstmt08.stp [new file with mode: 0755]
testsuite/parseko/foreachstmt09.stp [new file with mode: 0755]
testsuite/semko/foreachstmt04.stp [new file with mode: 0755]
testsuite/systemtap.base/foreach_aggrsort.exp [new file with mode: 0644]
testsuite/systemtap.base/foreach_aggrsort.stp [new file with mode: 0644]

diff --git a/testsuite/parseko/foreachstmt08.stp b/testsuite/parseko/foreachstmt08.stp
new file mode 100755 (executable)
index 0000000..d4c3a51
--- /dev/null
@@ -0,0 +1,6 @@
+#! stap -p1
+
+function decl()
+{
+    foreach (key in array @foobar +) ;
+}
diff --git a/testsuite/parseko/foreachstmt09.stp b/testsuite/parseko/foreachstmt09.stp
new file mode 100755 (executable)
index 0000000..a3966ae
--- /dev/null
@@ -0,0 +1,6 @@
+#! stap -p1
+
+function decl()
+{
+    foreach (key in array @sum) ;
+}
diff --git a/testsuite/semko/foreachstmt04.stp b/testsuite/semko/foreachstmt04.stp
new file mode 100755 (executable)
index 0000000..386c96c
--- /dev/null
@@ -0,0 +1,9 @@
+#! stap -p2
+
+global array
+
+probe begin
+{
+    array[0] = 1
+    foreach (key in array @sum +) printf("%d",key);
+}
diff --git a/testsuite/systemtap.base/foreach_aggrsort.exp b/testsuite/systemtap.base/foreach_aggrsort.exp
new file mode 100644 (file)
index 0000000..0231a4b
--- /dev/null
@@ -0,0 +1,66 @@
+# test aggregate sorting
+
+set test "foreach_aggrsort"
+set ::result_string {sort default+
+stats[1]: @count=1 @sum=-1 @min=-1 @max=-1 @avg=-1
+stats[2]: @count=2 @sum=7 @min=1 @max=6 @avg=3
+stats[3]: @count=3 @sum=12 @min=3 @max=5 @avg=4
+stats[4]: @count=4 @sum=1 @min=0 @max=1 @avg=0
+sort default-
+stats[4]: @count=4 @sum=1 @min=0 @max=1 @avg=0
+stats[3]: @count=3 @sum=12 @min=3 @max=5 @avg=4
+stats[2]: @count=2 @sum=7 @min=1 @max=6 @avg=3
+stats[1]: @count=1 @sum=-1 @min=-1 @max=-1 @avg=-1
+sort @count+
+stats[1]: @count=1 @sum=-1 @min=-1 @max=-1 @avg=-1
+stats[2]: @count=2 @sum=7 @min=1 @max=6 @avg=3
+stats[3]: @count=3 @sum=12 @min=3 @max=5 @avg=4
+stats[4]: @count=4 @sum=1 @min=0 @max=1 @avg=0
+sort @count-
+stats[4]: @count=4 @sum=1 @min=0 @max=1 @avg=0
+stats[3]: @count=3 @sum=12 @min=3 @max=5 @avg=4
+stats[2]: @count=2 @sum=7 @min=1 @max=6 @avg=3
+stats[1]: @count=1 @sum=-1 @min=-1 @max=-1 @avg=-1
+sort @sum+
+stats[1]: @count=1 @sum=-1 @min=-1 @max=-1 @avg=-1
+stats[4]: @count=4 @sum=1 @min=0 @max=1 @avg=0
+stats[2]: @count=2 @sum=7 @min=1 @max=6 @avg=3
+stats[3]: @count=3 @sum=12 @min=3 @max=5 @avg=4
+sort @sum-
+stats[3]: @count=3 @sum=12 @min=3 @max=5 @avg=4
+stats[2]: @count=2 @sum=7 @min=1 @max=6 @avg=3
+stats[4]: @count=4 @sum=1 @min=0 @max=1 @avg=0
+stats[1]: @count=1 @sum=-1 @min=-1 @max=-1 @avg=-1
+sort @avg+
+stats[1]: @count=1 @sum=-1 @min=-1 @max=-1 @avg=-1
+stats[4]: @count=4 @sum=1 @min=0 @max=1 @avg=0
+stats[2]: @count=2 @sum=7 @min=1 @max=6 @avg=3
+stats[3]: @count=3 @sum=12 @min=3 @max=5 @avg=4
+sort @avg-
+stats[3]: @count=3 @sum=12 @min=3 @max=5 @avg=4
+stats[2]: @count=2 @sum=7 @min=1 @max=6 @avg=3
+stats[4]: @count=4 @sum=1 @min=0 @max=1 @avg=0
+stats[1]: @count=1 @sum=-1 @min=-1 @max=-1 @avg=-1
+sort @min+
+stats[1]: @count=1 @sum=-1 @min=-1 @max=-1 @avg=-1
+stats[4]: @count=4 @sum=1 @min=0 @max=1 @avg=0
+stats[2]: @count=2 @sum=7 @min=1 @max=6 @avg=3
+stats[3]: @count=3 @sum=12 @min=3 @max=5 @avg=4
+sort @min-
+stats[3]: @count=3 @sum=12 @min=3 @max=5 @avg=4
+stats[2]: @count=2 @sum=7 @min=1 @max=6 @avg=3
+stats[4]: @count=4 @sum=1 @min=0 @max=1 @avg=0
+stats[1]: @count=1 @sum=-1 @min=-1 @max=-1 @avg=-1
+sort @max+
+stats[1]: @count=1 @sum=-1 @min=-1 @max=-1 @avg=-1
+stats[4]: @count=4 @sum=1 @min=0 @max=1 @avg=0
+stats[3]: @count=3 @sum=12 @min=3 @max=5 @avg=4
+stats[2]: @count=2 @sum=7 @min=1 @max=6 @avg=3
+sort @max-
+stats[2]: @count=2 @sum=7 @min=1 @max=6 @avg=3
+stats[3]: @count=3 @sum=12 @min=3 @max=5 @avg=4
+stats[4]: @count=4 @sum=1 @min=0 @max=1 @avg=0
+stats[1]: @count=1 @sum=-1 @min=-1 @max=-1 @avg=-1
+}
+
+stap_run_exact $test $srcdir/$subdir/$test.stp
diff --git a/testsuite/systemtap.base/foreach_aggrsort.stp b/testsuite/systemtap.base/foreach_aggrsort.stp
new file mode 100644 (file)
index 0000000..e11a94b
--- /dev/null
@@ -0,0 +1,30 @@
+global stats
+
+@define sortloop(x) %( 
+        printf("stats[%d]: @count=%d @sum=%d @min=%d @max=%d @avg=%d\n",
+                      @x,  @count(stats[@x]), @sum(stats[@x]), @min(stats[@x]),
+                           @max(stats[@x]), @avg(stats[@x]))
+%)
+
+probe begin
+{
+  stats[1] <<< -1; 
+  stats[2] <<< 1; stats[2] <<< 6;
+  stats[3] <<< 3; stats[3] <<< 4; stats[3] <<< 5;
+  stats[4] <<< 0; stats[4] <<< 0; stats[4] <<< 0; stats[4] <<< 1;
+
+  println("sort default+")  foreach(x in stats+) @sortloop(x)
+  println("sort default-")  foreach(x in stats-) @sortloop(x)
+  println("sort @count+")   foreach(x in stats @count+) @sortloop(x)
+  println("sort @count-")   foreach(x in stats @count-) @sortloop(x)
+  println("sort @sum+")     foreach(x in stats @sum+) @sortloop(x)
+  println("sort @sum-")     foreach(x in stats @sum-) @sortloop(x)
+  println("sort @avg+")     foreach(x in stats @avg+) @sortloop(x)
+  println("sort @avg-")     foreach(x in stats @avg-) @sortloop(x)
+  println("sort @min+")     foreach(x in stats @min+) @sortloop(x)
+  println("sort @min-")     foreach(x in stats @min-) @sortloop(x)
+  println("sort @max+")     foreach(x in stats @max+) @sortloop(x)
+  println("sort @max-")     foreach(x in stats @max-) @sortloop(x)
+
+  exit()
+}
This page took 0.035177 seconds and 5 git commands to generate.