2 # SPDX-License-Identifier: LGPL-2.1-or-later
6 # shellcheck source=test/units/util.sh
7 .
"$(dirname "$0")"/util.sh
9 # This is a test for issue #24987.
11 mkdir
-p /run
/udev
/rules.d
/
12 cat >/run
/udev
/rules.d
/50-testsuite.rules
<<EOF
13 SUBSYSTEM!="mem", GOTO="test-end"
14 KERNEL!="null", GOTO="test-end"
15 ACTION=="remove", GOTO="test-end"
17 # add 100 * 100byte of properties
18 $(for i in {1..100}; do printf 'ENV{XXX%03i}="0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789"\n' "$i"; done)
23 udevadm control
--reload
25 TMPDIR
=$
(mktemp
-d -p /tmp udev-tests.XXXXXX
)
26 SYSTEMD_LOG_LEVEL
=debug udevadm monitor
--udev --property --subsystem-match=mem
>"$TMPDIR"/monitor.txt
2>&1 &
31 if grep -F 'UDEV - the event which udev sends out after rule processing' "$TMPDIR"/monitor.txt
; then
39 udevadm trigger
--verbose --settle --action add
/dev
/null
43 if ! grep -e 'UDEV *\[[0-9.]*\] *add *\/devices\/virtual\/mem\/null (mem)' "$TMPDIR"/monitor.txt
; then
50 if ! grep -F "$(printf 'XXX%03i=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789' "$i")" "$TMPDIR"/monitor.txt
; then
55 if [[ -n "$FOUND" ]]; then
64 rm -f /run
/udev
/rules.d
/50-testsuite.rules
65 udevadm control
--reload