[libvirt] [PATCH 3/3] scripts: check-aclrules: use regular expressions less often

Erik Skultety eskultet at redhat.com
Fri Nov 22 11:15:13 UTC 2019


On Fri, Nov 22, 2019 at 11:37:31AM +0100, Ján Tomko wrote:
> On Fri, Nov 22, 2019 at 09:00:12AM +0100, Erik Skultety wrote:
> > On Wed, Nov 20, 2019 at 07:32:46PM +0100, Ján Tomko wrote:
> > > Use a simple
> > >   if "substr" in line
> > > before running a regular expression, which saves time,
> > > especially if the regex has a capture group.
> > >
> > > This reduces runtime of the check by almost 78 % for me.
> > >
> > > Signed-off-by: Ján Tomko <jtomko at redhat.com>
> > > ---
> > >  scripts/check-aclrules.py | 26 +++++++++++++++++++-------
> > >  1 file changed, 19 insertions(+), 7 deletions(-)
> > ...
> >
> > >              # every func listed there, has an impl which calls
> > >              # an ACL function
> > >              if intable:
> > > -                assign = re.search(r'''\.(\w+)\s*=\s*(\w+),?''', line)
> > > +                assign = None
> > > +                if '"' in line:
> >
> > ^This doesn't quite work, does it? I don't see any '"' in the driver API
> > mapping structures. The only reliable pattern I see we could use is ', /* '
> > but in order to use that, we'd have to unify a few source files, mainly
> > vz_driver.c, doing:
> >
> > git grep -Enpi ", \s+/\* " | grep driver.c
> >
> > should help identifying them.
>
> Oops, that should've been "=".
>
> I have no idea how I managed to type that equal sign sideways. =)

I thought so, but with the pattern I suggested, you can narrow down the final
set of lines even more, so might turn out to be even faster than a plain "="

Erik




More information about the libvir-list mailing list