From: Eric Biggers <[email protected]>

[ Upstream commit 6d573a07528308eb77ec072c010819c359bebf6e ]

get_test_count() and get_test_enabled() were broken for test numbers
above 9 due to awk interpreting a field specification like '$0010' as
octal rather than decimal.  Fix it by stripping the leading zeroes.

Signed-off-by: Eric Biggers <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Acked-by: Luis Chamberlain <[email protected]>
Cc: Alexei Starovoitov <[email protected]>
Cc: Greg Kroah-Hartman <[email protected]>
Cc: Jeff Vander Stoep <[email protected]>
Cc: Jessica Yu <[email protected]>
Cc: Kees Cook <[email protected]>
Cc: NeilBrown <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Linus Torvalds <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
 tools/testing/selftests/kmod/kmod.sh | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/tools/testing/selftests/kmod/kmod.sh 
b/tools/testing/selftests/kmod/kmod.sh
index 8b944cf042f6c..315a43111e046 100755
--- a/tools/testing/selftests/kmod/kmod.sh
+++ b/tools/testing/selftests/kmod/kmod.sh
@@ -505,18 +505,23 @@ function test_num()
        fi
 }
 
-function get_test_count()
+function get_test_data()
 {
        test_num $1
-       TEST_DATA=$(echo $ALL_TESTS | awk '{print $'$1'}')
+       local field_num=$(echo $1 | sed 's/^0*//')
+       echo $ALL_TESTS | awk '{print $'$field_num'}'
+}
+
+function get_test_count()
+{
+       TEST_DATA=$(get_test_data $1)
        LAST_TWO=${TEST_DATA#*:*}
        echo ${LAST_TWO%:*}
 }
 
 function get_test_enabled()
 {
-       test_num $1
-       TEST_DATA=$(echo $ALL_TESTS | awk '{print $'$1'}')
+       TEST_DATA=$(get_test_data $1)
        echo ${TEST_DATA#*:*:}
 }
 
-- 
2.20.1



Reply via email to