* [PATCH 0/2] Use isort in gdb
@ 2024-03-20 16:38 Tom Tromey
2024-03-20 16:38 ` [PATCH 1/2] Prepare gdb for isort Tom Tromey
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Tom Tromey @ 2024-03-20 16:38 UTC (permalink / raw)
To: gdb-patches
This short series changes the gdb Python code to use 'isort', a
program to keep Python imports tidy.
It's based on my earlier flake8 series.
Once both of these series are in, we can look at updating the
pre-commit config to run flake8 and isort.
Tom
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/2] Prepare gdb for isort
2024-03-20 16:38 [PATCH 0/2] Use isort in gdb Tom Tromey
@ 2024-03-20 16:38 ` Tom Tromey
2024-03-20 16:38 ` [PATCH 2/2] Run isort Tom Tromey
2024-03-20 19:03 ` [PATCH 0/2] Use isort in gdb Simon Marchi
2 siblings, 0 replies; 5+ messages in thread
From: Tom Tromey @ 2024-03-20 16:38 UTC (permalink / raw)
To: gdb-patches; +Cc: Tom Tromey
This patch prepares gdb for isort: it adds a couple of isort marker
comments where needed, and it adds an isort clause to setup.cfg.
---
gdb/python/lib/gdb/__init__.py | 1 +
gdb/python/lib/gdb/dap/__init__.py | 2 ++
gdb/setup.cfg | 3 +++
3 files changed, 6 insertions(+)
diff --git a/gdb/python/lib/gdb/__init__.py b/gdb/python/lib/gdb/__init__.py
index e7d21fe8d27..5b96605240e 100644
--- a/gdb/python/lib/gdb/__init__.py
+++ b/gdb/python/lib/gdb/__init__.py
@@ -27,6 +27,7 @@ else:
from imp import reload
# Note that two indicators are needed here to silence flake8.
+# isort: split
from _gdb import * # noqa: F401,F403
# Historically, gdb.events was always available, so ensure it's
diff --git a/gdb/python/lib/gdb/dap/__init__.py b/gdb/python/lib/gdb/dap/__init__.py
index f947314880c..81d435e742f 100644
--- a/gdb/python/lib/gdb/dap/__init__.py
+++ b/gdb/python/lib/gdb/dap/__init__.py
@@ -16,6 +16,7 @@
import os
# This must come before other DAP imports.
+# isort: split
from . import startup
# Load modules that define commands. These imports intentionally
@@ -36,6 +37,7 @@ from . import scopes # noqa: F401
from . import sources # noqa: F401
from . import threads # noqa: F401
+# isort: split
from .server import Server
diff --git a/gdb/setup.cfg b/gdb/setup.cfg
index 2e83eb5cf56..d33058ea7f0 100644
--- a/gdb/setup.cfg
+++ b/gdb/setup.cfg
@@ -7,3 +7,6 @@
# E701: Multiple statements on one line (colon)
# W503: line break before binary operator
ignore = E203,E501,E701,W503
+
+[isort]
+profile = black
--
2.43.0
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 2/2] Run isort
2024-03-20 16:38 [PATCH 0/2] Use isort in gdb Tom Tromey
2024-03-20 16:38 ` [PATCH 1/2] Prepare gdb for isort Tom Tromey
@ 2024-03-20 16:38 ` Tom Tromey
2024-04-02 17:20 ` Tom Tromey
2024-03-20 19:03 ` [PATCH 0/2] Use isort in gdb Simon Marchi
2 siblings, 1 reply; 5+ messages in thread
From: Tom Tromey @ 2024-03-20 16:38 UTC (permalink / raw)
To: gdb-patches; +Cc: Tom Tromey
This patch is the result of running 'isort .' in the gdb directory.
---
gdb/python/lib/gdb/__init__.py | 12 ++++----
gdb/python/lib/gdb/command/frame_filters.py | 1 +
gdb/python/lib/gdb/command/missing_debug.py | 3 +-
gdb/python/lib/gdb/command/pretty_printers.py | 3 +-
gdb/python/lib/gdb/command/type_printers.py | 1 +
gdb/python/lib/gdb/command/unwinders.py | 3 +-
gdb/python/lib/gdb/command/xmethods.py | 3 +-
gdb/python/lib/gdb/dap/__init__.py | 29 ++++++++++---------
gdb/python/lib/gdb/dap/breakpoint.py | 9 +++---
gdb/python/lib/gdb/dap/bt.py | 5 ++--
gdb/python/lib/gdb/dap/disassemble.py | 2 +-
gdb/python/lib/gdb/dap/evaluate.py | 10 +++----
gdb/python/lib/gdb/dap/events.py | 3 +-
gdb/python/lib/gdb/dap/frames.py | 3 +-
gdb/python/lib/gdb/dap/io.py | 2 +-
gdb/python/lib/gdb/dap/launch.py | 8 ++---
gdb/python/lib/gdb/dap/locations.py | 4 +--
gdb/python/lib/gdb/dap/memory.py | 3 +-
gdb/python/lib/gdb/dap/scopes.py | 3 +-
gdb/python/lib/gdb/dap/server.py | 12 ++++----
gdb/python/lib/gdb/dap/sources.py | 5 ++--
gdb/python/lib/gdb/dap/startup.py | 6 ++--
gdb/python/lib/gdb/dap/state.py | 2 +-
gdb/python/lib/gdb/dap/varref.py | 7 +++--
gdb/python/lib/gdb/disassembler.py | 3 +-
gdb/python/lib/gdb/frames.py | 7 +++--
gdb/python/lib/gdb/function/caller_is.py | 3 +-
gdb/python/lib/gdb/function/strfns.py | 3 +-
gdb/python/lib/gdb/missing_debug.py | 5 ++--
gdb/python/lib/gdb/printing.py | 5 ++--
gdb/python/lib/gdb/prompt.py | 3 +-
gdb/python/lib/gdb/styling.py | 4 +--
gdb/python/lib/gdb/xmethod.py | 3 +-
gdb/python/python-config.py | 4 +--
gdb/syscalls/arm-linux.py | 2 +-
gdb/system-gdbinit/elinos.py | 3 +-
gdb/testsuite/analyze-racy-logs.py | 2 +-
gdb/testsuite/gdb.ada/pp-rec-component.py | 1 +
gdb/testsuite/gdb.base/pc-not-saved.py | 2 +-
gdb/testsuite/gdb.dap/stack-format.py | 2 +-
gdb/testsuite/gdb.dap/type_check.py | 1 +
.../gdb.perf/gmonster-null-lookup.py | 4 +--
.../gdb.perf/gmonster-pervasive-typedef.py | 4 +--
gdb/testsuite/gdb.perf/gmonster-print-cerr.py | 4 +--
.../gdb.perf/gmonster-ptype-string.py | 4 +--
gdb/testsuite/gdb.perf/gmonster-runto-main.py | 4 +--
.../gdb.perf/gmonster-select-file.py | 4 +--
.../gdb.perf/lib/perftest/measure.py | 4 +--
.../gdb.perf/lib/perftest/perftest.py | 14 +++++----
gdb/testsuite/gdb.perf/solib.py | 3 +-
...ded-pretty-printers-in-newobjfile-event.py | 3 +-
gdb/testsuite/gdb.python/py-bad-printers.py | 1 +
gdb/testsuite/gdb.python/py-disasm.py | 4 +--
gdb/testsuite/gdb.python/py-event-load.py | 1 -
gdb/testsuite/gdb.python/py-frame-args.py | 1 +
.../gdb.python/py-framefilter-addr.py | 5 ++--
.../gdb.python/py-framefilter-gdb.py | 3 +-
.../py-framefilter-invalidarg-gdb.py | 3 +-
.../gdb.python/py-framefilter-invalidarg.py | 5 ++--
gdb/testsuite/gdb.python/py-framefilter.py | 5 ++--
gdb/testsuite/gdb.python/py-inferior-leak.py | 3 +-
.../py-mi-var-info-path-expression.py | 1 +
gdb/testsuite/gdb.python/py-missing-debug.py | 5 ++--
gdb/testsuite/gdb.python/py-nested-maps.py | 1 +
gdb/testsuite/gdb.python/py-pp-integral.py | 1 +
gdb/testsuite/gdb.python/py-pp-maint.py | 3 +-
gdb/testsuite/gdb.python/py-pp-re-notag.py | 1 +
.../gdb.python/py-pp-registration.py | 3 +-
gdb/testsuite/gdb.python/py-prettyprint.py | 1 +
gdb/testsuite/gdb.python/py-send-packet.py | 1 +
gdb/testsuite/gdb.python/py-unwind-maint.py | 1 +
gdb/testsuite/gdb.python/py-unwind.py | 3 +-
gdb/testsuite/gdb.python/py-xmethods.py | 6 ++--
gdb/testsuite/gdb.rust/pp.py | 1 +
gdb/testsuite/print-ts.py | 4 +--
75 files changed, 163 insertions(+), 140 deletions(-)
diff --git a/gdb/python/lib/gdb/__init__.py b/gdb/python/lib/gdb/__init__.py
index 5b96605240e..3589117d411 100644
--- a/gdb/python/lib/gdb/__init__.py
+++ b/gdb/python/lib/gdb/__init__.py
@@ -13,11 +13,11 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
+import os
import signal
+import sys
import threading
import traceback
-import os
-import sys
from contextlib import contextmanager
# Python 3 moved "reload"
@@ -27,11 +27,13 @@ else:
from imp import reload
# Note that two indicators are needed here to silence flake8.
-# isort: split
from _gdb import * # noqa: F401,F403
+# isort: split
+
# Historically, gdb.events was always available, so ensure it's
# still available without an explicit import.
+# isort: split
import _gdbevents as events
sys.modules["gdb.events"] = events
@@ -63,8 +65,8 @@ class _GdbFile(object):
write(s, stream=self.stream) # noqa: F405
-sys.stdout = _GdbFile(STDOUT) # noqa: F405
-sys.stderr = _GdbFile(STDERR) # noqa: F405
+sys.stdout = _GdbFile(STDOUT) # noqa: F405
+sys.stderr = _GdbFile(STDERR) # noqa: F405
# Default prompt hook does nothing.
prompt_hook = None
diff --git a/gdb/python/lib/gdb/command/frame_filters.py b/gdb/python/lib/gdb/command/frame_filters.py
index d774e194fba..4e1b3208d0e 100644
--- a/gdb/python/lib/gdb/command/frame_filters.py
+++ b/gdb/python/lib/gdb/command/frame_filters.py
@@ -17,6 +17,7 @@
"""GDB commands for working with frame-filters."""
import sys
+
import gdb
import gdb.frames
diff --git a/gdb/python/lib/gdb/command/missing_debug.py b/gdb/python/lib/gdb/command/missing_debug.py
index 9a55e1822f5..313b88cf8c3 100644
--- a/gdb/python/lib/gdb/command/missing_debug.py
+++ b/gdb/python/lib/gdb/command/missing_debug.py
@@ -15,9 +15,10 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-import gdb
import re
+import gdb
+
def validate_regexp(exp, idstring):
"""Compile exp into a compiler regular expression object.
diff --git a/gdb/python/lib/gdb/command/pretty_printers.py b/gdb/python/lib/gdb/command/pretty_printers.py
index 6a938ed8fcd..cb9b9f35f9f 100644
--- a/gdb/python/lib/gdb/command/pretty_printers.py
+++ b/gdb/python/lib/gdb/command/pretty_printers.py
@@ -17,9 +17,10 @@
"""GDB commands for working with pretty-printers."""
import copy
-import gdb
import re
+import gdb
+
def parse_printer_regexps(arg):
"""Internal utility to parse a pretty-printer command argv.
diff --git a/gdb/python/lib/gdb/command/type_printers.py b/gdb/python/lib/gdb/command/type_printers.py
index 339f5aac6a2..a2be226850d 100644
--- a/gdb/python/lib/gdb/command/type_printers.py
+++ b/gdb/python/lib/gdb/command/type_printers.py
@@ -15,6 +15,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import copy
+
import gdb
"""GDB commands for working with type-printers."""
diff --git a/gdb/python/lib/gdb/command/unwinders.py b/gdb/python/lib/gdb/command/unwinders.py
index 886287f8794..b863b333aa0 100644
--- a/gdb/python/lib/gdb/command/unwinders.py
+++ b/gdb/python/lib/gdb/command/unwinders.py
@@ -14,9 +14,10 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-import gdb
import re
+import gdb
+
def validate_regexp(exp, idstring):
try:
diff --git a/gdb/python/lib/gdb/command/xmethods.py b/gdb/python/lib/gdb/command/xmethods.py
index fe310b7787e..f7862271858 100644
--- a/gdb/python/lib/gdb/command/xmethods.py
+++ b/gdb/python/lib/gdb/command/xmethods.py
@@ -14,9 +14,10 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-import gdb
import re
+import gdb
+
"""GDB commands for working with xmethods."""
diff --git a/gdb/python/lib/gdb/dap/__init__.py b/gdb/python/lib/gdb/dap/__init__.py
index 81d435e742f..51b95468a70 100644
--- a/gdb/python/lib/gdb/dap/__init__.py
+++ b/gdb/python/lib/gdb/dap/__init__.py
@@ -16,26 +16,27 @@
import os
# This must come before other DAP imports.
-# isort: split
from . import startup
+# isort: split
+
# Load modules that define commands. These imports intentionally
# ignore the unused import warning, as these modules are being loaded
# for their side effects -- namely, registering DAP commands with the
# server object. "F401" is the flake8 "imported but unused" code.
-from . import breakpoint # noqa: F401
-from . import bt # noqa: F401
-from . import disassemble # noqa: F401
-from . import evaluate # noqa: F401
-from . import launch # noqa: F401
-from . import locations # noqa: F401
-from . import memory # noqa: F401
-from . import modules # noqa: F401
-from . import next # noqa: F401
-from . import pause # noqa: F401
-from . import scopes # noqa: F401
-from . import sources # noqa: F401
-from . import threads # noqa: F401
+from . import breakpoint # noqa: F401
+from . import bt # noqa: F401
+from . import disassemble # noqa: F401
+from . import evaluate # noqa: F401
+from . import launch # noqa: F401
+from . import locations # noqa: F401
+from . import memory # noqa: F401
+from . import modules # noqa: F401
+from . import next # noqa: F401
+from . import pause # noqa: F401
+from . import scopes # noqa: F401
+from . import sources # noqa: F401
+from . import threads # noqa: F401
# isort: split
from .server import Server
diff --git a/gdb/python/lib/gdb/dap/breakpoint.py b/gdb/python/lib/gdb/dap/breakpoint.py
index b4fb1127c2d..b2e74277ebd 100644
--- a/gdb/python/lib/gdb/dap/breakpoint.py
+++ b/gdb/python/lib/gdb/dap/breakpoint.py
@@ -13,21 +13,20 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-import gdb
import os
import re
-
from contextlib import contextmanager
# These are deprecated in 3.9, but required in older versions.
from typing import Optional, Sequence
-from .server import request, capability, send_event
+import gdb
+
+from .server import capability, request, send_event
from .sources import make_source
-from .startup import in_gdb_thread, log_stack, parse_and_eval, LogLevel, DAPException
+from .startup import DAPException, LogLevel, in_gdb_thread, log_stack, parse_and_eval
from .typecheck import type_check
-
# True when suppressing new breakpoint events.
_suppress_bp = False
diff --git a/gdb/python/lib/gdb/dap/bt.py b/gdb/python/lib/gdb/dap/bt.py
index d65ce5fcc2a..e0c2e2a1751 100644
--- a/gdb/python/lib/gdb/dap/bt.py
+++ b/gdb/python/lib/gdb/dap/bt.py
@@ -13,16 +13,17 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-import gdb
import os
# This is deprecated in 3.9, but required in older versions.
from typing import Optional
+import gdb
+
from .frames import dap_frame_generator
from .modules import module_id
from .scopes import symbol_value
-from .server import request, capability
+from .server import capability, request
from .sources import make_source
from .startup import in_gdb_thread
from .state import set_thread
diff --git a/gdb/python/lib/gdb/dap/disassemble.py b/gdb/python/lib/gdb/dap/disassemble.py
index a7825289899..65bf3d4457b 100644
--- a/gdb/python/lib/gdb/dap/disassemble.py
+++ b/gdb/python/lib/gdb/dap/disassemble.py
@@ -15,7 +15,7 @@
import gdb
-from .server import request, capability
+from .server import capability, request
@request("disassemble")
diff --git a/gdb/python/lib/gdb/dap/evaluate.py b/gdb/python/lib/gdb/dap/evaluate.py
index 62519a55521..34843f423d8 100644
--- a/gdb/python/lib/gdb/dap/evaluate.py
+++ b/gdb/python/lib/gdb/dap/evaluate.py
@@ -13,15 +13,15 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-import gdb
-
# This is deprecated in 3.9, but required in older versions.
from typing import Optional
+import gdb
+
from .frames import select_frame
-from .server import capability, request, client_bool_capability
-from .startup import in_gdb_thread, parse_and_eval, DAPException
-from .varref import find_variable, VariableReference, apply_format
+from .server import capability, client_bool_capability, request
+from .startup import DAPException, in_gdb_thread, parse_and_eval
+from .varref import VariableReference, apply_format, find_variable
class EvaluateResult(VariableReference):
diff --git a/gdb/python/lib/gdb/dap/events.py b/gdb/python/lib/gdb/dap/events.py
index 928f23fd3ff..276d3145b9a 100644
--- a/gdb/python/lib/gdb/dap/events.py
+++ b/gdb/python/lib/gdb/dap/events.py
@@ -15,11 +15,10 @@
import gdb
+from .modules import is_module, make_module
from .scopes import set_finish_value
from .server import send_event
from .startup import exec_and_log, in_gdb_thread, log
-from .modules import is_module, make_module
-
# True when the inferior is thought to be running, False otherwise.
# This may be accessed from any thread, which can be racy. However,
diff --git a/gdb/python/lib/gdb/dap/frames.py b/gdb/python/lib/gdb/dap/frames.py
index 161c84b025b..07a4e3ea793 100644
--- a/gdb/python/lib/gdb/dap/frames.py
+++ b/gdb/python/lib/gdb/dap/frames.py
@@ -13,14 +13,13 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-import gdb
import itertools
+import gdb
from gdb.frames import frame_iterator
from .startup import in_gdb_thread
-
# A list of all the frames we've reported. A frame's index in the
# list is its ID. We don't use a hash here because frames are not
# hashable.
diff --git a/gdb/python/lib/gdb/dap/io.py b/gdb/python/lib/gdb/dap/io.py
index bbf822d60bf..03031a72393 100644
--- a/gdb/python/lib/gdb/dap/io.py
+++ b/gdb/python/lib/gdb/dap/io.py
@@ -15,7 +15,7 @@
import json
-from .startup import start_thread, log, log_stack, LogLevel
+from .startup import LogLevel, log, log_stack, start_thread
def read_json(stream):
diff --git a/gdb/python/lib/gdb/dap/launch.py b/gdb/python/lib/gdb/dap/launch.py
index 6783d999621..2674e02eac3 100644
--- a/gdb/python/lib/gdb/dap/launch.py
+++ b/gdb/python/lib/gdb/dap/launch.py
@@ -13,14 +13,14 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-import gdb
-
# These are deprecated in 3.9, but required in older versions.
from typing import Mapping, Optional, Sequence
+import gdb
+
from .events import exec_and_expect_stop, expect_process, expect_stop
-from .server import request, capability
-from .startup import exec_and_log, DAPException
+from .server import capability, request
+from .startup import DAPException, exec_and_log
# Any parameters here are necessarily extensions -- DAP requires this
diff --git a/gdb/python/lib/gdb/dap/locations.py b/gdb/python/lib/gdb/dap/locations.py
index 098091b4b42..92e68f5e235 100644
--- a/gdb/python/lib/gdb/dap/locations.py
+++ b/gdb/python/lib/gdb/dap/locations.py
@@ -13,11 +13,11 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-import gdb
-
# This is deprecated in 3.9, but required in older versions.
from typing import Optional
+import gdb
+
from .server import capability, request
from .sources import decode_source
diff --git a/gdb/python/lib/gdb/dap/memory.py b/gdb/python/lib/gdb/dap/memory.py
index 19a61d63499..dd62b0e7ba6 100644
--- a/gdb/python/lib/gdb/dap/memory.py
+++ b/gdb/python/lib/gdb/dap/memory.py
@@ -14,9 +14,10 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import base64
+
import gdb
-from .server import request, capability
+from .server import capability, request
@request("readMemory")
diff --git a/gdb/python/lib/gdb/dap/scopes.py b/gdb/python/lib/gdb/dap/scopes.py
index be2c382b40b..8cd860141d6 100644
--- a/gdb/python/lib/gdb/dap/scopes.py
+++ b/gdb/python/lib/gdb/dap/scopes.py
@@ -16,11 +16,10 @@
import gdb
from .frames import frame_for_id
-from .startup import in_gdb_thread
from .server import request
+from .startup import in_gdb_thread
from .varref import BaseReference
-
# Map DAP frame IDs to scopes. This ensures that scopes are re-used.
frame_to_scope = {}
diff --git a/gdb/python/lib/gdb/dap/server.py b/gdb/python/lib/gdb/dap/server.py
index 70646f4d75c..7eb87177710 100644
--- a/gdb/python/lib/gdb/dap/server.py
+++ b/gdb/python/lib/gdb/dap/server.py
@@ -14,29 +14,29 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import functools
-import gdb
import heapq
import inspect
import json
import threading
from contextlib import contextmanager
-from .io import start_json_writer, read_json
+import gdb
+
+from .io import read_json, start_json_writer
from .startup import (
- exec_and_log,
DAPException,
DAPQueue,
+ LogLevel,
+ exec_and_log,
in_dap_thread,
in_gdb_thread,
- start_thread,
log,
log_stack,
- LogLevel,
+ start_thread,
thread_log,
)
from .typecheck import type_check
-
# Map capability names to values.
_capabilities = {}
diff --git a/gdb/python/lib/gdb/dap/sources.py b/gdb/python/lib/gdb/dap/sources.py
index c9b77208145..ee3464db679 100644
--- a/gdb/python/lib/gdb/dap/sources.py
+++ b/gdb/python/lib/gdb/dap/sources.py
@@ -17,9 +17,8 @@ import os
import gdb
-from .server import request, capability
-from .startup import in_gdb_thread, DAPException
-
+from .server import capability, request
+from .startup import DAPException, in_gdb_thread
# The next available source reference ID. Must be greater than 0.
_next_source = 1
diff --git a/gdb/python/lib/gdb/dap/startup.py b/gdb/python/lib/gdb/dap/startup.py
index aaf1e8cd657..58591c00b97 100644
--- a/gdb/python/lib/gdb/dap/startup.py
+++ b/gdb/python/lib/gdb/dap/startup.py
@@ -16,14 +16,14 @@
# Do not import other gdbdap modules here -- this module must come
# first.
import functools
-import gdb
import queue
+import sys
import threading
import traceback
-import sys
-
from enum import IntEnum, auto
+import gdb
+
# Adapt to different Queue types. This is exported for use in other
# modules as well.
if sys.version_info[0] == 3 and sys.version_info[1] <= 6:
diff --git a/gdb/python/lib/gdb/dap/state.py b/gdb/python/lib/gdb/dap/state.py
index 9cb703157de..57ae355f45e 100644
--- a/gdb/python/lib/gdb/dap/state.py
+++ b/gdb/python/lib/gdb/dap/state.py
@@ -13,7 +13,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-from .startup import in_gdb_thread, exec_and_log, log
+from .startup import exec_and_log, in_gdb_thread, log
@in_gdb_thread
diff --git a/gdb/python/lib/gdb/dap/varref.py b/gdb/python/lib/gdb/dap/varref.py
index e413e4e8043..57e84a1676e 100644
--- a/gdb/python/lib/gdb/dap/varref.py
+++ b/gdb/python/lib/gdb/dap/varref.py
@@ -13,13 +13,14 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-import gdb
-from .startup import in_gdb_thread, DAPException
-from .server import client_bool_capability
from abc import ABC, abstractmethod
from collections import defaultdict
from contextlib import contextmanager
+import gdb
+
+from .server import client_bool_capability
+from .startup import DAPException, in_gdb_thread
# A list of all the variable references created during this pause.
all_variables = []
diff --git a/gdb/python/lib/gdb/disassembler.py b/gdb/python/lib/gdb/disassembler.py
index af7dcc5f6a8..72d311b117f 100644
--- a/gdb/python/lib/gdb/disassembler.py
+++ b/gdb/python/lib/gdb/disassembler.py
@@ -15,7 +15,6 @@
"""Disassembler related module."""
-import gdb
import _gdb.disassembler
# Re-export everything from the _gdb.disassembler module, which is
@@ -23,6 +22,8 @@ import _gdb.disassembler
# here to silence flake8.
from _gdb.disassembler import * # noqa: F401,F403
+import gdb
+
# Module global dictionary of gdb.disassembler.Disassembler objects.
# The keys of this dictionary are bfd architecture names, or the
# special value None.
diff --git a/gdb/python/lib/gdb/frames.py b/gdb/python/lib/gdb/frames.py
index 44f3217b8f8..a3be80c72a0 100644
--- a/gdb/python/lib/gdb/frames.py
+++ b/gdb/python/lib/gdb/frames.py
@@ -16,11 +16,12 @@
"""Internal functions for working with frame-filters."""
+import collections
+import itertools
+
import gdb
+from gdb.FrameDecorator import DAPFrameDecorator, FrameDecorator
from gdb.FrameIterator import FrameIterator
-from gdb.FrameDecorator import FrameDecorator, DAPFrameDecorator
-import itertools
-import collections
def get_priority(filter_item):
diff --git a/gdb/python/lib/gdb/function/caller_is.py b/gdb/python/lib/gdb/function/caller_is.py
index eb87c23740b..bacd8c0ef8b 100644
--- a/gdb/python/lib/gdb/function/caller_is.py
+++ b/gdb/python/lib/gdb/function/caller_is.py
@@ -14,9 +14,10 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-import gdb
import re
+import gdb
+
class CallerIs(gdb.Function):
"""Check the calling function's name.
diff --git a/gdb/python/lib/gdb/function/strfns.py b/gdb/python/lib/gdb/function/strfns.py
index 42e5b9cd35b..90c9ceab867 100644
--- a/gdb/python/lib/gdb/function/strfns.py
+++ b/gdb/python/lib/gdb/function/strfns.py
@@ -16,9 +16,10 @@
"""$_memeq, $_strlen, $_streq, $_regex"""
-import gdb
import re
+import gdb
+
class _MemEq(gdb.Function):
"""$_memeq - compare bytes of memory.
diff --git a/gdb/python/lib/gdb/missing_debug.py b/gdb/python/lib/gdb/missing_debug.py
index 3093a9ffe4c..6d57462c185 100644
--- a/gdb/python/lib/gdb/missing_debug.py
+++ b/gdb/python/lib/gdb/missing_debug.py
@@ -17,9 +17,10 @@
MissingDebugHandler base class, and register_handler function.
"""
-import gdb
import sys
+import gdb
+
if sys.version_info >= (3, 7):
# Functions str.isascii() and str.isalnum are available starting Python
# 3.7.
@@ -32,7 +33,7 @@ if sys.version_info >= (3, 7):
else:
# Fall back to curses.ascii.isascii() and curses.ascii.isalnum() for
# earlier versions.
- from curses.ascii import isascii, isalnum
+ from curses.ascii import isalnum, isascii
def _validate_name(name):
diff --git a/gdb/python/lib/gdb/printing.py b/gdb/python/lib/gdb/printing.py
index d7933e9df76..55ba43585ec 100644
--- a/gdb/python/lib/gdb/printing.py
+++ b/gdb/python/lib/gdb/printing.py
@@ -16,11 +16,12 @@
"""Utilities for working with pretty-printers."""
-import gdb
-import gdb.types
import itertools
import re
+import gdb
+import gdb.types
+
class PrettyPrinter(object):
"""A basic pretty-printer.
diff --git a/gdb/python/lib/gdb/prompt.py b/gdb/python/lib/gdb/prompt.py
index 02185b353df..4ad38e4567a 100644
--- a/gdb/python/lib/gdb/prompt.py
+++ b/gdb/python/lib/gdb/prompt.py
@@ -16,9 +16,10 @@
""" Extended prompt library functions."""
-import gdb
import os
+import gdb
+
def _prompt_pwd(ignore):
"The current working directory."
diff --git a/gdb/python/lib/gdb/styling.py b/gdb/python/lib/gdb/styling.py
index 8e5d64f15d9..1c5394e479b 100644
--- a/gdb/python/lib/gdb/styling.py
+++ b/gdb/python/lib/gdb/styling.py
@@ -19,9 +19,9 @@
import gdb
try:
- from pygments import formatters, lexers, highlight
- from pygments.token import Error, Comment, Text
+ from pygments import formatters, highlight, lexers
from pygments.filters import TokenMergeFilter
+ from pygments.token import Comment, Error, Text
_formatter = None
diff --git a/gdb/python/lib/gdb/xmethod.py b/gdb/python/lib/gdb/xmethod.py
index ea7b15c4dac..c98402d271f 100644
--- a/gdb/python/lib/gdb/xmethod.py
+++ b/gdb/python/lib/gdb/xmethod.py
@@ -16,9 +16,10 @@
"""Utilities for defining xmethods"""
-import gdb
import re
+import gdb
+
class XMethod(object):
"""Base class (or a template) for an xmethod description.
diff --git a/gdb/python/python-config.py b/gdb/python/python-config.py
index e89e0fd40bb..061eae1ac64 100644
--- a/gdb/python/python-config.py
+++ b/gdb/python/python-config.py
@@ -1,9 +1,9 @@
# Program to fetch python compilation parameters.
# Copied from python-config of the 2.7 release.
-import sys
-import os
import getopt
+import os
+import sys
import sysconfig
valid_opts = ["prefix", "exec-prefix", "includes", "libs", "cflags", "ldflags", "help"]
diff --git a/gdb/syscalls/arm-linux.py b/gdb/syscalls/arm-linux.py
index 8213f5ce33d..a3f64d0a825 100644
--- a/gdb/syscalls/arm-linux.py
+++ b/gdb/syscalls/arm-linux.py
@@ -5,8 +5,8 @@
# notice and this notice are preserved. This file is offered as-is,
# without any warranty.
-import sys
import re
+import sys
import time
infname = sys.argv[1]
diff --git a/gdb/system-gdbinit/elinos.py b/gdb/system-gdbinit/elinos.py
index bd9d4630438..da82687a76f 100644
--- a/gdb/system-gdbinit/elinos.py
+++ b/gdb/system-gdbinit/elinos.py
@@ -15,8 +15,9 @@
"""Configure GDB using the ELinOS environment."""
-import os
import glob
+import os
+
import gdb
diff --git a/gdb/testsuite/analyze-racy-logs.py b/gdb/testsuite/analyze-racy-logs.py
index bd548e23a31..152490e7686 100755
--- a/gdb/testsuite/analyze-racy-logs.py
+++ b/gdb/testsuite/analyze-racy-logs.py
@@ -29,9 +29,9 @@
# This program is invoked when the user runs "make check" and
# specifies the RACY_ITER environment variable.
-import sys
import os
import re
+import sys
# The (global) dictionary that stores the associations between a *.sum
# file and its results. The data inside it will be stored as:
diff --git a/gdb/testsuite/gdb.ada/pp-rec-component.py b/gdb/testsuite/gdb.ada/pp-rec-component.py
index 339e4a362a3..3d398125e06 100644
--- a/gdb/testsuite/gdb.ada/pp-rec-component.py
+++ b/gdb/testsuite/gdb.ada/pp-rec-component.py
@@ -14,6 +14,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from time import asctime, gmtime
+
import gdb # silence pyflakes
diff --git a/gdb/testsuite/gdb.base/pc-not-saved.py b/gdb/testsuite/gdb.base/pc-not-saved.py
index 2e19da80b3f..8090858895e 100644
--- a/gdb/testsuite/gdb.base/pc-not-saved.py
+++ b/gdb/testsuite/gdb.base/pc-not-saved.py
@@ -14,7 +14,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import gdb
-from gdb.unwinder import Unwinder, FrameId
+from gdb.unwinder import FrameId, Unwinder
# Cached FrameId. See set_break_bt_here_frame_id for details.
break_bt_here_frame_id = None
diff --git a/gdb/testsuite/gdb.dap/stack-format.py b/gdb/testsuite/gdb.dap/stack-format.py
index 12c6cc473e5..b7799f41dac 100644
--- a/gdb/testsuite/gdb.dap/stack-format.py
+++ b/gdb/testsuite/gdb.dap/stack-format.py
@@ -14,9 +14,9 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-import gdb
import itertools
+import gdb
from gdb.FrameDecorator import DAPFrameDecorator
diff --git a/gdb/testsuite/gdb.dap/type_check.py b/gdb/testsuite/gdb.dap/type_check.py
index 513995b5571..81b106a595f 100644
--- a/gdb/testsuite/gdb.dap/type_check.py
+++ b/gdb/testsuite/gdb.dap/type_check.py
@@ -16,6 +16,7 @@
# Test the type checker.
import typing
+
from gdb.dap.typecheck import type_check
diff --git a/gdb/testsuite/gdb.perf/gmonster-null-lookup.py b/gdb/testsuite/gdb.perf/gmonster-null-lookup.py
index b6cbcf3e825..0d5ba768843 100644
--- a/gdb/testsuite/gdb.perf/gmonster-null-lookup.py
+++ b/gdb/testsuite/gdb.perf/gmonster-null-lookup.py
@@ -17,9 +17,7 @@
# Efficient handling of this case is important, and not just for typos.
# Sometimes the debug info for the needed object isn't present.
-from perftest import perftest
-from perftest import measure
-from perftest import utils
+from perftest import measure, perftest, utils
class NullLookup(perftest.TestCaseWithBasicMeasurements):
diff --git a/gdb/testsuite/gdb.perf/gmonster-pervasive-typedef.py b/gdb/testsuite/gdb.perf/gmonster-pervasive-typedef.py
index 048cf7af2d0..3e239f5292b 100644
--- a/gdb/testsuite/gdb.perf/gmonster-pervasive-typedef.py
+++ b/gdb/testsuite/gdb.perf/gmonster-pervasive-typedef.py
@@ -17,9 +17,7 @@
# typedef used pervasively. This exercises the perf regression introduced by
# the original patch to pr 16253.
-from perftest import perftest
-from perftest import measure
-from perftest import utils
+from perftest import measure, perftest, utils
class PervasiveTypedef(perftest.TestCaseWithBasicMeasurements):
diff --git a/gdb/testsuite/gdb.perf/gmonster-print-cerr.py b/gdb/testsuite/gdb.perf/gmonster-print-cerr.py
index 97f454b25fb..4f57b860bdd 100644
--- a/gdb/testsuite/gdb.perf/gmonster-print-cerr.py
+++ b/gdb/testsuite/gdb.perf/gmonster-print-cerr.py
@@ -25,9 +25,7 @@
# is that here we do not pre-expand the symtab: we don't want include
# GDB's slowness in searching expanded symtabs first to color these results.
-from perftest import perftest
-from perftest import measure
-from perftest import utils
+from perftest import measure, perftest, utils
class PrintCerr(perftest.TestCaseWithBasicMeasurements):
diff --git a/gdb/testsuite/gdb.perf/gmonster-ptype-string.py b/gdb/testsuite/gdb.perf/gmonster-ptype-string.py
index 7ecc221378a..0c000ef5bb3 100644
--- a/gdb/testsuite/gdb.perf/gmonster-ptype-string.py
+++ b/gdb/testsuite/gdb.perf/gmonster-ptype-string.py
@@ -19,9 +19,7 @@
# these before it searches the index (there is work-in-progress to fix this),
# this test helps measure the issue.
-from perftest import perftest
-from perftest import measure
-from perftest import utils
+from perftest import measure, perftest, utils
class GmonsterPtypeString(perftest.TestCaseWithBasicMeasurements):
diff --git a/gdb/testsuite/gdb.perf/gmonster-runto-main.py b/gdb/testsuite/gdb.perf/gmonster-runto-main.py
index e69036763a6..a183d68d012 100644
--- a/gdb/testsuite/gdb.perf/gmonster-runto-main.py
+++ b/gdb/testsuite/gdb.perf/gmonster-runto-main.py
@@ -15,9 +15,7 @@
# Measure performance of running to main.
-from perftest import perftest
-from perftest import measure
-from perftest import utils
+from perftest import measure, perftest, utils
class GmonsterRuntoMain(perftest.TestCaseWithBasicMeasurements):
diff --git a/gdb/testsuite/gdb.perf/gmonster-select-file.py b/gdb/testsuite/gdb.perf/gmonster-select-file.py
index 211211236fb..4708458384e 100644
--- a/gdb/testsuite/gdb.perf/gmonster-select-file.py
+++ b/gdb/testsuite/gdb.perf/gmonster-select-file.py
@@ -15,9 +15,7 @@
# Measure performance of selecting a file to debug.
-from perftest import perftest
-from perftest import measure
-from perftest import utils
+from perftest import measure, perftest, utils
class GmonsterSelectFile(perftest.TestCaseWithBasicMeasurements):
diff --git a/gdb/testsuite/gdb.perf/lib/perftest/measure.py b/gdb/testsuite/gdb.perf/lib/perftest/measure.py
index 942b1c4774d..00a1a9ada2b 100644
--- a/gdb/testsuite/gdb.perf/lib/perftest/measure.py
+++ b/gdb/testsuite/gdb.perf/lib/perftest/measure.py
@@ -13,10 +13,10 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-import time
-import os
import gc
+import os
import sys
+import time
# time.perf_counter() and time.process_time() were added in Python
# 3.3, time.clock() was removed in Python 3.8.
diff --git a/gdb/testsuite/gdb.perf/lib/perftest/perftest.py b/gdb/testsuite/gdb.perf/lib/perftest/perftest.py
index caaae13c5b6..40ed9cc0d68 100644
--- a/gdb/testsuite/gdb.perf/lib/perftest/perftest.py
+++ b/gdb/testsuite/gdb.perf/lib/perftest/perftest.py
@@ -15,13 +15,15 @@
from __future__ import absolute_import
-import perftest.testresult as testresult
import perftest.reporter as reporter
-from perftest.measure import Measure
-from perftest.measure import MeasurementPerfCounter
-from perftest.measure import MeasurementProcessTime
-from perftest.measure import MeasurementWallTime
-from perftest.measure import MeasurementVmSize
+import perftest.testresult as testresult
+from perftest.measure import (
+ Measure,
+ MeasurementPerfCounter,
+ MeasurementProcessTime,
+ MeasurementVmSize,
+ MeasurementWallTime,
+)
class TestCase(object):
diff --git a/gdb/testsuite/gdb.perf/solib.py b/gdb/testsuite/gdb.perf/solib.py
index 0dd1d7429be..470009667e8 100644
--- a/gdb/testsuite/gdb.perf/solib.py
+++ b/gdb/testsuite/gdb.perf/solib.py
@@ -16,8 +16,7 @@
# This test case is to test the speed of GDB when it is handling the
# shared libraries of inferior are loaded and unloaded.
-from perftest import perftest
-from perftest import measure
+from perftest import measure, perftest
class SolibLoadUnload1(perftest.TestCaseWithBasicMeasurements):
diff --git a/gdb/testsuite/gdb.python/py-autoloaded-pretty-printers-in-newobjfile-event.py b/gdb/testsuite/gdb.python/py-autoloaded-pretty-printers-in-newobjfile-event.py
index 97dc3758079..d63c0877199 100644
--- a/gdb/testsuite/gdb.python/py-autoloaded-pretty-printers-in-newobjfile-event.py
+++ b/gdb/testsuite/gdb.python/py-autoloaded-pretty-printers-in-newobjfile-event.py
@@ -18,9 +18,10 @@
# registered when a custom event handler for the new_objfile event
# is called.
-import gdb
import os
+import gdb
+
def new_objfile_handler(event):
assert isinstance(event, gdb.NewObjFileEvent)
diff --git a/gdb/testsuite/gdb.python/py-bad-printers.py b/gdb/testsuite/gdb.python/py-bad-printers.py
index 068c00140a3..ac9c35e6a90 100644
--- a/gdb/testsuite/gdb.python/py-bad-printers.py
+++ b/gdb/testsuite/gdb.python/py-bad-printers.py
@@ -19,6 +19,7 @@
# Test a printer with a bad children iterator.
import re
+
import gdb.printing
diff --git a/gdb/testsuite/gdb.python/py-disasm.py b/gdb/testsuite/gdb.python/py-disasm.py
index 281ce6b8c2a..c09eae811ee 100644
--- a/gdb/testsuite/gdb.python/py-disasm.py
+++ b/gdb/testsuite/gdb.python/py-disasm.py
@@ -13,11 +13,11 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-import gdb
-import gdb.disassembler
import struct
import sys
+import gdb
+import gdb.disassembler
from gdb.disassembler import Disassembler, DisassemblerResult
# A global, holds the program-counter address at which we should
diff --git a/gdb/testsuite/gdb.python/py-event-load.py b/gdb/testsuite/gdb.python/py-event-load.py
index 0c9e736a0bb..cffd5c0a15d 100644
--- a/gdb/testsuite/gdb.python/py-event-load.py
+++ b/gdb/testsuite/gdb.python/py-event-load.py
@@ -17,7 +17,6 @@
import gdb
-
freed_objfile = None
diff --git a/gdb/testsuite/gdb.python/py-frame-args.py b/gdb/testsuite/gdb.python/py-frame-args.py
index abf89ac20f9..04ab1ac4672 100644
--- a/gdb/testsuite/gdb.python/py-frame-args.py
+++ b/gdb/testsuite/gdb.python/py-frame-args.py
@@ -14,6 +14,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import re
+
import gdb
diff --git a/gdb/testsuite/gdb.python/py-framefilter-addr.py b/gdb/testsuite/gdb.python/py-framefilter-addr.py
index 7c64440b59c..c22d91c10ba 100644
--- a/gdb/testsuite/gdb.python/py-framefilter-addr.py
+++ b/gdb/testsuite/gdb.python/py-framefilter-addr.py
@@ -13,10 +13,11 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-import gdb
+import copy
import itertools
+
+import gdb
from gdb.FrameDecorator import FrameDecorator
-import copy
# A FrameDecorator that just returns gdb.Frame.pc () from 'function'.
diff --git a/gdb/testsuite/gdb.python/py-framefilter-gdb.py b/gdb/testsuite/gdb.python/py-framefilter-gdb.py
index 2b786913243..ada7ad72e4c 100644
--- a/gdb/testsuite/gdb.python/py-framefilter-gdb.py
+++ b/gdb/testsuite/gdb.python/py-framefilter-gdb.py
@@ -13,10 +13,11 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
+import itertools
+
# This file is part of the GDB testsuite. It tests Python-based
# frame-filters.
import gdb
-import itertools
from gdb.FrameDecorator import FrameDecorator
diff --git a/gdb/testsuite/gdb.python/py-framefilter-invalidarg-gdb.py b/gdb/testsuite/gdb.python/py-framefilter-invalidarg-gdb.py
index 60e81fc2f88..fbe0c0d4a94 100644
--- a/gdb/testsuite/gdb.python/py-framefilter-invalidarg-gdb.py
+++ b/gdb/testsuite/gdb.python/py-framefilter-invalidarg-gdb.py
@@ -13,10 +13,11 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
+import itertools
+
# This file is part of the GDB testsuite. It tests Python-based
# frame-filters.
import gdb
-import itertools
from gdb.FrameDecorator import FrameDecorator
diff --git a/gdb/testsuite/gdb.python/py-framefilter-invalidarg.py b/gdb/testsuite/gdb.python/py-framefilter-invalidarg.py
index 0793a2875d8..cb25cd9902c 100644
--- a/gdb/testsuite/gdb.python/py-framefilter-invalidarg.py
+++ b/gdb/testsuite/gdb.python/py-framefilter-invalidarg.py
@@ -13,12 +13,13 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
+import copy
+import itertools
+
# This file is part of the GDB testsuite. It tests Python-based
# frame-filters.
import gdb
-import itertools
from gdb.FrameDecorator import FrameDecorator
-import copy
class Reverse_Function(FrameDecorator):
diff --git a/gdb/testsuite/gdb.python/py-framefilter.py b/gdb/testsuite/gdb.python/py-framefilter.py
index 720fbf920d0..fb679f18b4f 100644
--- a/gdb/testsuite/gdb.python/py-framefilter.py
+++ b/gdb/testsuite/gdb.python/py-framefilter.py
@@ -13,12 +13,13 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
+import copy
+import itertools
+
# This file is part of the GDB testsuite. It tests Python-based
# frame-filters.
import gdb
-import itertools
from gdb.FrameDecorator import FrameDecorator
-import copy
class Reverse_Function(FrameDecorator):
diff --git a/gdb/testsuite/gdb.python/py-inferior-leak.py b/gdb/testsuite/gdb.python/py-inferior-leak.py
index c3e88015e99..ae3629a76a0 100644
--- a/gdb/testsuite/gdb.python/py-inferior-leak.py
+++ b/gdb/testsuite/gdb.python/py-inferior-leak.py
@@ -13,9 +13,10 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
+import re
import tracemalloc
+
import gdb
-import re
# A global variable in which we store a reference to the gdb.Inferior
# object sent to us in the new_inferior event.
diff --git a/gdb/testsuite/gdb.python/py-mi-var-info-path-expression.py b/gdb/testsuite/gdb.python/py-mi-var-info-path-expression.py
index 21843e0d7ab..889188fb403 100644
--- a/gdb/testsuite/gdb.python/py-mi-var-info-path-expression.py
+++ b/gdb/testsuite/gdb.python/py-mi-var-info-path-expression.py
@@ -14,6 +14,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import sys
+
import gdb
import gdb.types
diff --git a/gdb/testsuite/gdb.python/py-missing-debug.py b/gdb/testsuite/gdb.python/py-missing-debug.py
index 502180336ab..c1bafdd6c26 100644
--- a/gdb/testsuite/gdb.python/py-missing-debug.py
+++ b/gdb/testsuite/gdb.python/py-missing-debug.py
@@ -13,10 +13,11 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
+import os
+from enum import Enum
+
import gdb
from gdb.missing_debug import MissingDebugHandler
-from enum import Enum
-import os
# A global log that is filled in by instances of the LOG_HANDLER class
# when they are called.
diff --git a/gdb/testsuite/gdb.python/py-nested-maps.py b/gdb/testsuite/gdb.python/py-nested-maps.py
index e949941df82..ac04bbff597 100644
--- a/gdb/testsuite/gdb.python/py-nested-maps.py
+++ b/gdb/testsuite/gdb.python/py-nested-maps.py
@@ -17,6 +17,7 @@
# nested map like structures.
import re
+
import gdb
diff --git a/gdb/testsuite/gdb.python/py-pp-integral.py b/gdb/testsuite/gdb.python/py-pp-integral.py
index 4c981d62564..089ca5ba69b 100644
--- a/gdb/testsuite/gdb.python/py-pp-integral.py
+++ b/gdb/testsuite/gdb.python/py-pp-integral.py
@@ -14,6 +14,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from time import asctime, gmtime
+
import gdb # silence pyflakes
diff --git a/gdb/testsuite/gdb.python/py-pp-maint.py b/gdb/testsuite/gdb.python/py-pp-maint.py
index 598c5441cb8..91c193fb8ca 100644
--- a/gdb/testsuite/gdb.python/py-pp-maint.py
+++ b/gdb/testsuite/gdb.python/py-pp-maint.py
@@ -17,8 +17,9 @@
# printers.
import re
-import gdb.types
+
import gdb.printing
+import gdb.types
def lookup_function_lookup_test(val):
diff --git a/gdb/testsuite/gdb.python/py-pp-re-notag.py b/gdb/testsuite/gdb.python/py-pp-re-notag.py
index 9cc889f819f..6aefad13d85 100644
--- a/gdb/testsuite/gdb.python/py-pp-re-notag.py
+++ b/gdb/testsuite/gdb.python/py-pp-re-notag.py
@@ -14,6 +14,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from time import asctime, gmtime
+
import gdb # silence pyflakes
diff --git a/gdb/testsuite/gdb.python/py-pp-registration.py b/gdb/testsuite/gdb.python/py-pp-registration.py
index c87f75dc56f..1b7eff8ceba 100644
--- a/gdb/testsuite/gdb.python/py-pp-registration.py
+++ b/gdb/testsuite/gdb.python/py-pp-registration.py
@@ -17,8 +17,9 @@
# printer registration.
import re
-import gdb.types
+
import gdb.printing
+import gdb.types
def lookup_function_lookup_test(val):
diff --git a/gdb/testsuite/gdb.python/py-prettyprint.py b/gdb/testsuite/gdb.python/py-prettyprint.py
index 79c06dd774f..e4ac3e1e510 100644
--- a/gdb/testsuite/gdb.python/py-prettyprint.py
+++ b/gdb/testsuite/gdb.python/py-prettyprint.py
@@ -17,6 +17,7 @@
# printers.
import re
+
import gdb
diff --git a/gdb/testsuite/gdb.python/py-send-packet.py b/gdb/testsuite/gdb.python/py-send-packet.py
index 93b0a79f3c5..402b0397bc7 100644
--- a/gdb/testsuite/gdb.python/py-send-packet.py
+++ b/gdb/testsuite/gdb.python/py-send-packet.py
@@ -14,6 +14,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import xml.etree.ElementTree as ET
+
import gdb
diff --git a/gdb/testsuite/gdb.python/py-unwind-maint.py b/gdb/testsuite/gdb.python/py-unwind-maint.py
index f87263d85fe..1d049a999f4 100644
--- a/gdb/testsuite/gdb.python/py-unwind-maint.py
+++ b/gdb/testsuite/gdb.python/py-unwind-maint.py
@@ -16,6 +16,7 @@
# This file is part of the GDB testsuite. It tests python unwinders.
import re
+
import gdb.types
from gdb.unwinder import Unwinder, register_unwinder
diff --git a/gdb/testsuite/gdb.python/py-unwind.py b/gdb/testsuite/gdb.python/py-unwind.py
index 6073e585169..62bfb09f443 100644
--- a/gdb/testsuite/gdb.python/py-unwind.py
+++ b/gdb/testsuite/gdb.python/py-unwind.py
@@ -14,8 +14,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import gdb
-from gdb.unwinder import Unwinder, FrameId
-
+from gdb.unwinder import FrameId, Unwinder
# These are set to test whether invalid register names cause an error.
add_saved_register_errors = {}
diff --git a/gdb/testsuite/gdb.python/py-xmethods.py b/gdb/testsuite/gdb.python/py-xmethods.py
index 54bd10b1cbd..a2b8d578c66 100644
--- a/gdb/testsuite/gdb.python/py-xmethods.py
+++ b/gdb/testsuite/gdb.python/py-xmethods.py
@@ -16,12 +16,10 @@
# This file is part of the GDB testsuite. It test the xmethods support
# in the Python extension language.
-import gdb
import re
-from gdb.xmethod import XMethod
-from gdb.xmethod import XMethodMatcher, XMethodWorker
-from gdb.xmethod import SimpleXMethodMatcher
+import gdb
+from gdb.xmethod import SimpleXMethodMatcher, XMethod, XMethodMatcher, XMethodWorker
def A_plus_A(obj, opr):
diff --git a/gdb/testsuite/gdb.rust/pp.py b/gdb/testsuite/gdb.rust/pp.py
index 356737bd794..fbc0868f83a 100644
--- a/gdb/testsuite/gdb.rust/pp.py
+++ b/gdb/testsuite/gdb.rust/pp.py
@@ -17,6 +17,7 @@
# printers.
import re
+
import gdb
diff --git a/gdb/testsuite/print-ts.py b/gdb/testsuite/print-ts.py
index 086c293eeac..0a832ba7b93 100755
--- a/gdb/testsuite/print-ts.py
+++ b/gdb/testsuite/print-ts.py
@@ -30,10 +30,10 @@
# FORMAT must be a string compatible with "strftime". If nothing is
# provided, we choose a reasonable format.
-import fileinput
import datetime
-import sys
+import fileinput
import os
+import sys
if len(sys.argv) > 1:
fmt = sys.argv[1]
--
2.43.0
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 0/2] Use isort in gdb
2024-03-20 16:38 [PATCH 0/2] Use isort in gdb Tom Tromey
2024-03-20 16:38 ` [PATCH 1/2] Prepare gdb for isort Tom Tromey
2024-03-20 16:38 ` [PATCH 2/2] Run isort Tom Tromey
@ 2024-03-20 19:03 ` Simon Marchi
2 siblings, 0 replies; 5+ messages in thread
From: Simon Marchi @ 2024-03-20 19:03 UTC (permalink / raw)
To: Tom Tromey, gdb-patches
On 3/20/24 12:38, Tom Tromey wrote:
> This short series changes the gdb Python code to use 'isort', a
> program to keep Python imports tidy.
>
> It's based on my earlier flake8 series.
>
> Once both of these series are in, we can look at updating the
> pre-commit config to run flake8 and isort.
>
> Tom
>
I'm a happy isort user in another project) so 👍.
Approved-By: Simon Marchi <simon.marchi@efficios.com>
Simon
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 2/2] Run isort
2024-03-20 16:38 ` [PATCH 2/2] Run isort Tom Tromey
@ 2024-04-02 17:20 ` Tom Tromey
0 siblings, 0 replies; 5+ messages in thread
From: Tom Tromey @ 2024-04-02 17:20 UTC (permalink / raw)
To: Tom Tromey; +Cc: gdb-patches
>>>>> "Tom" == Tom Tromey <tromey@adacore.com> writes:
Tom> This patch is the result of running 'isort .' in the gdb directory.
Tom> diff --git a/gdb/python/lib/gdb/__init__.py b/gdb/python/lib/gdb/__init__.py
Tom> index 5b96605240e..3589117d411 100644
Tom> --- a/gdb/python/lib/gdb/__init__.py
Tom> +++ b/gdb/python/lib/gdb/__init__.py
Tom> # Note that two indicators are needed here to silence flake8.
Tom> -# isort: split
Tom> from _gdb import * # noqa: F401,F403
Tom> +# isort: split
Tom> +
Tom> # Historically, gdb.events was always available, so ensure it's
Tom> # still available without an explicit import.
Tom> +# isort: split
Tom> import _gdbevents as events
I forgot I had tried changing how the splits were done. I moved this
bit into the first patch (and also removed the second split, as it isn't
needed). There was also a similar change in dap/__init__.py.
I verified that this doesn't impact anything -- isort still generates
the same output.
I'm checking these in.
Tom
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2024-04-02 17:20 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-03-20 16:38 [PATCH 0/2] Use isort in gdb Tom Tromey
2024-03-20 16:38 ` [PATCH 1/2] Prepare gdb for isort Tom Tromey
2024-03-20 16:38 ` [PATCH 2/2] Run isort Tom Tromey
2024-04-02 17:20 ` Tom Tromey
2024-03-20 19:03 ` [PATCH 0/2] Use isort in gdb Simon Marchi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).