On 30-04-25, 17:14, Swapnil Sapkal wrote: > In cpufreq basic selftests, one of the testcases is to read all cpufreq > sysfs files and print the values. This testcase assumes all the cpufreq > sysfs files have read permissions. However certain cpufreq sysfs files > (eg. stats/reset) are write only files and this testcase errors out > when it is not able to read the file. > Similarily, there is one more testcase which reads the cpufreq sysfs > file data and write it back to same file. This testcase also errors out > for sysfs files without read permission. > Fix these testcases by adding proper read permission checks. > > Reported-by: Narasimhan V <narasimha...@amd.com> > Signed-off-by: Swapnil Sapkal <swapnil.sap...@amd.com> > --- > tools/testing/selftests/cpufreq/cpufreq.sh | 15 +++++++++++---- > 1 file changed, 11 insertions(+), 4 deletions(-) > > diff --git a/tools/testing/selftests/cpufreq/cpufreq.sh > b/tools/testing/selftests/cpufreq/cpufreq.sh > index e350c521b467..3484fa34e8d8 100755 > --- a/tools/testing/selftests/cpufreq/cpufreq.sh > +++ b/tools/testing/selftests/cpufreq/cpufreq.sh > @@ -52,7 +52,14 @@ read_cpufreq_files_in_dir() > for file in $files; do > if [ -f $1/$file ]; then > printf "$file:" > - cat $1/$file > + #file is readable ? > + local rfile=$(ls -l $1/$file | awk '$1 ~ /^.*r.*/ { > print $NF; }') > + > + if [ ! -z $rfile ]; then > + cat $1/$file > + else > + printf "$file is not readable\n" > + fi
What about: if [ -r $1/$file ]; then cat $1/$file else printf "$file is not readable\n" fi -- viresh