public inbox for passt-dev@passt.top
 help / color / mirror / code / Atom feed
From: David Gibson <david@gibson.dropbear.id.au>
To: passt-dev@passt.top
Subject: Re: [PATCH v2 00/11] Improve command dispatch in test scripts
Date: Sat, 10 Sep 2022 16:59:22 +1000	[thread overview]
Message-ID: <Yxw1yhwFCs0HkDd1@yekko> (raw)
In-Reply-To: <20220909172127.0878bfba@elisabeth>

[-- Attachment #1: Type: text/plain, Size: 2742 bytes --]

On Fri, Sep 09, 2022 at 05:21:27PM +0200, Stefano Brivio wrote:
> On Thu,  8 Sep 2022 11:49:09 +1000
> David Gibson <david(a)gibson.dropbear.id.au> wrote:
> 
> > Sorry for the resend, but I found and fixed a couple of warts in this
> > series.
> > 
> > The test scripts need to dispatch commands in various different
> > contexts: on the host, in namespaces, and in guests.  Currently this
> > is done by running each context in a tmux pane and simulating typing
> > into that pane using tmux commands.  This has a number of problems:
> > 
> >  * It's slow
> >  * Getting the results from programs is tricky and error prone.  We
> >    can misparse output if:
> >      * The window isn't large enough
> >      * Commands produce output which looks like a shell prompt
> >      * The shell doesn't have the prompt we expect
> >  * A accidental keypress while the tests are running can mess up the
> >    test run
> >  * We have to issue explicit "echo $?" commands to check if things
> >    succeeded
> > 
> > This series adds a new subsystem to the test scripts for dispatching
> > commands which accurately preserves output (both stdout and stderr),
> > and exit codes.
> > 
> > Most of the testsuite is converted to this new system.  For now the
> > distro tests still rely on the old approach, since they have some
> > complications that require additional handling.  That does, alas, mean
> > we have some ugly transitional code remaining.  Oh well, we should be
> > able to clean that up at some point.
> > 
> > This series is pased on the previous series cleaning up the
> > performance tests.
> > 
> > Changes since v1:
> >  * Removed a couple of commented debugging lines in patch 9/11
> >  * Removed a no longer necessary pipe-pane in patch 9/11
> 
> In general, this looks like a big improvement, and I would try to apply
> it basically as it is (I haven't run the tests yet).
> 
> There are a few nits that might need to be addressed. I can fix them up
> on merge, unless you re-spin this, but I'd need some help with the
> comment on 11/11.

I'll send a respin next week when I can re-run the tests.

This weekend I've realized another problem with the current testsuite:
it reacts very poorly if the host has no IPv6 connectivity.  Unusually
for Australia I do have IPv6 at home, but not while I'm travelling
with mobile data.  I could get it using a VPN, of course, but it's a
hassle.

Anyway, that's another reason why having a more controlled artificial
network environment for the tests would be valuable; I'll tackle that
when I can.

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

      reply	other threads:[~2022-09-10  6:59 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-08  1:49 [PATCH v2 00/11] Improve command dispatch in test scripts David Gibson
2022-09-08  1:49 ` [PATCH v2 01/11] test: Correctly match "background" with "wait" commands David Gibson
2022-09-08  1:49 ` [PATCH v2 02/11] test: Context execution helpers David Gibson
2022-09-08  1:49 ` [PATCH v2 03/11] test: Allow a tmux pane to watch commands executed in contexts David Gibson
2022-09-09 15:18   ` Stefano Brivio
2022-09-10  6:36     ` David Gibson
2022-09-08  1:49 ` [PATCH v2 04/11] test: Integration of old-style pane execution and new context execution David Gibson
2022-09-08  1:49 ` [PATCH v2 05/11] test: Issue host commands via context for most tests David Gibson
2022-09-09 15:18   ` Stefano Brivio
2022-09-10  6:38     ` David Gibson
2022-09-08  1:49 ` [PATCH v2 06/11] test: Use new-style contexts for passt pane in the pasta and passt tests David Gibson
2022-09-08  1:49 ` [PATCH v2 07/11] test: Add nsholder utility David Gibson
2022-09-09 15:18   ` Stefano Brivio
2022-09-10  6:45     ` David Gibson
2022-09-08  1:49 ` [PATCH v2 08/11] test: Extend context system to run commands in namespace for pasta tests David Gibson
2022-09-08  1:49 ` [PATCH v2 09/11] test: Use context system for guest commands David Gibson
2022-09-08  1:49 ` [PATCH v2 10/11] test: Use context system for two_guests tests David Gibson
2022-09-08  1:49 ` [PATCH v2 11/11] test: Use new-style command issue for passt_in_ns tests David Gibson
2022-09-09 15:19   ` Stefano Brivio
2022-09-10  6:47     ` David Gibson
2022-09-10 20:40       ` Stefano Brivio
2022-09-09 15:21 ` [PATCH v2 00/11] Improve command dispatch in test scripts Stefano Brivio
2022-09-10  6:59   ` David Gibson [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=Yxw1yhwFCs0HkDd1@yekko \
    --to=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).