All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wander Lairson Costa <wander@redhat.com>
To: Gabriele Monaco <gmonaco@redhat.com>
Cc: Steven Rostedt <rostedt@goodmis.org>,
	Nam Cao <namcao@linutronix.de>,
	 open list <linux-kernel@vger.kernel.org>,
	 "open list:RUNTIME VERIFICATION (RV)"
	<linux-trace-kernel@vger.kernel.org>
Subject: Re: [PATCH 26/26] rv/rvgen: extract node marker string to class constant
Date: Tue, 20 Jan 2026 08:34:06 -0300	[thread overview]
Message-ID: <aW9nfu8r0YcGj0z5@fedora> (raw)
In-Reply-To: <0383d9a3fdaeb2b66e48a7857791bcbfe324958d.camel@redhat.com>

On Tue, Jan 20, 2026 at 10:03:20AM +0100, Gabriele Monaco wrote:
> On Mon, 2026-01-19 at 17:46 -0300, Wander Lairson Costa wrote:
> > Add a node_marker class constant to the Automata class to replace the
> > hardcoded "{node" string literal used throughout the DOT file parsing
> > logic. This follows the existing pattern established by the init_marker
> > and invalid_state_str class constants in the same class.
> > 
> > The "{node" string is used as a marker to identify node declaration
> > lines in DOT files during state variable extraction and cursor
> > positioning. Extracting it to a named constant improves code
> > maintainability and makes the marker's purpose explicit.
> > 
> > Signed-off-by: Wander Lairson Costa <wander@redhat.com>
> 
> Looks fine for me, thanks!
> 
> I wonder if we could merge this patch with 15/26 that is introducing a very
> similar change on init_marker.

The idea was to make each patch doing one thing to make the reviewer's
life easier (I think I broke my own rule in a couple of patch). But if
there is a strong feeling about the merge, I could merged them in a
possible v2 patch series.

> 
> Anyway:
> 
> Reviewed-by: Gabriele Monaco <gmonaco@redhat.com>
> 
> > ---
> >  tools/verification/rvgen/rvgen/automata.py | 9 +++++----
> >  1 file changed, 5 insertions(+), 4 deletions(-)
> > 
> > diff --git a/tools/verification/rvgen/rvgen/automata.py
> > b/tools/verification/rvgen/rvgen/automata.py
> > index a6889d0c26c3f..5f23db1855cd3 100644
> > --- a/tools/verification/rvgen/rvgen/automata.py
> > +++ b/tools/verification/rvgen/rvgen/automata.py
> > @@ -29,6 +29,7 @@ class Automata:
> >  
> >      invalid_state_str = "INVALID_STATE"
> >      init_marker = "__init_"
> > +    node_marker = "{node"
> >  
> >      def __init__(self, file_path, model_name=None):
> >          self.__dot_path = file_path
> > @@ -76,7 +77,7 @@ class Automata:
> >          for cursor, line in enumerate(self.__dot_lines):
> >              split_line = line.split()
> >  
> > -            if len(split_line) and split_line[0] == "{node":
> > +            if len(split_line) and split_line[0] == self.node_marker:
> >                  return cursor
> >  
> >          raise AutomataError("Could not find a beginning state")
> > @@ -91,9 +92,9 @@ class Automata:
> >                  continue
> >  
> >              if state == 0:
> > -                if line[0] == "{node":
> > +                if line[0] == self.node_marker:
> >                      state = 1
> > -            elif line[0] != "{node":
> > +            elif line[0] != self.node_marker:
> >                  break
> >          else:
> >              raise AutomataError("Could not find beginning event")
> > @@ -116,7 +117,7 @@ class Automata:
> >          # process nodes
> >          for line in islice(self.__dot_lines, cursor, None):
> >              split_line = line.split()
> > -            if not split_line or split_line[0] != "{node":
> > +            if not split_line or split_line[0] != self.node_marker:
> >                  break
> >  
> >              raw_state = split_line[-1]


  reply	other threads:[~2026-01-20 11:34 UTC|newest]

