[dpdk-dev] [PATCH v7] doc: add meson ut info in prog guide

Agalya Babu RadhaKrishnan agalyax.babu.radhakrishnan at intel.com
Wed Aug 7 15:56:18 CEST 2019

From: Hari Kumar Vemula <hari.kumarx.vemula at intel.com>

Add a programmer's guide section for meson ut

Signed-off-by: Hari Kumar Vemula <hari.kumarx.vemula at intel.com>
Acked-by: Bruce Richardson <bruce.richardson at intel.com>
v7: Updated v6 patch comments
v6: Updated comments
v5: Modified
v4: Typos corrected
v3: Modified
v2: Removed enhancement details
 .../prog_guide/build-sdk-meson.rst}           |  7 +-
 doc/guides/prog_guide/index.rst               |  2 +
 doc/guides/prog_guide/meson_ut.rst            | 92 +++++++++++++++++++
 3 files changed, 98 insertions(+), 3 deletions(-)
 rename doc/{build-sdk-meson.txt => guides/prog_guide/build-sdk-meson.rst} (97%)
 create mode 100644 doc/guides/prog_guide/meson_ut.rst

diff --git a/doc/build-sdk-meson.txt b/doc/guides/prog_guide/build-sdk-meson.rst
similarity index 97%
rename from doc/build-sdk-meson.txt
rename to doc/guides/prog_guide/build-sdk-meson.rst
index fc7fe37b5..34c363694 100644
--- a/doc/build-sdk-meson.txt
+++ b/doc/guides/prog_guide/build-sdk-meson.rst
@@ -1,5 +1,5 @@
+Installing DPDK Using the meson build system
@@ -162,7 +162,8 @@ command::
 For example if the target machine is arm64 we can use the following
-	meson arm-build --cross-file config/arm/arm64_armv8_linux_gcc
+        meson arm-build --cross-file config/arm/arm64_armv8_linux_gcc
 where config/arm/arm64_armv8_linux_gcc contains settings for the compilers
 and other build tools to be used, as well as characteristics of the target
diff --git a/doc/guides/prog_guide/index.rst b/doc/guides/prog_guide/index.rst
index 692409af8..0bab96c58 100644
--- a/doc/guides/prog_guide/index.rst
+++ b/doc/guides/prog_guide/index.rst
@@ -60,6 +60,8 @@ Programmer's Guide
+    build-sdk-meson
+    meson_ut
diff --git a/doc/guides/prog_guide/meson_ut.rst b/doc/guides/prog_guide/meson_ut.rst
new file mode 100644
index 000000000..18392ce04
--- /dev/null
+++ b/doc/guides/prog_guide/meson_ut.rst
@@ -0,0 +1,92 @@
+..  SPDX-License-Identifier: BSD-3-Clause
+    Copyright(c) 2018-2019 Intel Corporation.
+Running DPDK Unit Tests with Meson
+This section describes how to run test cases with the DPDK meson build system.
+Steps to build and run unit test cases using meson can be referred
+in :doc:`build-sdk-meson`
+Grouping of test cases
+Testcases have been grouped into four different groups.
+* Fast tests.
+* Performance tests.
+* Driver tests.
+* Tests which produce lists of objects as output, and therefore that need
+  manual checking.
+Testcases can be run in parallel or non-parallel mode using the ``is_parallel`` argument
+of ``test()`` in meson.build
+These tests can be run using the argument to ``meson test`` as
+``--suite project_name:label``.
+For example::
+    $ meson test --suite DPDK:fast-tests
+The project name is optional so the following is equivalent to the previous
+    $ meson test --suite fast-tests
+The meson command to list all available tests::
+    $ meson test --list
+Dealing with skipped test cases
+Some unit test cases have a dependency on external libraries, driver modules
+or config flags, without which the test cases cannot be run. Such test cases
+will be reported as skipped if they cannot run. To enable those test cases,
+the user should ensure the required dependencies are met.  Below are a few
+possible causes why tests may be skipped and how they may be resolved:
+#. Optional external libraries are not found.
+#. Config flags for the dependent library are not enabled.
+#. Dependent driver modules are not installed on the system.
+To help find missing libraries, the user can specify additional search paths
+for those libraries as below:
+* Single path::
+      $ export LIBRARY_PATH=path
+* Multiple paths::
+      $ export LIBRARY_PATH=path1:path2:path3
+Some functionality may be disabled due to library headers being missed as part
+of the build. To specify an additional search path for headers at
+configuration time, use one of the commands below:
+*  Single path::
+       $ CFLAGS=-I/path meson build
+*  Multiple paths::
+       $ CFLAGS=`-I/path1 -I/path2 meson build`
+Below are some examples that show how to export libraries and their header
+To specify a single library at a time::
+    $ export LIBRARY_PATH=/root/wireless_libs/zuc/
+    $ CFLAGS=-I/root/wireless_libs/zuc/include meson build
+To specify multiple libraries at a time::
+    $ export LIBRARY_PATH=/path/zuc/:/path/libsso_kasumi/build/
+    $ CFLAGS=-I/path/zuc/include \
+             -I/path/libsso_kasumi/include \
+	     meson build

More information about the dev mailing list