xref: /dpdk/doc/guides/prog_guide/meson_ut.rst (revision adbeba3639c1f3c2c98e49cfe7ca7939e2166f8a)
1*adbeba36SHari Kumar Vemula..  SPDX-License-Identifier: BSD-3-Clause
2*adbeba36SHari Kumar Vemula    Copyright(c) 2018-2019 Intel Corporation.
3*adbeba36SHari Kumar Vemula
4*adbeba36SHari Kumar VemulaRunning DPDK Unit Tests with Meson
5*adbeba36SHari Kumar Vemula==================================
6*adbeba36SHari Kumar Vemula
7*adbeba36SHari Kumar VemulaThis section describes how to run test cases with the DPDK meson build system.
8*adbeba36SHari Kumar Vemula
9*adbeba36SHari Kumar VemulaSteps to build and install DPDK using meson can be referred
10*adbeba36SHari Kumar Vemulain :doc:`build-sdk-meson`
11*adbeba36SHari Kumar Vemula
12*adbeba36SHari Kumar VemulaGrouping of test cases
13*adbeba36SHari Kumar Vemula----------------------
14*adbeba36SHari Kumar Vemula
15*adbeba36SHari Kumar VemulaTest cases have been classified into four different groups.
16*adbeba36SHari Kumar Vemula
17*adbeba36SHari Kumar Vemula* Fast tests.
18*adbeba36SHari Kumar Vemula* Performance tests.
19*adbeba36SHari Kumar Vemula* Driver tests.
20*adbeba36SHari Kumar Vemula* Tests which produce lists of objects as output, and therefore that need
21*adbeba36SHari Kumar Vemula  manual checking.
22*adbeba36SHari Kumar Vemula
23*adbeba36SHari Kumar VemulaThese tests can be run using the argument to ``meson test`` as
24*adbeba36SHari Kumar Vemula``--suite project_name:label``.
25*adbeba36SHari Kumar Vemula
26*adbeba36SHari Kumar VemulaFor example::
27*adbeba36SHari Kumar Vemula
28*adbeba36SHari Kumar Vemula    $ meson test -C <build path> --suite DPDK:fast-tests
29*adbeba36SHari Kumar Vemula
30*adbeba36SHari Kumar VemulaIf the ``<build path>`` is current working directory,
31*adbeba36SHari Kumar Vemulathe ``-C <build path>`` option can be skipped as below::
32*adbeba36SHari Kumar Vemula
33*adbeba36SHari Kumar Vemula    $ meson test --suite DPDK:fast-tests
34*adbeba36SHari Kumar Vemula
35*adbeba36SHari Kumar VemulaThe project name is optional so the following is equivalent to the previous
36*adbeba36SHari Kumar Vemulacommand::
37*adbeba36SHari Kumar Vemula
38*adbeba36SHari Kumar Vemula    $ meson test --suite fast-tests
39*adbeba36SHari Kumar Vemula
40*adbeba36SHari Kumar VemulaThe meson command to list all available tests::
41*adbeba36SHari Kumar Vemula
42*adbeba36SHari Kumar Vemula    $ meson test --list
43*adbeba36SHari Kumar Vemula
44*adbeba36SHari Kumar VemulaTest cases are run serially by default for better stability.
45*adbeba36SHari Kumar Vemula
46*adbeba36SHari Kumar VemulaArguments of ``test()`` that can be provided in meson.build are as below:
47*adbeba36SHari Kumar Vemula
48*adbeba36SHari Kumar Vemula* ``is_parallel`` is used to run test case either in parallel or non-parallel mode.
49*adbeba36SHari Kumar Vemula* ``timeout`` is used to specify the timeout of test case.
50*adbeba36SHari Kumar Vemula* ``args`` is used to specify test specific parameters.
51*adbeba36SHari Kumar Vemula* ``env`` is used to specify test specific environment parameters.
52*adbeba36SHari Kumar Vemula
53*adbeba36SHari Kumar Vemula
54*adbeba36SHari Kumar VemulaDealing with skipped test cases
55*adbeba36SHari Kumar Vemula-------------------------------
56*adbeba36SHari Kumar Vemula
57*adbeba36SHari Kumar VemulaSome unit test cases have a dependency on external libraries, driver modules
58*adbeba36SHari Kumar Vemulaor config flags, without which the test cases cannot be run. Such test cases
59*adbeba36SHari Kumar Vemulawill be reported as skipped if they cannot run. To enable those test cases,
60*adbeba36SHari Kumar Vemulathe user should ensure the required dependencies are met.
61*adbeba36SHari Kumar VemulaBelow are a few possible causes why tests may be skipped:
62*adbeba36SHari Kumar Vemula
63*adbeba36SHari Kumar Vemula#. Optional external libraries are not found.
64*adbeba36SHari Kumar Vemula#. Config flags for the dependent library are not enabled.
65*adbeba36SHari Kumar Vemula#. Dependent driver modules are not installed on the system.
66*adbeba36SHari Kumar Vemula#. Not enough processing cores. Some tests are skipped on machines with 2 or 4 cores.
67