]> git.sesse.net Git - bcachefs-tools-debian/commitdiff
Make fuse tests fail on emergency ro or iter leak
authorJustin Husted <sigstop@gmail.com>
Sat, 5 Jun 2021 08:49:41 +0000 (01:49 -0700)
committerJustin Husted <sigstop@gmail.com>
Sat, 5 Jun 2021 08:49:41 +0000 (01:49 -0700)
Signed-off-by: Justin Husted <sigstop@gmail.com>
tests/util.py

index 41b13c05f7760d5da65db48e8190cea9128c0887..b5e02c13f9aee1623a5452c7614e8f1ac32dbc57 100644 (file)
@@ -1,5 +1,6 @@
 #!/usr/bin/python3
 
+import errno
 import os
 import pytest
 import re
@@ -183,9 +184,17 @@ class BFuse:
         (out2, _) = self.proc.communicate()
         print("Process exited.")
 
+        self.returncode = self.proc.returncode
+        if self.returncode == 0:
+            errors = [ 'btree iterators leaked!',
+                       'emergency read only!' ]
+            for e in errors:
+                if e in out2:
+                    print('Debug error found in output: "{}"'.format(e))
+                    self.returncode = errno.ENOMSG
+
         self.stdout = out1 + out2
         self.stderr = err.read()
-        self.returncode = self.proc.returncode
         self.vout = vlog.read().decode('utf-8')
 
     def expect(self, pipe, regex):