diff --git a/tests/test_raid.py b/tests/test_raid.py
index a80245ae16bf7d43a89708d90e926b1281d4ece5..3bc701b8fc2788104f9bb0136262348b998094d8 100755
--- a/tests/test_raid.py
+++ b/tests/test_raid.py
@@ -14,33 +14,43 @@ GREEN = '\033[92m'
 RED = '\033[91m'
 DEF = '\033[0m'
 
+
 def print_red(string):
     print(RED + string + DEF)
 
+
 def print_green(string):
     print(GREEN + string + DEF)
 
+
 def check_raid(dev):
     cmd = 'mdadm -D %s' % dev
     status, output = subprocess.getstatusoutput(cmd)
-    ok = status == 0
-    print('%s status: %s' % (dev, ok))
-    return ok
+    if status != 0:
+        print_red('The mdadm command on %s failed:' % dev)
+    elif 'degraded' in output:
+        print_red('The %s RAID partition is degraded:' % dev)
+    else:
+        print_green('The %s RAID partition is ok.' % dev)
+        return True
+    print(cmd)
+    print(output)
+    return False
+
 
 if os.path.isfile('/proc/mdstat'):
     all_ok = True
     for r in glob.glob('/dev/md*'):
         # ignore /dev/md folder
-        if os.path.isfile(r):
+        if os.path.exists(r) and not os.path.isdir(r):
             all_ok = min(check_raid(r), all_ok)
     if all_ok:
         print_green('Everything fine')
     else:
         print_red('Some array is in bad shape')
-        with open('/proc/mdstat', 'r') as f:
-            d = f.read()
-        print(d)
-    sys.exit(not all_ok)
+        with open('/proc/mdstat', 'r') as fo:
+            print(fo.read())
+    sys.exit(int(not all_ok))
 else:
     print('No software RAID array found, untestable')
     sys.exit(2)