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 v3] Add new case for stress test


	* 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




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