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@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 11:20:11 +0100	[thread overview]
Message-ID: <YuO0W4Gv7OumIY2e@bricha3-MOBL.ger.corp.intel.com> (raw)
In-Reply-To: <20220729095400.774303-1-david.marchand@redhat.com>

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.

/Bruce

  reply	other threads:[~2022-07-29 10:20 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 [this message]
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
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=YuO0W4Gv7OumIY2e@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).