summaryrefslogtreecommitdiff
blob: 7a774e5f2ef1aa64c2cfb0d1f8cbb4aad8f33204 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
https://bugs.gentoo.org/461302

From 4050148a4533e8a79cef0d7dcd0c058d78c48a31 Mon Sep 17 00:00:00 2001
From: Craig Small <csmall@enc.com.au>
Date: Sat, 9 May 2015 17:48:12 +1000
Subject: [PATCH] Fix some sched and tty tests

The ps sched test has been disabled. There are too many
odd build farms this fails in strange ways.

Other odd build farms have no tty and so some tests check
for no tty and skip if not found.
---
 testsuite/config/unix.exp            |  9 +++++++++
 testsuite/pgrep.test/pgrep.exp       | 11 +++++++----
 testsuite/pkill.test/pkill.exp       |  3 +--
 testsuite/ps.test/ps_output.exp      |  2 --
 testsuite/ps.test/ps_sched_batch.exp | 16 +++++++++-------
 5 files changed, 26 insertions(+), 15 deletions(-)

diff --git a/testsuite/config/unix.exp b/testsuite/config/unix.exp
index 522efb1..1318e9a 100644
--- a/testsuite/config/unix.exp
+++ b/testsuite/config/unix.exp
@@ -146,3 +146,12 @@ proc kill_testproc { } {
     kill_process $testproc2_pid
     file delete $testproc_path
 }
+
+proc get_tty {} {
+    if { [catch { set raw_tty [ exec tty ] } msg]} {
+        warning "No TTY found"
+        return ""
+    }
+    regexp "/dev/(.+)" $raw_tty > tty
+    return $tty
+}
diff --git a/testsuite/pgrep.test/pgrep.exp b/testsuite/pgrep.test/pgrep.exp
index 152b6ec..1c6cec6 100644
--- a/testsuite/pgrep.test/pgrep.exp
+++ b/testsuite/pgrep.test/pgrep.exp
@@ -9,8 +9,7 @@ set not_uid [ expr { $uid + 1 } ]
 set gid [ exec id -g ]
 set not_gid [ expr { $gid + 1 } ] 
 set ps "${topdir}ps/pscommand"
-set raw_tty [ exec tty ]
-regexp "/dev/(.+)" $raw_tty > tty
+set tty [ get_tty ]
 
 set test "pgprep with no arguments"
 spawn $pgrep
@@ -80,8 +79,12 @@ spawn $pgrep -s 1 $testproc_comm
 expect_blank "$test"
 
 set test "pgrep matches on tty"
-spawn $pgrep -t $tty $testproc_comm
-expect_pass "$test" "^$testproc1_pid\\s+$testproc2_pid\\s*$"
+if { $tty == "" } {
+  untested "$test"
+} else {
+    spawn $pgrep -t $tty $testproc_comm
+    expect_pass "$test" "^$testproc1_pid\\s+$testproc2_pid\\s*$"
+}
 
 set test "pgrep doesn't match with bogus tty"
 spawn $pgrep -t glass $testproc_comm
diff --git a/testsuite/pkill.test/pkill.exp b/testsuite/pkill.test/pkill.exp
index 5eece7d..c583cbe 100644
--- a/testsuite/pkill.test/pkill.exp
+++ b/testsuite/pkill.test/pkill.exp
@@ -9,8 +9,7 @@ set not_uid [ expr { $uid + 1 } ]
 set gid [ exec id -g ]
 set not_gid [ expr { $gid + 1 } ] 
 set ps "${topdir}ps/pscommand"
-set raw_tty [ exec tty ]
-regexp "/dev/(.+)" $raw_tty > tty
+set tty [ get_tty ]
 
 set test "pkill with no arguments"
 spawn $pkill
diff --git a/testsuite/ps.test/ps_output.exp b/testsuite/ps.test/ps_output.exp
index 3a6f3d8..1b2c097 100644
--- a/testsuite/ps.test/ps_output.exp
+++ b/testsuite/ps.test/ps_output.exp
@@ -9,8 +9,6 @@ set uid [ exec id -u ]
 set not_uid [ expr { $uid + 1 } ] 
 set gid [ exec id -g ]
 set not_gid [ expr { $gid + 1 } ] 
-set raw_tty [ exec tty ]
-regexp "/dev/(.+)" $raw_tty > tty
 
 # All the fields
 # Cannot do args,cmd,comm
diff --git a/testsuite/ps.test/ps_sched_batch.exp b/testsuite/ps.test/ps_sched_batch.exp
index e0c31ff..c58b9a2 100644
--- a/testsuite/ps.test/ps_sched_batch.exp
+++ b/testsuite/ps.test/ps_sched_batch.exp
@@ -1,12 +1,14 @@
 #
 # check the ps SCHED_BATCH scheduler policy output
 #
-set ps "${topdir}ps/pscommand"
-set schedbatch "${topdir}testsuite/test-schedbatch"
-
-spawn $schedbatch 18
-
+# This is too flaky on certain build systems to be
+# reliable - CS
+#set ps "${topdir}ps/pscommand"
+#set schedbatch "${topdir}testsuite/test-schedbatch"
+#
+#spawn $schedbatch 18
+#
 set test "ps SCHED_BATCH scheduler"
-spawn $ps --no-header -o comm,cls,nice -a
-expect_pass "$test" "\\s+test-schedbatch\\s+B\\s+18"
+#spawn $ps --no-header -o comm,cls,nice -a
+#expect_pass "$test" "\\s+test-schedbatch\\s+B\\s+18"
 untested "$test"
-- 
2.4.0