Commit 881c23de authored by Luis R. Rodriguez's avatar Luis R. Rodriguez Committed by Greg Kroah-Hartman

test_firmware: wrap sysfs timeout test into helper

This cannot run on all kernel builds. This will help us later
skip this test on kernel configs where non-applicable.
Signed-off-by: default avatarLuis R. Rodriguez <mcgrof@kernel.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 3f722712
...@@ -175,39 +175,44 @@ trap "test_finish" EXIT ...@@ -175,39 +175,44 @@ trap "test_finish" EXIT
echo "ABCD0123" >"$FW" echo "ABCD0123" >"$FW"
NAME=$(basename "$FW") NAME=$(basename "$FW")
DEVPATH="$DIR"/"nope-$NAME"/loading test_syfs_timeout()
{
# Test failure when doing nothing (timeout works). DEVPATH="$DIR"/"nope-$NAME"/loading
echo -n 2 >/sys/class/firmware/timeout
echo -n "nope-$NAME" >"$DIR"/trigger_request 2>/dev/null & # Test failure when doing nothing (timeout works).
echo -n 2 >/sys/class/firmware/timeout
# Give the kernel some time to load the loading file, must be less echo -n "nope-$NAME" >"$DIR"/trigger_request 2>/dev/null &
# than the timeout above.
sleep 1 # Give the kernel some time to load the loading file, must be less
if [ ! -f $DEVPATH ]; then # than the timeout above.
echo "$0: fallback mechanism immediately cancelled" sleep 1
echo "" if [ ! -f $DEVPATH ]; then
echo "The file never appeared: $DEVPATH" echo "$0: fallback mechanism immediately cancelled"
echo "" echo ""
echo "This might be a distribution udev rule setup by your distribution" echo "The file never appeared: $DEVPATH"
echo "to immediately cancel all fallback requests, this must be" echo ""
echo "removed before running these tests. To confirm look for" echo "This might be a distribution udev rule setup by your distribution"
echo "a firmware rule like /lib/udev/rules.d/50-firmware.rules" echo "to immediately cancel all fallback requests, this must be"
echo "and see if you have something like this:" echo "removed before running these tests. To confirm look for"
echo "" echo "a firmware rule like /lib/udev/rules.d/50-firmware.rules"
echo "SUBSYSTEM==\"firmware\", ACTION==\"add\", ATTR{loading}=\"-1\"" echo "and see if you have something like this:"
echo "" echo ""
echo "If you do remove this file or comment out this line before" echo "SUBSYSTEM==\"firmware\", ACTION==\"add\", ATTR{loading}=\"-1\""
echo "proceeding with these tests." echo ""
exit 1 echo "If you do remove this file or comment out this line before"
fi echo "proceeding with these tests."
exit 1
fi
if diff -q "$FW" /dev/test_firmware >/dev/null ; then if diff -q "$FW" /dev/test_firmware >/dev/null ; then
echo "$0: firmware was not expected to match" >&2 echo "$0: firmware was not expected to match" >&2
exit 1 exit 1
else else
echo "$0: timeout works" echo "$0: timeout works"
fi fi
}
test_syfs_timeout
# Put timeout high enough for us to do work but not so long that failures # Put timeout high enough for us to do work but not so long that failures
# slow down this test too much. # slow down this test too much.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment