lkml.org 
[lkml]   [2017]   [Nov]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 13/23] test_firmware: wrap sysfs timeout test into helper
    Date
    This cannot run on all kernel builds. This will help us later
    skip this test on kernel configs where non-applicable.

    Signed-off-by: Luis R. Rodriguez <mcgrof@kernel.org>
    ---
    tools/testing/selftests/firmware/fw_fallback.sh | 69 +++++++++++++------------
    1 file changed, 37 insertions(+), 32 deletions(-)

    diff --git a/tools/testing/selftests/firmware/fw_fallback.sh b/tools/testing/selftests/firmware/fw_fallback.sh
    index 34a42c68ebfb..e364631837d6 100755
    --- a/tools/testing/selftests/firmware/fw_fallback.sh
    +++ b/tools/testing/selftests/firmware/fw_fallback.sh
    @@ -175,39 +175,44 @@ trap "test_finish" EXIT
    echo "ABCD0123" >"$FW"
    NAME=$(basename "$FW")

    -DEVPATH="$DIR"/"nope-$NAME"/loading
    -
    -# Test failure when doing nothing (timeout works).
    -echo -n 2 >/sys/class/firmware/timeout
    -echo -n "nope-$NAME" >"$DIR"/trigger_request 2>/dev/null &
    -
    -# Give the kernel some time to load the loading file, must be less
    -# than the timeout above.
    -sleep 1
    -if [ ! -f $DEVPATH ]; then
    - echo "$0: fallback mechanism immediately cancelled"
    - echo ""
    - echo "The file never appeared: $DEVPATH"
    - echo ""
    - echo "This might be a distribution udev rule setup by your distribution"
    - echo "to immediately cancel all fallback requests, this must be"
    - echo "removed before running these tests. To confirm look for"
    - echo "a firmware rule like /lib/udev/rules.d/50-firmware.rules"
    - echo "and see if you have something like this:"
    - echo ""
    - echo "SUBSYSTEM==\"firmware\", ACTION==\"add\", ATTR{loading}=\"-1\""
    - echo ""
    - echo "If you do remove this file or comment out this line before"
    - echo "proceeding with these tests."
    - exit 1
    -fi
    +test_syfs_timeout()
    +{
    + DEVPATH="$DIR"/"nope-$NAME"/loading
    +
    + # Test failure when doing nothing (timeout works).
    + echo -n 2 >/sys/class/firmware/timeout
    + echo -n "nope-$NAME" >"$DIR"/trigger_request 2>/dev/null &
    +
    + # Give the kernel some time to load the loading file, must be less
    + # than the timeout above.
    + sleep 1
    + if [ ! -f $DEVPATH ]; then
    + echo "$0: fallback mechanism immediately cancelled"
    + echo ""
    + echo "The file never appeared: $DEVPATH"
    + echo ""
    + echo "This might be a distribution udev rule setup by your distribution"
    + echo "to immediately cancel all fallback requests, this must be"
    + echo "removed before running these tests. To confirm look for"
    + echo "a firmware rule like /lib/udev/rules.d/50-firmware.rules"
    + echo "and see if you have something like this:"
    + echo ""
    + echo "SUBSYSTEM==\"firmware\", ACTION==\"add\", ATTR{loading}=\"-1\""
    + echo ""
    + echo "If you do remove this file or comment out this line before"
    + echo "proceeding with these tests."
    + exit 1
    + fi

    -if diff -q "$FW" /dev/test_firmware >/dev/null ; then
    - echo "$0: firmware was not expected to match" >&2
    - exit 1
    -else
    - echo "$0: timeout works"
    -fi
    + if diff -q "$FW" /dev/test_firmware >/dev/null ; then
    + echo "$0: firmware was not expected to match" >&2
    + exit 1
    + else
    + echo "$0: timeout works"
    + fi
    +}
    +
    +test_syfs_timeout

    # Put timeout high enough for us to do work but not so long that failures
    # slow down this test too much.
    --
    2.15.0
    \
     
     \ /
      Last update: 2017-11-20 19:25    [W:4.112 / U:0.224 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site