public inbox for passt-dev@passt.top
 help / color / mirror / code / Atom feed
From: Stefano Brivio <sbrivio@redhat.com>
To: David Gibson <david@gibson.dropbear.id.au>
Cc: passt-dev@passt.top
Subject: Re: [PATCH v6 0/4] New proof-of-concept based exeter tests
Date: Fri, 5 Sep 2025 01:14:28 +0200	[thread overview]
Message-ID: <20250905011428.08542374@elisabeth> (raw)
In-Reply-To: <aLj8sYwdoMl5PbG4@zatzit>

On Thu, 4 Sep 2025 12:42:57 +1000
David Gibson <david@gibson.dropbear.id.au> wrote:

> On Wed, Sep 03, 2025 at 11:14:35PM +0200, Stefano Brivio wrote:
> > On Mon,  1 Sep 2025 14:25:11 +1000
> > David Gibson <david@gibson.dropbear.id.au> wrote:
> >   
> > > Here's a new approach to building passt tests with exeter.  This new
> > > one no longer uses Avocado in the default case, although it would
> > > still be possible to manually run the exeter based tests with Avocado.
> > > 
> > > Here's another draft of my work on testing passt with Avocado and the
> > > exeter library I recently created.  It includes Cleber's patch adding
> > > some basic Avocado tests and builds on that.
> > > 
> > > For now this only does simple tests, to show how the integration could
> > > work.  It adds some new trivial "smoke tests" and converts the linter
> > > and build checks to exeter.  More complex tests will require building
> > > the sinte/pesto library we've discussed.  A lot of the work for that
> > > already exists in my earlier exeter test series, but it will need some
> > > rework to split it into a separate component.
> > > 
> > > v6:
> > >  * Use exeter's new metadata support to print nicer test names  
> > 
> > Thanks, it looks much more readable now.
> > 
> > And to me it looks ready to merge, but I hit something during testing
> > that I'm not quite sure how to solve, assuming it can be considered an
> > issue at all.
> > 
> > Initially, I hadn't upgraded my local copy of exeter, so even smoke
> > tests would fail, until it occurred to me that of course I needed to
> > drop the 'exeter' directory and 'make exeter' again. It's an issue we
> > conceptually already have with mbuto (even though it didn't get
> > breaking changes for months now) and with Podman to some extent.  
> 
> Yes.
> 
> > With exeter, I guess we're going to hit that kind of issue pretty
> > frequently at least in the near future. So I was wondering: should we
> > enforce some form of up-to-date check from test/Makefile?  
> 
> Good point.  We actually already have a mechanism for this: the pull-%
> targets, which we already use for mbuto and podman.  I pull a
> dependency on this for the "make bats" target, but not for regular
> "make assets" so we didn't update exeter.

Ah, right, of course. That actually looks good enough to me.

> I'll respin for this, because I have one other trivial change to make.
> 
> It does occur to me that there's another version of the problem too.
> Once again we already conceptually have it with mbuto and podman, but
> it will be much worse with exeter due to pace of development:
> 
> If (for debugging) we check out an old version of the passt source
> tree, it will still pull the latest version of exeter, which it might
> not be compatible with[0].  The obvious solution - but you might not
> like it much - is git submodules.  They (kind of rightly) have a
> reputation as being a pain to work with, but they do solve exactly
> this problem - qemu uses them heavily and pretty successfully for
> this.

To me it looks like a solution adding permanent complexity to solve a
problem that's, in practice, temporary.

Once exeter is stable enough, we'll just require a recent version. And
before that day, I doubt we'll want to debug / bisect issues by running
any of the exeter-based tests.

Every time I'm debugging a possible regression I come up with some
stand-alone reproducer or manual test. If the test suite had caught the
regression at a given point, then we wouldn't have hit the regression
in the first place.

> > I'm personally fine without it and, given that I plan to update
> > test/README.md soon anyway ('make' under test/ is not mentioned at
> > all), I can mention this kind of problem as well, so it shouldn't be a
> > big deal for others. But I wanted to know if you have thoughts or
> > proposals on the matter, before applying this.
> > 
> > -- 
> > Stefano
> >   
> 
> [0] At some point, I do want to stabilise the exeter interfaces, and
>     be concerned with backwards compatibility, which would largely fix
>     this.  However, at present I'm still finding stuff that wants to
>     change at the exeter level often enough that I think the effort of
>     maintaining compatibility would be prohibitive.

Right, I wouldn't care, I really can't see any practical need.

In practice, the kind of breakages we have right now are something much
more basic: outdated test/README.md and broken test/Makefile which I
couldn't find a moment to take care of, yet. And I still need to
killall -9 nstool every time.

-- 
Stefano


      reply	other threads:[~2025-09-04 23:14 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-01  4:25 [PATCH v6 0/4] New proof-of-concept based exeter tests David Gibson
2025-09-01  4:25 ` [PATCH v6 1/4] test: Extend test scripts to allow running " David Gibson
2025-09-01  4:25 ` [PATCH v6 2/4] test: Run static checkers as " David Gibson
2025-09-01  4:25 ` [PATCH v6 3/4] test: Convert build tests to exeter David Gibson
2025-09-02  7:39   ` Stefano Brivio
2025-09-02 10:41     ` David Gibson
2025-09-02 12:23       ` Stefano Brivio
2025-09-03  0:54         ` David Gibson
2025-09-01  4:25 ` [PATCH v6 4/4] test: Allow exeter & podman tests to be parallel executed with BATS David Gibson
2025-09-03 21:14 ` [PATCH v6 0/4] New proof-of-concept based exeter tests Stefano Brivio
2025-09-04  2:42   ` David Gibson
2025-09-04 23:14     ` Stefano Brivio [this message]

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=20250905011428.08542374@elisabeth \
    --to=sbrivio@redhat.com \
    --cc=david@gibson.dropbear.id.au \
    --cc=passt-dev@passt.top \
    /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.
Code repositories for project(s) associated with this public inbox

	https://passt.top/passt

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 IMAP folder(s).