Whamcloud - gitweb
LU-15316 tests: use integers in sanity test_255a 50/46350/1
authorAndreas Dilger <adilger@whamcloud.com>
Fri, 28 Jan 2022 05:51:24 +0000 (22:51 -0700)
committerAndreas Dilger <adilger@whamcloud.com>
Fri, 28 Jan 2022 06:16:43 +0000 (23:16 -0700)
The [[ ... > ... ]] operator doesn't really compare floats, it
compares strings.  That works as expected if the strings are
the same length, but fails for comparisons like [[ 32 > 123 ]].
Use (( ... > ... )) for comparisons, and only use integer values.

This test has been failing intermittently forever, but the error
was ignored because of running in a VM.

Test-Parameters: trivial
Fixes: f3b8f3fad502 ("tests: fix float comparison in sanity test_255a")
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I6787082cd579ae3f1bdd43222a739c939d3ebbe5

lustre/tests/sanity.sh

index fdc9d84..1fb48b5 100755 (executable)
@@ -21556,9 +21556,9 @@ ladvise_willread_performance()
                "$average_ladvise = +$speedup_ladvise%"
 
        local lowest_speedup=20
-       if [ ${average_cache%.*} -lt $lowest_speedup ]; then
-               echo "Speedup with OSS cached read less than $lowest_speedup%," \
-                       "got $average_cache%. Skipping ladvise willread check."
+       if (( ${average_cache%.*} < $lowest_speedup )); then
+               echo "Speedup with OSS cached read less than $lowest_speedup%,"\
+                    got $average_cache%. Skipping ladvise willread check."
                return 0
        fi
 
@@ -21570,7 +21570,7 @@ ladvise_willread_performance()
                return 0
 
        lowest_speedup=$(bc <<<"scale=2; $average_cache / 2")
-       [[ ${average_ladvise%.*} > $lowest_speedup ]] ||
+       (( ${average_ladvise%.*} > ${lowest_speedup%.*} )) ||
                error_not_in_vm "Speedup with willread is less than " \
                        "$lowest_speedup%, got $average_ladvise%"
 }