[dpdk-dev] [PATCH 2/2] meson: add tests app to build

Bruce Richardson bruce.richardson at intel.com
Wed Dec 20 11:23:53 CET 2017


On Mon, Dec 18, 2017 at 11:53:58AM +0000, Harry van Haaren wrote:
> This patch enables the test/test app to be built. It also adds
> the test binary to be a meson-test, which allows the meson test
> infrastructure to be used to run tests.
> 
> Tests are listed using the same test binary, however each test
> sets a different DPDK_TEST environment variable. The string contents
> of this DPDK_TEST env var is entered in the command line interface.
> As such, the familiar test names such as "ring_perf_autotest" etc
> are valid tests to run using this meson test infrastructure.
> 
> Note that the tests are run serially, given that we cannot run
> multiple primary processes at a time. As each test must initialize
> EAL this takes some time depending on the number of hugepages.
> In future, we could improve this to run multiple tests from one
> EAL init, but it is out of scope for this patchset.
> 
> Finally, an option to build the tests is added to the meson build
> options. When disabled, the unit test code in test/test is not
> compiled. The default is set to 'true'. To disable, run:
> 
> $ meson configure -Dtests=false
> 
> Signed-off-by: Harry van Haaren <harry.van.haaren at intel.com>
> ---
>  meson.build           |   1 +
>  meson_options.txt     |   2 +
>  test/meson.build      |  32 +++++++
>  test/test/meson.build | 248 ++++++++++++++++++++++++++++++++++++++++++++++++++
>  4 files changed, 283 insertions(+)
>  create mode 100644 test/meson.build
>  create mode 100644 test/test/meson.build
> 
> diff --git a/meson.build b/meson.build
> index 04eea72..9132594 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -60,6 +60,7 @@ subdir('drivers')
>  # build binaries and installable tools
>  subdir('usertools')
>  subdir('app')
> +subdir('test')
>  
>  # build any examples explicitly requested - useful for developers
>  if get_option('examples') != ''
> diff --git a/meson_options.txt b/meson_options.txt
> index f2558fe..1a674aa 100644
> --- a/meson_options.txt
> +++ b/meson_options.txt
> @@ -18,3 +18,5 @@ option('per_library_versions', type: 'boolean', value: true,
>  	description: 'true: each lib gets its own version number, false: DPDK version used for each lib')
>  option('use_hpet', type: 'boolean', value: false,
>  	description: 'use HPET timer in EAL')
> +option('tests', type: 'boolean', value: true,
> +	description: 'build unit tests')
> diff --git a/test/meson.build b/test/meson.build
> new file mode 100644
> index 0000000..4250eb7
> --- /dev/null
> +++ b/test/meson.build
> @@ -0,0 +1,32 @@
> +#   BSD LICENSE
> +#
> +#   Copyright(c) 2017 Intel Corporation. All rights reserved.
> +#   All rights reserved.
> +#
> +#   Redistribution and use in source and binary forms, with or without
> +#   modification, are permitted provided that the following conditions
> +#   are met:
> +#
> +#     * Redistributions of source code must retain the above copyright
> +#       notice, this list of conditions and the following disclaimer.
> +#     * Redistributions in binary form must reproduce the above copyright
> +#       notice, this list of conditions and the following disclaimer in
> +#       the documentation and/or other materials provided with the
> +#       distribution.
> +#     * Neither the name of Intel Corporation nor the names of its
> +#       contributors may be used to endorse or promote products derived
> +#       from this software without specific prior written permission.
> +#
> +#   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
> +#   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
> +#   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
> +#   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
> +#   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
> +#   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
> +#   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
> +#   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
> +#   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
> +#   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
> +#   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> +
> +subdir('test')

Can you do a V2 of this set with the SPDX tag in place of the license
text. Otherwise, the set looks good enough to me.

/Bruce


More information about the dev mailing list