[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <dafb08f254efaa7ba5703b5a0fb17f901ca5fa1c.camel@redhat.com>
Date: Tue, 20 Jan 2026 09:06:47 +0100
From: Gabriele Monaco <gmonaco@...hat.com>
To: Wander Lairson Costa <wander@...hat.com>
Cc: Steven Rostedt <rostedt@...dmis.org>, Nam Cao <namcao@...utronix.de>,
open list <linux-kernel@...r.kernel.org>, "open list:RUNTIME VERIFICATION
(RV)" <linux-trace-kernel@...r.kernel.org>
Subject: Re: [PATCH 15/26] rv/rvgen: use class constant for init marker
On Mon, 2026-01-19 at 17:45 -0300, Wander Lairson Costa wrote:
> Replace hardcoded string literal and magic number with a class
> constant for the initial state marker in DOT file parsing. The
> previous implementation used the magic string "__init_" directly
> in the code along with a hardcoded length of 7 for substring
> extraction, which made the code less maintainable and harder to
> understand.
>
> This change introduces a class constant init_marker to serve as
> a single source of truth for the initial state prefix. The code
> now uses startswith() for clearer intent and calculates the
> substring position dynamically using len(), eliminating the magic
> number. If the marker value needs to change in the future, only
> the constant definition requires updating rather than multiple
> locations in the code.
>
> The refactoring improves code readability and maintainability
> while preserving the exact same runtime behavior.
>
Looks good, thanks.
Reviewed-by: Gabriele Monaco <gmonaco@...hat.com>
> Signed-off-by: Wander Lairson Costa <wander@...hat.com>
> ---
> tools/verification/rvgen/rvgen/automata.py | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/tools/verification/rvgen/rvgen/automata.py
> b/tools/verification/rvgen/rvgen/automata.py
> index b302af3e5133e..8548265955570 100644
> --- a/tools/verification/rvgen/rvgen/automata.py
> +++ b/tools/verification/rvgen/rvgen/automata.py
> @@ -25,6 +25,7 @@ class Automata:
> """
>
> invalid_state_str = "INVALID_STATE"
> + init_marker = "__init_"
>
> def __init__(self, file_path, model_name=None):
> self.__dot_path = file_path
> @@ -96,8 +97,8 @@ class Automata:
>
> # "enabled_fired"}; -> enabled_fired
> state = raw_state.replace('"', '').replace('};', '').replace(',',
> '_')
> - if state[0:7] == "__init_":
> - initial_state = state[7:]
> + if state.startswith(self.init_marker):
> + initial_state = state[len(self.init_marker):]
> else:
> states.append(state)
> if "doublecircle" in self.__dot_lines[cursor]:
Powered by blists - more mailing lists