DPDK patches and discussions
 help / color / mirror / Atom feed
From: Bruce Richardson <bruce.richardson@intel.com>
To: David Marchand <david.marchand@redhat.com>
Cc: dev <dev@dpdk.org>, Chengwen Feng <fengchengwen@huawei.com>,
	Aaron Conole <aconole@redhat.com>,
	Michael Santana <maicolgabriel@hotmail.com>,
	"Ciara Power" <ciara.power@intel.com>
Subject: Re: [PATCH] app/test: invoke all telemetry commands
Date: Fri, 29 Jul 2022 14:27:34 +0100	[thread overview]
Message-ID: <YuPgRqS4XMLFeOAb@bricha3-MOBL.ger.corp.intel.com> (raw)
In-Reply-To: <CAJFAV8z1TZ=7R_M2xTspL1UEA8w9Xk+t5KRBk78bHLafKW6fjg@mail.gmail.com>

On Fri, Jul 29, 2022 at 01:53:04PM +0200, David Marchand wrote:
> On Fri, Jul 29, 2022 at 12:20 PM Bruce Richardson
> <bruce.richardson@intel.com> wrote:
> >
> > On Fri, Jul 29, 2022 at 11:54:00AM +0200, David Marchand wrote:
> > > Try and call all possible telemetry commands.
> > > Each commands is tested with no argument, 0 (for command that accepts
> > > a single integer like for a port identifier) and z (to catch commands
> > > not properly validating input).
> > > Fake cryptodev, dmadev, ethdev, eventdev and rawdev devices are created
> > > using dummy drivers.
> > >
> > > Output of the commands is not checked, the point of this test is mainly
> > > to catch simple issues and leaks (when coupled with ASan in the CI).
> > >
> > > Signed-off-by: David Marchand <david.marchand@redhat.com>
> > > Acked-by: Chengwen Feng <fengchengwen@huawei.com>
> > > ---
> > >  .github/workflows/build.yml |  2 +-
> > >  app/test/meson.build        | 35 ++++++++++++++++++++++++++++++++++-
> > >  app/test/test_telemetry.sh  | 28 ++++++++++++++++++++++++++++
> > >  3 files changed, 63 insertions(+), 2 deletions(-)
> > >  create mode 100755 app/test/test_telemetry.sh
> > >
> > > diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
> > > index 6f04e7071c..bf17d2b278 100644
> > > --- a/.github/workflows/build.yml
> > > +++ b/.github/workflows/build.yml
> > > @@ -140,7 +140,7 @@ jobs:
> > >        run: sudo apt install -y crossbuild-essential-riscv64
> > >      - name: Install test tools packages
> > >        if: env.AARCH64 != 'true' || env.PPC64LE != 'true' || env.RISCV64 != 'true' || env.RUN_TESTS == 'true'
> > > -      run: sudo apt install -y gdb
> > > +      run: sudo apt install -y gdb jq
> > >      - name: Install doc generation packages
> > >        if: env.BUILD_DOCS == 'true'
> > >        run: sudo apt install -y doxygen graphviz python3-sphinx
> > > diff --git a/app/test/meson.build b/app/test/meson.build
> > > index 431c5bd318..e60fc64a37 100644
> > > --- a/app/test/meson.build
> > > +++ b/app/test/meson.build
> > > @@ -473,12 +473,14 @@ message('hugepage availability: @0@'.format(has_hugepage))
> > >  timeout_seconds = 600
> > >  timeout_seconds_fast = 10
> > >
> > > +test_no_huge_args = ['--no-huge', '-m', '2048']
> > > +
> > >  foreach arg : fast_tests
> > >      test_args = []
> > >      run_test = true
> > >      if not has_hugepage
> > >          if arg[1]
> > > -            test_args += ['--no-huge', '-m', '2048']
> > > +            test_args += test_no_huge_args
> > >          else
> > >              run_test = false
> > >          endif
> > > @@ -520,6 +522,37 @@ foreach arg : fast_tests
> > >      endif
> > >  endforeach
> > >
> > > +if not is_windows and dpdk_conf.has('RTE_LIB_TELEMETRY')
> > > +    test_args = [dpdk_test]
> > > +    test_args += test_no_huge_args
> > > +    if get_option('default_library') == 'shared'
> > > +        foreach drv:dpdk_drivers
> > > +            test_args += ['-d', drv.full_path().split('.a')[0] + '.so']
> > > +        endforeach
> >
> > Rather than looping for each driver and building a huge cmdline, we should
> > just be able to pass in the path to the drivers directory, and have DPDK
> > auto-load all .so files there. Passing in "meson.project_build_root() +
> > '/drivers'" should probably work. If we want a more correct way to get the
> > drivers build directory, we can call meson.current_build_dir() when
> > processing the drivers and save off that value to be reused here.
> 
> Or simply resolve this with a:
> test_args += ['-d', fs.parent(dpdk_drivers[0].full_path())]
> 
> But the problem is that the fs meson module comes with version 0.53 afaics.
> Any elegant alternative idea?
>
I think the approach you have taken in the v2 is best.

  reply	other threads:[~2022-07-29 13:28 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-29  9:54 David Marchand
2022-07-29 10:20 ` Bruce Richardson
2022-07-29 11:13   ` David Marchand
2022-07-29 11:28     ` Bruce Richardson
2022-07-29 11:53   ` David Marchand
2022-07-29 13:27     ` Bruce Richardson [this message]
2022-07-29 13:42       ` David Marchand
2022-07-29 12:42 ` [PATCH v2 1/2] app/test: load drivers using build directory David Marchand
2022-07-29 12:42   ` [PATCH v2 2/2] app/test: invoke all telemetry commands David Marchand
2022-07-29 18:04     ` Aaron Conole
2022-08-16 16:20     ` Power, Ciara
2022-08-26  9:42       ` David Marchand
2022-07-29 13:28   ` [PATCH v2 1/2] app/test: load drivers using build directory Bruce Richardson

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=YuPgRqS4XMLFeOAb@bricha3-MOBL.ger.corp.intel.com \
    --to=bruce.richardson@intel.com \
    --cc=aconole@redhat.com \
    --cc=ciara.power@intel.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=fengchengwen@huawei.com \
    --cc=maicolgabriel@hotmail.com \
    /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 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 NNTP newsgroup(s).