This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
[PATCH v3] Add new case for stress test
- From: Zhou Wenjian <zhouwj-fnst at cn dot fujitsu dot com>
- To: <systemtap at sourceware dot org>
- Date: Wed, 13 Jan 2016 16:01:54 +0800
- Subject: [PATCH v3] Add new case for stress test
- Authentication-results: sourceware.org; auth=none
* testsuite/systemtap.stress/parallel_exec.exp: New test case
---
testsuite/systemtap.stress/parallel_exec.exp | 50 ++++++++++++++++++++++++++++
1 file changed, 50 insertions(+)
create mode 100644 testsuite/systemtap.stress/parallel_exec.exp
diff --git a/testsuite/systemtap.stress/parallel_exec.exp b/testsuite/systemtap.stress/parallel_exec.exp
new file mode 100644
index 0000000..49078a9
--- /dev/null
+++ b/testsuite/systemtap.stress/parallel_exec.exp
@@ -0,0 +1,50 @@
+#!/bin/expect -f
+
+set test "parallel execute"
+
+set process_num 10
+
+set script {
+ probe syscall.open
+ {
+ if (pid() != target()) next
+ log("open")
+ }
+
+ probe syscall.close
+ {
+ if (pid() != target()) next
+ log("close")
+ }
+}
+
+set spawn_ids {}
+
+for { set i 0 } { $i < $process_num } { incr i } {
+ spawn stap -e "$script" -c "cat /etc/hosts > /dev/null"
+ lappend spawn_ids $spawn_id
+}
+
+if {[eval gen_load] == 0} then {
+ pass "$test load generation"
+} else {
+ fail "$test load generation"
+}
+
+foreach id $spawn_ids {
+ expect {
+ -i $id -re "open|close" {
+ incr num_sum
+ exp_continue
+ }
+ }
+ catch {close -i $id}; catch {wait -i $id}
+}
+
+set num [exec stap -e "$script" -c "cat /etc/hosts > /dev/null" | grep \[open|close\] | wc -l]
+
+if {$num * $process_num != $num_sum} {
+ fail $test
+} else {
+ pass $test
+}
--
1.8.3.1