Thread overview: 95+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-19 20:45 [PATCH 00/26] rv/rvgen: Robustness, modernization, and fixes Wander Lairson Costa
2026-01-19 20:45 ` [PATCH 01/26] rv/rvgen: introduce AutomataError exception class Wander Lairson Costa
2026-01-20  7:33   ` Gabriele Monaco
2026-01-20 12:39     ` Wander Lairson Costa
2026-01-20 15:08       ` Gabriele Monaco
2026-01-22 14:39         ` Nam Cao
2026-01-19 20:45 ` [PATCH 02/26] rv/rvgen: remove bare except clauses in generator Wander Lairson Costa
2026-01-20 10:05   ` Gabriele Monaco
2026-01-22 14:43   ` Nam Cao
2026-01-19 20:45 ` [PATCH 03/26] rv/rvgen: replace % string formatting with f-strings Wander Lairson Costa
2026-01-20 10:02   ` Gabriele Monaco
2026-01-22 14:46   ` Nam Cao
2026-01-19 20:45 ` [PATCH 04/26] rv/rvgen: replace __len__() calls with len() Wander Lairson Costa
2026-01-20  7:41   ` Gabriele Monaco
2026-01-22 14:46   ` Nam Cao
2026-01-19 20:45 ` [PATCH 05/26] rv/rvgen: remove unnecessary semicolons Wander Lairson Costa
2026-01-20  7:42   ` Gabriele Monaco
2026-01-22 14:47   ` Nam Cao
2026-01-19 20:45 ` [PATCH 06/26] rv/rvgen: use context managers for file operations Wander Lairson Costa
2026-01-20  7:44   ` Gabriele Monaco
2026-01-22 14:50   ` Nam Cao
2026-01-19 20:45 ` [PATCH 07/26] rv/rvgen: replace __contains__() with in operator Wander Lairson Costa
2026-01-20  7:45   ` Gabriele Monaco
2026-01-22 14:51   ` Nam Cao
2026-01-19 20:45 ` [PATCH 08/26] rv/rvgen: simplify boolean comparison Wander Lairson Costa
2026-01-20  7:48   ` Gabriele Monaco
2026-01-22 14:51   ` Nam Cao
2026-01-19 20:45 ` [PATCH 09/26] rv/rvgen: replace inline NotImplemented with decorator Wander Lairson Costa
2026-01-21 13:43   ` Gabriele Monaco
2026-01-21 17:49     ` Wander Lairson Costa
2026-01-22 14:57   ` Nam Cao
2026-01-19 20:45 ` [PATCH 10/26] rv/rvgen: fix typos in automata docstring and comments Wander Lairson Costa
2026-01-22 14:58   ` Nam Cao
2026-01-19 20:45 ` [PATCH 11/26] rv/rvgen: fix typo in generator module docstring Wander Lairson Costa
2026-01-20  7:51   ` Gabriele Monaco
2026-01-22 14:59   ` Nam Cao
2026-01-19 20:45 ` [PATCH 12/26] rv/rvgen: fix PEP 8 whitespace violations Wander Lairson Costa
2026-01-20  7:53   ` Gabriele Monaco
2026-01-22 14:59   ` Nam Cao
2026-01-19 20:45 ` [PATCH 13/26] rv/rvgen: fix DOT file validation logic error Wander Lairson Costa
2026-01-20  7:56   ` Gabriele Monaco
2026-01-22 15:01   ` Nam Cao
2026-01-19 20:45 ` [PATCH 14/26] rv/rvgen: remove redundant initial_state removal Wander Lairson Costa
2026-01-20  8:01   ` Gabriele Monaco
2026-01-20 12:05     ` Wander Lairson Costa
2026-01-19 20:45 ` [PATCH 15/26] rv/rvgen: use class constant for init marker Wander Lairson Costa
2026-01-20  8:06   ` Gabriele Monaco
2026-01-22 15:02   ` Nam Cao
2026-01-19 20:45 ` [PATCH 16/26] rv/rvgen: fix unbound initial_state variable Wander Lairson Costa
2026-01-20  8:21   ` Gabriele Monaco
2026-01-20 11:42     ` Wander Lairson Costa
2026-01-20 11:53       ` Gabriele Monaco
2026-01-19 20:45 ` [PATCH 17/26] rv/rvgen: fix possibly unbound variable in ltl2k Wander Lairson Costa
2026-01-20  8:59   ` Gabriele Monaco
2026-01-20 11:37     ` Wander Lairson Costa
2026-01-20 12:30       ` Gabriele Monaco
2026-01-20 19:38         ` Wander Lairson Costa
2026-01-21  6:31           ` Gabriele Monaco
2026-01-22 15:31   ` Nam Cao
2026-01-19 20:45 ` [PATCH 18/26] rv/rvgen: add fill_tracepoint_args_skel stub to ltl2k Wander Lairson Costa
2026-01-21 13:57   ` Gabriele Monaco
2026-01-21 17:53     ` Wander Lairson Costa
2026-01-22 13:10       ` Wander Lairson Costa
2026-01-22 13:49         ` Gabriele Monaco
2026-01-23 12:19           ` Wander Lairson Costa
2026-01-23 12:26             ` Gabriele Monaco
2026-01-23 14:04               ` Wander Lairson Costa
2026-01-19 20:45 ` [PATCH 19/26] rv/rvgen: add abstract method stubs to Container class Wander Lairson Costa
2026-01-21 13:59   ` Gabriele Monaco
2026-01-21 17:56     ` Wander Lairson Costa
2026-01-22 15:33     ` Nam Cao
2026-01-19 20:45 ` [PATCH 20/26] rv/rvgen: refactor automata.py to use iterator-based parsing Wander Lairson Costa
2026-01-20  9:43   ` Gabriele Monaco
2026-01-22 15:35     ` Nam Cao
2026-01-22 15:40       ` Gabriele Monaco
2026-01-22 16:01         ` Nam Cao
2026-01-19 20:45 ` [PATCH 21/26] rv/rvgen: remove unused sys import from dot2c Wander Lairson Costa
2026-01-20  9:16   ` Gabriele Monaco
2026-01-19 20:45 ` [PATCH 22/26] rv/rvgen: remove unused __get_main_name method Wander Lairson Costa
2026-01-20  9:08   ` Gabriele Monaco
2026-01-19 20:45 ` [PATCH 23/26] rv/rvgen: add type annotations to fix pyright errors Wander Lairson Costa
2026-01-22 15:43   ` Nam Cao
2026-01-19 20:46 ` [PATCH 24/26] rv/rvgen: make monitor arguments required in rvgen Wander Lairson Costa
2026-01-20  9:07   ` Gabriele Monaco
2026-01-22 15:44   ` Nam Cao
2026-01-19 20:46 ` [PATCH 25/26] rv/rvgen: fix isinstance check in Variable.expand() Wander Lairson Costa
2026-01-22 15:53   ` Nam Cao
2026-01-19 20:46 ` [PATCH 26/26] rv/rvgen: extract node marker string to class constant Wander Lairson Costa
2026-01-20  9:03   ` Gabriele Monaco
2026-01-20 11:34     ` Wander Lairson Costa [this message]
2026-01-20 12:36       ` Gabriele Monaco
2026-01-20 13:11         ` Gabriele Monaco
2026-01-20 18:56           ` Wander Lairson Costa
2026-01-21  6:16             ` Gabriele Monaco
2026-01-20  7:20 ` [PATCH 00/26] rv/rvgen: Robustness, modernization, and fixes Nam Cao

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aW9nfu8r0YcGj0z5@fedora \
    --to=wander@redhat.com \
    --cc=gmonaco@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-trace-kernel@vger.kernel.org \
    --cc=namcao@linutronix.de \
    --cc=rostedt@goodmis.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.