From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 7C034A0471 for ; Mon, 12 Aug 2019 14:41:32 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 550AE326D; Mon, 12 Aug 2019 14:41:31 +0200 (CEST) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by dpdk.org (Postfix) with ESMTP id 9D5C427D for ; Mon, 12 Aug 2019 14:41:29 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 12 Aug 2019 05:41:28 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,377,1559545200"; d="scan'208";a="183552181" Received: from irvmail001.ir.intel.com ([163.33.26.43]) by FMSMGA003.fm.intel.com with ESMTP; 12 Aug 2019 05:41:27 -0700 Received: from wgcvswdev001.ir.intel.com (wgcvswdev001.ir.intel.com [10.102.246.100]) by irvmail001.ir.intel.com (8.14.3/8.13.6/MailSET/Hub) with ESMTP id x7CCfQvt003041; Mon, 12 Aug 2019 13:41:26 +0100 Received: from wgcvswdev001.ir.intel.com (localhost [127.0.0.1]) by wgcvswdev001.ir.intel.com with ESMTP id x7CCeqKs006125; Mon, 12 Aug 2019 13:40:52 +0100 Received: (from jmparthx@localhost) by wgcvswdev001.ir.intel.com with œ id x7CCeqxd006120; Mon, 12 Aug 2019 13:40:52 +0100 From: Jananee Parthasarathy To: dev@dpdk.org Cc: reshma.pattan@intel.com, john.mcnamara@intel.com, marko.kovacevic@intel.com, bruce.richardson@intel.com, jananeex.m.parthasarathy@intel.com, Hari Kumar Vemula Date: Mon, 12 Aug 2019 13:40:25 +0100 Message-Id: <1565613625-6079-1-git-send-email-jananeex.m.parthasarathy@intel.com> X-Mailer: git-send-email 1.7.12.2 In-Reply-To: <1565186178-15950-1-git-send-email-agalyax.babu.radhakrishnan@intel.com> References: <1565186178-15950-1-git-send-email-agalyax.babu.radhakrishnan@intel.com> Subject: [dpdk-dev] [PATCH v8] doc: add meson ut info in prog guide X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Hari Kumar Vemula Add a programmer's guide section for meson ut Signed-off-by: Hari Kumar Vemula Acked-by: Bruce Richardson Acked-by: Michael Santana --- v8: Addressed v7 patch comments 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 | 104 ++++++++++++++++++ 3 files changed, 110 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 ---------------------------------------------- +Installing DPDK Using the meson build system +============================================ Summary -------- @@ -162,7 +162,8 @@ command:: For example if the target machine is arm64 we can use the following command:: - 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 source_org dev_kit_build_system dev_kit_root_make_help + build-sdk-meson + meson_ut extend_dpdk build_app ext_app_lib_make_help diff --git a/doc/guides/prog_guide/meson_ut.rst b/doc/guides/prog_guide/meson_ut.rst new file mode 100644 index 000000000..45193ddde --- /dev/null +++ b/doc/guides/prog_guide/meson_ut.rst @@ -0,0 +1,104 @@ +.. 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 install DPDK using meson can be referred +in :doc:`build-sdk-meson` + +Grouping of test cases +---------------------- + +Test cases have been classified into four different groups. + +* Fast tests. +* Performance tests. +* Driver tests. +* Tests which produce lists of objects as output, and therefore that need + manual checking. + +These tests can be run using the argument to ``meson test`` as +``--suite project_name:label``. + +For example:: + + $ meson test -C --suite DPDK:fast-tests + +If the ```` is current working directory, +the ``-C `` option can be skipped as below:: + + $ meson test --suite DPDK:fast-tests + +The project name is optional so the following is equivalent to the previous +command:: + + $ meson test --suite fast-tests + +The meson command to list all available tests:: + + $ meson test --list + +Test cases are run serially by default for better stability. + +Arguments of ``test()`` that can be provided in meson.build are as below: + +* ``is_parallel`` is used to run test case either in parallel or non-parallel mode. +* ``timeout`` is used to specify the timeout of test case. +* ``args`` is used to specify test specific parameters. +* ``env`` is used to specify test specific environment parameters. + + +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. +#. Not enough processing cores. Some tests are skipped on machines with 2 or 4 cores. + +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 +paths. + +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 -- 2.17.2