Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1#!/bin/sh
2# SPDX-License-Identifier: GPL-2.0-or-later
3# description: Test monitor enable/disable
4
5test_simple_monitor() {
6 local monitor="$1"
7 local prefix="$2" # nested monitors
8
9 echo 1 > "monitors/$prefix$monitor/enable"
10 grep -q "$monitor$" enabled_monitors
11
12 echo 0 > "monitors/$prefix$monitor/enable"
13 ! grep -q "$monitor$" enabled_monitors
14
15 echo "$monitor" >> enabled_monitors
16 grep -q 1 "monitors/$prefix$monitor/enable"
17
18 echo "!$monitor" >> enabled_monitors
19 grep -q 0 "monitors/$prefix$monitor/enable"
20}
21
22test_container_monitor() {
23 local monitor="$1"
24 local nested
25
26 echo 1 > "monitors/$monitor/enable"
27 grep -q "^$monitor$" enabled_monitors
28
29 for nested_dir in "monitors/$monitor"/*; do
30 [ -d "$nested_dir" ] || continue
31 nested=$(basename "$nested_dir")
32 grep -q "^$monitor:$nested$" enabled_monitors
33 done
34 test -n "$nested"
35
36 echo 0 > "monitors/$monitor/enable"
37 ! grep -q "^$monitor$" enabled_monitors
38
39 for nested_dir in "monitors/$monitor"/*; do
40 [ -d "$nested_dir" ] || continue
41 nested=$(basename "$nested_dir")
42 ! grep -q "^$monitor:$nested$" enabled_monitors
43 done
44
45 echo "$monitor" >> enabled_monitors
46 grep -q 1 "monitors/$monitor/enable"
47
48 for nested_dir in "monitors/$monitor"/*; do
49 [ -d "$nested_dir" ] || continue
50 nested=$(basename "$nested_dir")
51 grep -q "^$monitor:$nested$" enabled_monitors
52 done
53
54 echo "!$monitor" >> enabled_monitors
55 grep -q 0 "monitors/$monitor/enable"
56
57 for nested_dir in "monitors/$monitor"/*; do
58 [ -d "$nested_dir" ] || continue
59 nested=$(basename "$nested_dir")
60 test_simple_monitor "$nested" "$monitor/"
61 done
62}
63
64for monitor_dir in monitors/*; do
65 monitor=$(basename "$monitor_dir")
66
67 if find "$monitor_dir" -mindepth 1 -type d | grep -q .; then
68 test_container_monitor "$monitor"
69 else
70 test_simple_monitor "$monitor"
71 fi
72done
73
74! echo non_existent_monitor > enabled_monitors
75! grep -q "^non_existent_monitor$" enabled_monitors