diff --git a/tests/scripts/all.sh b/tests/scripts/all.sh
index 51705e1..4a5502f 100755
--- a/tests/scripts/all.sh
+++ b/tests/scripts/all.sh
@@ -808,50 +808,50 @@
 
 can_run_cc_output() {
     cc="$1"
-    result=1
+    result=false
     if type "$cc" >/dev/null 2>&1; then
         testbin=$(mktemp)
         if echo 'int main(void){return 0;}' | "$cc" -o "$testbin" -x c -; then
             if "$testbin" 2>/dev/null; then
-                result=0
+                result=true
             fi
         fi
         rm -f "$testbin"
     fi
-    return $result
+    $result
 }
 
 can_run_arm_linux_gnueabi () {
     if [ -z "${can_run_arm_linux_gnueabi:-}" ]; then
         if can_run_cc_output "${ARM_LINUX_GNUEABI_GCC_PREFIX}gcc"; then
-            can_run_arm_linux_gnueabi=1
+            can_run_arm_linux_gnueabi=true
         else
-            can_run_arm_linux_gnueabi=0
+            can_run_arm_linux_gnueabi=false
         fi
     fi
-    return $((! can_run_arm_linux_gnueabi))
+    $can_run_arm_linux_gnueabi
 }
 
 can_run_arm_linux_gnueabihf () {
     if [ -z "${can_run_arm_linux_gnueabihf:-}" ]; then
         if can_run_cc_output "${ARM_LINUX_GNUEABIHF_GCC_PREFIX}gcc"; then
-            can_run_arm_linux_gnueabihf=1
+            can_run_arm_linux_gnueabihf=true
         else
-            can_run_arm_linux_gnueabihf=0
+            can_run_arm_linux_gnueabihf=false
         fi
     fi
-    return $((! can_run_arm_linux_gnueabihf))
+    $can_run_arm_linux_gnueabihf
 }
 
 can_run_aarch64_linux_gnu () {
     if [ -z "${can_run_aarch64_linux_gnu:-}" ]; then
         if can_run_cc_output "${AARCH64_LINUX_GNU_GCC_PREFIX}gcc"; then
-            can_run_aarch64_linux_gnu=1
+            can_run_aarch64_linux_gnu=true
         else
-            can_run_aarch64_linux_gnu=0
+            can_run_aarch64_linux_gnu=false
         fi
     fi
-    return $((! can_run_aarch64_linux_gnu))
+    $can_run_aarch64_linux_gnu
 }
 
 
