Mercurial > hg > toybox
comparison scripts/test/pgrep.test @ 1377:7a2aec0876fe draft
I have developed few testsuites for toybox commands -
1. lsattr/chattr
2. mount
3. chmod
4. pgrep/pkill
5. groupadd
6. groupdel
7. useradd
author | Divya Kothari <divya.s.kothari@gmail.com> |
---|---|
date | Fri, 04 Jul 2014 21:20:02 -0500 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
1376:7dd487ddd7dc | 1377:7a2aec0876fe |
---|---|
1 #!/bin/bash | |
2 | |
3 # Copyright 2013 Divya Kothari <divya.s.kothari@gmail.com> | |
4 # Copyright 2013 Robin Mittal <robinmittal.it@gmail.com> | |
5 | |
6 #cleaning 'yes' processes | |
7 killall yes >/dev/null 2>&1 | |
8 | |
9 [ -f testing.sh ] && . testing.sh | |
10 | |
11 #testing "name" "command" "result" "infile" "stdin" | |
12 | |
13 # Starting processes to test pgrep command | |
14 yes >/dev/null & | |
15 proc=$! | |
16 echo "# Process created with id: $proc" | |
17 sleep 1 | |
18 session_id=0 | |
19 proc_parent=`cat /proc/${proc}/stat | awk '{ print $4 }'` | |
20 echo "# Parent Process id of $proc is $proc_parent" | |
21 | |
22 # Testcases for pgrep command | |
23 testing "pgrep pattern" "pgrep yes" "$proc\n" "" "" | |
24 testing "pgrep wildCardPattern" "pgrep ^y.*s$" "$proc\n" "" "" | |
25 testing "pgrep -l pattern" "pgrep -l yes" "$proc yes\n" "" "" | |
26 testing "pgrep -f pattern" "pgrep -f yes" "$proc\n" "" "" | |
27 testing "pgrep -n pattern" "pgrep -n yes" "$proc\n" "" "" | |
28 testing "pgrep -o pattern" "pgrep -o yes" "$proc\n" "" "" | |
29 testing "pgrep -s" "pgrep -s $session_id yes" "$proc\n" "" "" | |
30 testing "pgrep -P" "pgrep -P $proc_parent yes" "$proc\n" "" "" | |
31 | |
32 #Clean-up | |
33 killall yes >/dev/null 2>&1 | |
34 | |
35 # Testcases for pkill command | |
36 | |
37 yes >/dev/null & | |
38 sleep 1 | |
39 testing "pkill pattern" "pkill yes && sleep 1 && (pgrep yes || echo 'yes')" \ | |
40 "yes\n" "" "" | |
41 killall yes >/dev/null 2>&1 | |
42 | |
43 yes >/dev/null & | |
44 yes print1 >/dev/null & | |
45 yes print2 >/dev/null & | |
46 sleep 1 | |
47 testing "pkill pattern (multiple)" "pkill yes && sleep 1 && | |
48 (pgrep yes || echo 'yes')" "yes\n" "" "" | |
49 killall yes >/dev/null 2>&1 | |
50 | |
51 yes >/dev/null & | |
52 sleep 1 | |
53 testing "pkill -f pattern (one)" "pkill -f yes && sleep 1 && | |
54 (pgrep yes || echo 'yes')" "yes\n" "" "" | |
55 killall yes >/dev/null 2>&1 | |
56 | |
57 yes print1 >/dev/null & | |
58 sleep 1 | |
59 testing "pkill -f pattern args" "pkill -f \"yes print1\" && sleep 1 && | |
60 (pgrep yes || echo 'yes')" "yes\n" "" "" | |
61 killall yes >/dev/null 2>&1 | |
62 | |
63 yes >/dev/null & | |
64 yes print1 >/dev/null & | |
65 yes print2 >/dev/null & | |
66 sleep 1 | |
67 testing "pkill -f pattern (multiple)" "pkill -f yes && sleep 1 && | |
68 (pgrep yes || echo 'yes')" "yes\n" "" "" | |
69 killall yes >/dev/null 2>&1 | |
70 | |
71 yes >/dev/null & | |
72 sleep 1 | |
73 testing "pkill -s 0 -f pattern (regexp)" "pkill -s 0 -f ye* && sleep 1 && | |
74 (pgrep yes || echo 'yes')" "yes\n" "" "" | |
75 killall yes >/dev/null 2>&1 | |
76 | |
77 yes >/dev/null & | |
78 proc1=$! | |
79 yes >/dev/null & | |
80 proc2=$! | |
81 sleep 1 | |
82 testing "pkill -n pattern" "pkill -n yes && sleep 1 && pgrep yes" \ | |
83 "$proc1\n" "" "" | |
84 killall yes >/dev/null 2>&1 | |
85 | |
86 yes >/dev/null & | |
87 proc1=$! | |
88 yes >/dev/null & | |
89 proc2=$! | |
90 sleep 1 | |
91 testing "pkill -o pattern" "pkill -o yes && sleep 1 && pgrep yes" \ | |
92 "$proc2\n" "" "" | |
93 killall yes >/dev/null 2>&1 | |
94 | |
95 yes >/dev/null & | |
96 sleep 1 | |
97 testing "pkill -s (blank) pattern" "pkill -s '' yes && sleep 1 && | |
98 (pgrep yes || echo 'yes')" "yes\n" "" "" | |
99 killall yes >/dev/null 2>&1 | |
100 | |
101 yes >/dev/null & | |
102 sleep 1 | |
103 testing "pkill -s 0 pattern" "pkill -s 0 yes && sleep 1 && | |
104 (pgrep yes || echo 'yes')" "yes\n" "" "" | |
105 killall yes >/dev/null 2>&1 | |
106 | |
107 yes >/dev/null & | |
108 proc=$! | |
109 proc_p=`cat /proc/${proc}/stat | awk '{ print $4 }'` | |
110 sleep 1 | |
111 testing "pkill -P parent_prodId pattern" "pkill -P $proc_p yes && sleep 1 && | |
112 (pgrep yes || echo 'yes')" "yes\n" "" "" | |
113 killall yes >/dev/null 2>&1 | |
114 | |
115 yes >/dev/null & | |
116 proc=$! | |
117 proc_parent=`cat /proc/${proc}/stat | awk '{ print $4 }'` | |
118 sleep 1 | |
119 testing "pkill -9 pattern" "pkill -9 yes && sleep 1 && | |
120 (pgrep yes || echo 'yes')" "yes\n" "" "" | |
121 killall yes >/dev/null 2>&1 | |
122 |