scripts: sd_fusing: Add sfdisk error handling
authorMateusz Moscicki <m.moscicki2@partner.samsung.com>
Wed, 19 Jun 2024 08:51:03 +0000 (10:51 +0200)
committerJaehoon Chung <jh80.chung@samsung.com>
Mon, 28 Oct 2024 11:28:46 +0000 (20:28 +0900)
Change-Id: I46519635e252de19a131a65bbd177eb9500b0138

scripts/tizen/sd_fusing.py

index 1996250aa6f31c7207778e37582750836d13cb24..ff1ed742c3970a94bd00dd9f2a9f481301d588e5 100755 (executable)
@@ -15,7 +15,7 @@ import sys
 import tarfile
 import tempfile
 
-__version__ = "1.1.3"
+__version__ = "1.1.4"
 
 Format = False
 Device = ""
@@ -728,8 +728,16 @@ def device_size(device):
     argv = ["sfdisk", "-s", device]
     logging.debug(" ".join(argv))
     proc = subprocess.run(argv,
-                          stdout=subprocess.PIPE)
-    size = int(proc.stdout.decode('utf-8').strip()) >> 10
+                          stdout=subprocess.PIPE,
+                          stderr=subprocess.PIPE)
+    stdout = proc.stdout.decode('utf-8')
+    try:
+        size = int(stdout.strip()) >> 10
+    except ValueError:
+        stderr = proc.stderr.decode('utf-8')
+        logging.error(f"Unexpected sfdisk output:\n{stdout}\n{stderr}\n")
+        sys.exit(1)
+
     logging.debug(f"{device} size {size}MiB")
     return size