]> code.ossystems Code Review - openembedded-core.git/commitdiff
oeqa/qemurunner: Handle files no longer existing gracefully
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Sun, 11 Jul 2021 08:24:44 +0000 (09:24 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sun, 11 Jul 2021 22:00:38 +0000 (23:00 +0100)
Files in /proc/xxx/map_files/ may no longer exist, just ignore this rather than
raising an exception.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/lib/oeqa/utils/qemurunner.py

index 10c54d6afab92aa50f09c5990f84850f9be61707..5c9d2b24a3de5245216e680bccf3fd02e325f18a 100644 (file)
@@ -359,13 +359,16 @@ class QemuRunner:
         mapdir = "/proc/" + str(self.qemupid) + "/map_files/"
         try:
             for f in os.listdir(mapdir):
-                linktarget = os.readlink(os.path.join(mapdir, f))
-                if not linktarget.startswith("/") or linktarget.startswith("/dev") or "deleted" in linktarget:
+                try:
+                    linktarget = os.readlink(os.path.join(mapdir, f))
+                    if not linktarget.startswith("/") or linktarget.startswith("/dev") or "deleted" in linktarget:
+                        continue
+                    with open(linktarget, "rb") as readf:
+                        data = True
+                        while data:
+                            data = readf.read(4096)
+                except FileNotFoundError:
                     continue
-                with open(linktarget, "rb") as readf:
-                    data = True
-                    while data:
-                        data = readf.read(4096)
         # Centos7 doesn't allow us to read /map_files/
         except PermissionError:
             pass