Formatting: Format all python code with black.

This CL is probably not what you're looking for, it's only
automated formatting. Ignore it with
`git blame --ignore-rev <revision>` for this commit.

BUG=b:233893248
TEST=CQ

Change-Id: I66591d7a738d241aed3290138c0f68065ab10a6d
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/3879174
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Tested-by: Alex Klein <saklein@chromium.org>
diff --git a/scripts/fwgdb.py b/scripts/fwgdb.py
index 351233e..89d0187 100644
--- a/scripts/fwgdb.py
+++ b/scripts/fwgdb.py
@@ -32,88 +32,115 @@
 # pylint: enable=import-error,wrong-import-position
 
 
-_SRC_ROOT = os.path.join(constants.CHROOT_SOURCE_ROOT, 'src')
-_SRC_DC = os.path.join(_SRC_ROOT, 'platform/depthcharge')
-_SRC_VB = os.path.join(_SRC_ROOT, 'platform/vboot_reference')
-_SRC_LP = os.path.join(_SRC_ROOT, 'third_party/coreboot/payloads/libpayload')
+_SRC_ROOT = os.path.join(constants.CHROOT_SOURCE_ROOT, "src")
+_SRC_DC = os.path.join(_SRC_ROOT, "platform/depthcharge")
+_SRC_VB = os.path.join(_SRC_ROOT, "platform/vboot_reference")
+_SRC_LP = os.path.join(_SRC_ROOT, "third_party/coreboot/payloads/libpayload")
 
-_PTRN_GDB = b'Ready for GDB connection'
+_PTRN_GDB = b"Ready for GDB connection"
 _PTRN_BOARD = (
-    b'Starting(?: read-only| read/write)? depthcharge on ([A-Za-z_]+)...')
+    b"Starting(?: read-only| read/write)? depthcharge on ([A-Za-z_]+)..."
+)
 
 
 def GetGdbForElf(elf):
-  """Return the correct C compiler prefix for the target ELF file."""
-  with open(elf, 'rb') as fp:
-    return {
-        'EM_386': 'x86_64-cros-linux-gnu-gdb',
-        'EM_X86_64': 'x86_64-cros-linux-gnu-gdb',
-        'EM_ARM': 'armv7a-cros-linux-gnueabihf-gdb',
-        'EM_AARCH64': 'aarch64-cros-linux-gnu-gdb',
-    }[ELFFile(fp).header.e_machine]
+    """Return the correct C compiler prefix for the target ELF file."""
+    with open(elf, "rb") as fp:
+        return {
+            "EM_386": "x86_64-cros-linux-gnu-gdb",
+            "EM_X86_64": "x86_64-cros-linux-gnu-gdb",
+            "EM_ARM": "armv7a-cros-linux-gnueabihf-gdb",
+            "EM_AARCH64": "aarch64-cros-linux-gnu-gdb",
+        }[ELFFile(fp).header.e_machine]
 
 
 def ParseArgs(argv):
-  """Parse and validate command line arguments."""
-  description = 'Debug depthcharge using GDB'
-  parser = servo_parsing.ServodClientParser(description=description)
-  parser.add_argument('-b', '--board',
-                      help='The board overlay name (auto-detect by default)')
-  parser.add_argument('-c', '--cgdb', action='store_true',
-                      help='Use cgdb curses interface rather than plain gdb')
-  parser.add_argument('-y', '--symbols',
-                      help='Root directory or complete path to symbolized ELF '
-                           '(defaults to /build/<BOARD>/firmware)')
-  parser.add_argument('-r', '--reboot', choices=['yes', 'no', 'auto'],
-                      help='Reboot the DUT before connect (default: reboot if '
-                           'the remote and is unreachable)', default='auto')
-  parser.add_argument('-e', '--execute', action='append', default=[],
-                      help='GDB command to run after connect (can be supplied '
-                           'multiple times)')
-  parser.add_argument('-t', '--tty',
-                      help='TTY file to connect to (defaults to cpu_uart_pty)')
-  opts = parser.parse_args(argv)
+    """Parse and validate command line arguments."""
+    description = "Debug depthcharge using GDB"
+    parser = servo_parsing.ServodClientParser(description=description)
+    parser.add_argument(
+        "-b", "--board", help="The board overlay name (auto-detect by default)"
+    )
+    parser.add_argument(
+        "-c",
+        "--cgdb",
+        action="store_true",
+        help="Use cgdb curses interface rather than plain gdb",
+    )
+    parser.add_argument(
+        "-y",
+        "--symbols",
+        help="Root directory or complete path to symbolized ELF "
+        "(defaults to /build/<BOARD>/firmware)",
+    )
+    parser.add_argument(
+        "-r",
+        "--reboot",
+        choices=["yes", "no", "auto"],
+        help="Reboot the DUT before connect (default: reboot if "
+        "the remote and is unreachable)",
+        default="auto",
+    )
+    parser.add_argument(
+        "-e",
+        "--execute",
+        action="append",
+        default=[],
+        help="GDB command to run after connect (can be supplied "
+        "multiple times)",
+    )
+    parser.add_argument(
+        "-t", "--tty", help="TTY file to connect to (defaults to cpu_uart_pty)"
+    )
+    opts = parser.parse_args(argv)
 
