From: David Marchand <david.marchand@redhat.com>
To: Bruce Richardson <bruce.richardson@intel.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 13:53:04 +0200 [thread overview]
Message-ID: <CAJFAV8z1TZ=7R_M2xTspL1UEA8w9Xk+t5KRBk78bHLafKW6fjg@mail.gmail.com> (raw)
In-Reply-To: <YuO0W4Gv7OumIY2e@bricha3-MOBL.ger.corp.intel.com>
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?
--
David Marchand
next prev parent reply other threads:[~2022-07-29 11:53 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 [this message]
2022-07-29 13:27 ` Bruce Richardson
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='CAJFAV8z1TZ=7R_M2xTspL1UEA8w9Xk+t5KRBk78bHLafKW6fjg@mail.gmail.com' \
--to=david.marchand@redhat.com \
--cc=aconole@redhat.com \
--cc=bruce.richardson@intel.com \
--cc=ciara.power@intel.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).