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 1549CA0613 for ; Mon, 23 Sep 2019 10:56:23 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id B793E1BEB1; Mon, 23 Sep 2019 10:56:22 +0200 (CEST) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id 1E4051BE8F for ; Mon, 23 Sep 2019 10:56:20 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 23 Sep 2019 01:56:19 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,539,1559545200"; d="scan'208";a="203082356" Received: from marcinzx-mobl.ger.corp.intel.com ([10.103.104.110]) by fmsmga001.fm.intel.com with ESMTP; 23 Sep 2019 01:56:18 -0700 From: Marcin Zapolski To: dev@dpdk.org Cc: Marcin Zapolski Date: Mon, 23 Sep 2019 10:52:26 +0200 Message-Id: <20190923085226.1009-1-marcinx.a.zapolski@intel.com> X-Mailer: git-send-email 2.22.0.windows.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH] doc: add code coverage report generation 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" Add unit tests and code coverage reports generation guides to Meson build documentation. Signed-off-by: Marcin Zapolski --- doc/build-sdk-meson.txt | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/doc/build-sdk-meson.txt b/doc/build-sdk-meson.txt index fc7fe37b5..644d1a27b 100644 --- a/doc/build-sdk-meson.txt +++ b/doc/build-sdk-meson.txt @@ -192,3 +192,43 @@ From examples/helloworld/Makefile:: build: @mkdir -p $@ + +Running DPDK unit-tests +----------------------- + +To run all defined unit tests we can use the command:: + + meson test -C build + +from DPDK root direcotry, where build is the project build directory. It is the +equivalent to running:: + + ninja test + +in ``build`` directory. +To run a set of tests belonging to a specific test suite, we can use:: + + meson test -C build --suite + +where can be ``fast-tests``, ``perf-tests``, ``driver-tests`` or +``debug-tests``. + +Generating code coverage reports +-------------------------------- + +To gather code coverage data, we need to give meson the ``-Db_coverage=true`` +command line flag:: + + meson configure -Db_coverage=true + +To generate code coverage reports, the ``gcovr`` tool needs to be installed. On +most linux distributions it is available through the package manager, eg. +``sudo apt-get install gcovr``. +Then, after running the tests, we can generate the reports simply by running:: + + ninja coverage + +in project build directory. The reports will be generated in +``build/meson-logs`` directory, in ``html``, ``xml`` and ``txt`` formats. +To generate the coverage reports in only one format, we can use one of +``coverage-html``, ``coverage-xml`` or ``coverage-txt`` meson targets. -- 2.17.1