-  return opts
+    return opts
 
 
 def FindSymbols(firmware_dir, board):
-  """Find the symbolized depthcharge ELF (may be supplied by -y flag)."""
+    """Find the symbolized depthcharge ELF (may be supplied by -y flag)."""
 
-  # Allow overriding the file directly just in case our detection screws up.
-  if firmware_dir and firmware_dir.endswith('.elf'):
-    return firmware_dir
+    # Allow overriding the file directly just in case our detection screws up.
+    if firmware_dir and firmware_dir.endswith(".elf"):
+        return firmware_dir
 
-  if not firmware_dir:
-    # Unified builds have the format
-    # /build/<board|family>/firmware/<build_target|model>/. The board in
-    # depthcharge corresponds to the build_target in unified builds. For this
-    # reason we need to glob all boards to find the correct build_target.
-    unified_build_dirs = glob.glob('/build/*/firmware/%s' % board)
-    if len(unified_build_dirs) == 1:
-      firmware_dir = unified_build_dirs[0]
-    elif len(unified_build_dirs) > 1:
-      raise ValueError(
-          'Multiple boards were found (%s). Use -y to specify manually' %
-          (', '.join(unified_build_dirs)))
+    if not firmware_dir:
+        # Unified builds have the format
+        # /build/<board|family>/firmware/<build_target|model>/. The board in
+        # depthcharge corresponds to the build_target in unified builds. For this
+        # reason we need to glob all boards to find the correct build_target.
+        unified_build_dirs = glob.glob("/build/*/firmware/%s" % board)
+        if len(unified_build_dirs) == 1:
+            firmware_dir = unified_build_dirs[0]
+        elif len(unified_build_dirs) > 1:
+            raise ValueError(
+                "Multiple boards were found (%s). Use -y to specify manually"
+                % (", ".join(unified_build_dirs))
+            )
 
-  if not firmware_dir:
-    firmware_dir = os.path.join(
-        build_target_lib.get_default_sysroot_path(board), 'firmware')
+    if not firmware_dir:
+        firmware_dir = os.path.join(
+            build_target_lib.get_default_sysroot_path(board), "firmware"
+        )
 
-  # Very old firmware you might still find on GoldenEye had dev.ro.elf.
-  basenames = ['dev.elf', 'dev.ro.elf']
-  for basename in basenames:
-    path = os.path.join(firmware_dir, 'depthcharge', basename)
-    if not os.path.exists(path):
-      path = os.path.join(firmware_dir, basename)
-    if os.path.exists(path):
-      logging.warning('Auto-detected symbol file at %s... make sure that this'
-                      ' matches the image on your DUT!', path)
-      return path
+    # Very old firmware you might still find on GoldenEye had dev.ro.elf.
+    basenames = ["dev.elf", "dev.ro.elf"]
+    for basename in basenames:
+        path = os.path.join(firmware_dir, "depthcharge", basename)
+        if not os.path.exists(path):
+            path = os.path.join(firmware_dir, basename)
+        if os.path.exists(path):
+            logging.warning(
+                "Auto-detected symbol file at %s... make sure that this"
+                " matches the image on your DUT!",
+                path,
+            )
+            return path
 
-  raise ValueError('Could not find depthcharge symbol file (dev.elf)! '
-                   '(You can use -s to supply it manually.)')
+    raise ValueError(
+        "Could not find depthcharge symbol file (dev.elf)! "
+        "(You can use -s to supply it manually.)"
+    )
 
 
 # TODO(jwerner): Fine tune |wait| delay or maybe even make it configurable if
@@ -121,131 +148,149 @@
 # critical should all have their own timeouts now, though, so it's questionable
 # whether the delay here is even needed at all anymore.
 def ReadAll(fd, wait=0.03):
-  """Read from |fd| until no more data has come for at least |wait| seconds."""
-  data = []
-  try:
-    while True:
-      time.sleep(wait)
-      new_data = os.read(fd, 4096)
-      if not new_data:
-        break
-      data.append(new_data)
-  except OSError as e:
-    if e.errno != errno.EAGAIN:
-      raise
-  data = b''.join(data)
-  if data:
-    logging.debug(data.decode('ascii', errors='replace'))
-  return data
+    """Read from |fd| until no more data has come for at least |wait| seconds."""
+    data = []
+    try:
+        while True:
+            time.sleep(wait)
+            new_data = os.read(fd, 4096)
+            if not new_data:
+                break
+            data.append(new_data)
+    except OSError as e:
+        if e.errno != errno.EAGAIN:
+            raise
+    data = b"".join(data)
+    if data:
+        logging.debug(data.decode("ascii", errors="replace"))
+    return data
 
 
 def GdbChecksum(message):
-  """Calculate a remote-GDB style checksum."""
-  chksum = sum(message)
-  return (b'%.2x' % chksum)[-2:]
+    """Calculate a remote-GDB style checksum."""
+    chksum = sum(message)
+    return (b"%.2x" % chksum)[-2:]
 
 
 def TestConnection(fd):
-  """Return True iff there is a resposive GDB stub on the other end of 'fd'."""
-  cmd = b'vUnknownCommand'
-  for _ in range(3):
-    os.write(fd, b'$%s#%s\n' % (cmd, GdbChecksum(cmd)))
-    reply = ReadAll(fd)
-    if b'+$#00' in reply:
-      os.write(fd, b'+')
-      logging.info('TestConnection: Could successfully connect to remote end.')
-      return True
-  logging.info('TestConnection: Remote end does not respond.')
-  return False
+    """Return True iff there is a resposive GDB stub on the other end of 'fd'."""
+    cmd = b"vUnknownCommand"
+    for _ in range(3):
+        os.write(fd, b"$%s#%s\n" % (cmd, GdbChecksum(cmd)))
+        reply = ReadAll(fd)
+        if b"+$#00" in reply:
+            os.write(fd, b"+")
+            logging.info(
+                "TestConnection: Could successfully connect to remote end."
+            )
+            return True
+    logging.info("TestConnection: Remote end does not respond.")
+    return False
 
 
 def main(argv):
-  opts = ParseArgs(argv)
-  servo = client.ServoClient(host=opts.host, port=opts.port)
+    opts = ParseArgs(argv)
+    servo = client.ServoClient(host=opts.host, port=opts.port)
 
-  if not opts.tty:
-    try:
-      opts.tty = servo.get('cpu_uart_pty')
-    except (client.ServoClientError, socket.error):
-      logging.error('Cannot auto-detect TTY file without servod. Use the --tty '
-                    'option.')
-      raise
-  with terminal_freezer.TerminalFreezer(opts.tty):
-    fd = os.open(opts.tty, os.O_RDWR | os.O_NONBLOCK)
+    if not opts.tty:
+        try:
+            opts.tty = servo.get("cpu_uart_pty")
+        except (client.ServoClientError, socket.error):
+            logging.error(
+                "Cannot auto-detect TTY file without servod. Use the --tty "
+                "option."
+            )
+            raise
+    with terminal_freezer.TerminalFreezer(opts.tty):
+        fd = os.open(opts.tty, os.O_RDWR | os.O_NONBLOCK)
 
-    data = ReadAll(fd)
-    if opts.reboot == 'auto':
-      if TestConnection(fd):
-        opts.reboot = 'no'
-      else:
-        opts.reboot = 'yes'
+        data = ReadAll(fd)
+        if opts.reboot == "auto":
+            if TestConnection(fd):
+                opts.reboot = "no"
+            else:
+                opts.reboot = "yes"
 
-    if opts.reboot == 'yes':
-      logging.info('Rebooting DUT...')
-      try:
-        servo.set('warm_reset', 'on')
-        time.sleep(0.1)
-        servo.set('warm_reset', 'off')
-      except (client.ServoClientError, socket.error):
-        logging.error('Cannot reboot without a Servo board. You have to boot '
-                      'into developer mode and press CTRL+G manually before '
-                      'running fwgdb.')
-        raise
+        if opts.reboot == "yes":
+            logging.info("Rebooting DUT...")
+            try:
+                servo.set("warm_reset", "on")
+                time.sleep(0.1)
+                servo.set("warm_reset", "off")
+            except (client.ServoClientError, socket.error):
+                logging.error(
+                    "Cannot reboot without a Servo board. You have to boot "
+                    "into developer mode and press CTRL+G manually before "
+                    "running fwgdb."
+                )
+                raise
 
-      # Throw away old data to avoid confusion from messages before the reboot
-      data = b''
-      msg = ('Could not reboot into depthcharge!')
-      with timeout_util.Timeout(10, msg):
-        while not re.search(_PTRN_BOARD, data):
-          data += ReadAll(fd)
+            # Throw away old data to avoid confusion from messages before the reboot
+            data = b""
+            msg = "Could not reboot into depthcharge!"
+            with timeout_util.Timeout(10, msg):
+                while not re.search(_PTRN_BOARD, data):
+                    data += ReadAll(fd)
 
-      msg = ('Could not enter GDB mode with CTRL+G! '
-             '(Confirm that you flashed an "image.dev.bin" image to this DUT, '
-             'and that you have GBB_FLAG_FORCE_DEV_SWITCH_ON (0x8) set.)')
-      with timeout_util.Timeout(5, msg):
-        while not re.search(_PTRN_GDB, data):
-          # Some delay to avoid spamming the console too hard while not being
-          # long enough to cause a user-visible slowdown.
-          time.sleep(0.5)
-          # Send a CTRL+G to tell depthcharge to trap into GDB.
-          logging.debug('[Ctrl+G]')
-          os.write(fd, b'\x07')
-          data += ReadAll(fd)
+            msg = (
+                "Could not enter GDB mode with CTRL+G! "
+                '(Confirm that you flashed an "image.dev.bin" image to this DUT, '
+                "and that you have GBB_FLAG_FORCE_DEV_SWITCH_ON (0x8) set.)"
+            )
+            with timeout_util.Timeout(5, msg):
+                while not re.search(_PTRN_GDB, data):
+                    # Some delay to avoid spamming the console too hard while not being
+                    # long enough to cause a user-visible slowdown.
+                    time.sleep(0.5)
+                    # Send a CTRL+G to tell depthcharge to trap into GDB.
+                    logging.debug("[Ctrl+G]")
+                    os.write(fd, b"\x07")
+                    data += ReadAll(fd)
 
-    if not opts.board:
-      matches = re.findall(_PTRN_BOARD, data)
-      if not matches:
-        raise ValueError('Could not auto-detect board! Please use -b option.')
-      opts.board = matches[-1]
-      logging.info('Auto-detected board as %s from DUT console output.',
-                   opts.board)
+        if not opts.board:
+            matches = re.findall(_PTRN_BOARD, data)
+            if not matches:
+                raise ValueError(
+                    "Could not auto-detect board! Please use -b option."
+                )
+            opts.board = matches[-1]
+            logging.info(
+                "Auto-detected board as %s from DUT console output.", opts.board
+            )
 
-    if not TestConnection(fd):
-      raise IOError('Could not connect to remote end! Confirm that your DUT is '
-                    'running in GDB mode on %s.' % opts.tty)
+        if not TestConnection(fd):
+            raise IOError(
+                "Could not connect to remote end! Confirm that your DUT is "
+                "running in GDB mode on %s." % opts.tty
+            )
 
-    # Eat up leftover data or it will spill back to terminal
-    ReadAll(fd)
-    os.close(fd)
+        # Eat up leftover data or it will spill back to terminal
+        ReadAll(fd)
+        os.close(fd)
 
-    opts.execute.insert(0, 'target remote %s' % opts.tty)
-    ex_args = sum([['--ex', cmd] for cmd in opts.execute], [])
+        opts.execute.insert(0, "target remote %s" % opts.tty)
+        ex_args = sum([["--ex", cmd] for cmd in opts.execute], [])
 
-    elf = FindSymbols(opts.symbols, opts.board)
-    gdb_cmd = GetGdbForElf(elf)
+        elf = FindSymbols(opts.symbols, opts.board)
+        gdb_cmd = GetGdbForElf(elf)
 
-    gdb_args = [
-        '--symbols', elf,
-        '--directory', _SRC_DC,
-        '--directory', _SRC_VB,
-        '--directory', _SRC_LP,
-    ] + ex_args
+        gdb_args = [
+            "--symbols",
+            elf,
+            "--directory",
+            _SRC_DC,
+            "--directory",
+            _SRC_VB,
+            "--directory",
+            _SRC_LP,
+        ] + ex_args
 
-    if opts.cgdb:
-      full_cmd = ['cgdb', '-d', gdb_cmd, '--'] + gdb_args
-    else:
-      full_cmd = [gdb_cmd] + gdb_args
+        if opts.cgdb:
+            full_cmd = ["cgdb", "-d", gdb_cmd, "--"] + gdb_args
+        else:
+            full_cmd = [gdb_cmd] + gdb_args
 
-    logging.info('Launching GDB...')
-    cros_build_lib.run(
-        full_cmd, ignore_sigint=True, debug_level=logging.WARNING)
+        logging.info("Launching GDB...")
+        cros_build_lib.run(
+            full_cmd, ignore_sigint=True, debug_level=logging.WARNING
+        )