1 #!/bin/bash 2 # SPDX-License-Identifier: GPL-2.0-only 3 4 # udelay() test script 5 # 6 # Test is executed by writing and reading to / 7 # and exercises a variety of delays to ensure 8 # at least as long as requested (as compared t 9 # 10 # Copyright (C) 2014 Google, Inc. 11 # 12 13 MODULE_NAME=udelay_test 14 UDELAY_PATH=/sys/kernel/debug/udelay_test 15 16 setup() 17 { 18 /sbin/modprobe -q $MODULE_NAME 19 tmp_file=`mktemp` 20 } 21 22 test_one() 23 { 24 delay=$1 25 echo $delay > $UDELAY_PATH 26 tee -a $tmp_file < $UDELAY_PATH 27 } 28 29 cleanup() 30 { 31 if [ -f $tmp_file ]; then 32 rm $tmp_file 33 fi 34 /sbin/modprobe -q -r $MODULE_NAME 35 } 36 37 trap cleanup EXIT 38 setup 39 40 # Delay for a variety of times. 41 # 1..200, 200..500 (by 10), 500..2000 (by 100) 42 for (( delay = 1; delay < 200; delay += 1 )); 43 test_one $delay 44 done 45 for (( delay = 200; delay < 500; delay += 10 ) 46 test_one $delay 47 done 48 for (( delay = 500; delay <= 2000; delay += 10 49 test_one $delay 50 done 51 52 # Search for failures 53 count=`grep -c FAIL $tmp_file` 54 if [ $? -eq "0" ]; then 55 echo "ERROR: $count delays failed to d 56 retcode=1 57 fi 58 59 exit $retcode
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.