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