From patchwork Fri Aug 2 21:25:51 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aaron Conole X-Patchwork-Id: 57397 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 8C94D1C2F9; Fri, 2 Aug 2019 23:25:58 +0200 (CEST) Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by dpdk.org (Postfix) with ESMTP id E2D1A1C2DA for ; Fri, 2 Aug 2019 23:25:55 +0200 (CEST) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 5ACE530860C6; Fri, 2 Aug 2019 21:25:55 +0000 (UTC) Received: from dhcp-25.97.bos.redhat.com (unknown [10.18.25.67]) by smtp.corp.redhat.com (Postfix) with ESMTP id A86CC5D712; Fri, 2 Aug 2019 21:25:54 +0000 (UTC) From: Aaron Conole To: dev@dpdk.org Cc: Michael Santana , David Marchand , Bruce Richardson , Ferruh Yigit , Luca Boccassi Date: Fri, 2 Aug 2019 17:25:51 -0400 Message-Id: <20190802212552.8879-2-aconole@redhat.com> In-Reply-To: <20190802212552.8879-1-aconole@redhat.com> References: <20190731145030.19956-1-aconole@redhat.com> <20190802212552.8879-1-aconole@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.44]); Fri, 02 Aug 2019 21:25:55 +0000 (UTC) Subject: [dpdk-dev] [PATCH v2 1/2] tests: Fix unit tests for shared builds 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: Michael Santana Currently many unit tests fail when running tests under shared builds. This happens because of missing driver dependencies. This is fixed by explicitly linking in missing drivers for the test application. before and after (clang): https://travis-ci.com/Maickii/dpdk-2/jobs/212329160#L623 https://travis-ci.com/Maickii/dpdk-2/jobs/212335912#L620 Suggested-by: Bruce Richardson Suggested-by: David Marchand Signed-off-by: Michael Santana Signed-off-by: Aaron Conole Acked-by: Bruce Richardson Reviewed-by: David Marchand --- app/test/meson.build | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/app/test/meson.build b/app/test/meson.build index e8a898eb6..8afd21dff 100644 --- a/app/test/meson.build +++ b/app/test/meson.build @@ -297,6 +297,19 @@ dump_test_names = [ 'dump_memzone', ] +# The following linkages are an exception to allow running the +# unit tests without requiring that the developer install the +# DPDK libraries. Explicit linkage in applications should not +# be used. +if dpdk_conf.has('RTE_LIBRTE_RING_MEMPOOL') + test_deps += 'mempool_ring' +endif +if dpdk_conf.has('RTE_LIBRTE_STACK_MEMPOOL') + test_deps += 'mempool_stack' +endif +if dpdk_conf.has('RTE_LIBRTE_SKELETON_EVENTDEV_PMD') + test_deps += 'pmd_skeleton_event' +endif if dpdk_conf.has('RTE_LIBRTE_PDUMP') test_deps += 'pdump' endif From patchwork Fri Aug 2 21:25:52 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aaron Conole X-Patchwork-Id: 57398 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 9D7951C433; Fri, 2 Aug 2019 23:26:00 +0200 (CEST) Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by dpdk.org (Postfix) with ESMTP id BAFA81C2F5 for ; Fri, 2 Aug 2019 23:25:56 +0200 (CEST) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 30B0E87642; Fri, 2 Aug 2019 21:25:56 +0000 (UTC) Received: from dhcp-25.97.bos.redhat.com (unknown [10.18.25.67]) by smtp.corp.redhat.com (Postfix) with ESMTP id 79F4E5D712; Fri, 2 Aug 2019 21:25:55 +0000 (UTC) From: Aaron Conole To: dev@dpdk.org Cc: Michael Santana , David Marchand , Bruce Richardson , Ferruh Yigit , Luca Boccassi Date: Fri, 2 Aug 2019 17:25:52 -0400 Message-Id: <20190802212552.8879-3-aconole@redhat.com> In-Reply-To: <20190802212552.8879-1-aconole@redhat.com> References: <20190731145030.19956-1-aconole@redhat.com> <20190802212552.8879-1-aconole@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Fri, 02 Aug 2019 21:25:56 +0000 (UTC) Subject: [dpdk-dev] [PATCH v2 2/2] ci: enable unit tests under travis-ci 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" When building under Travis (or another linux CI service), enable running the fast-tests when the RUN_TESTS environment variable is set. For the Travis service, introduce two new shared builds, since the shared builds are the ones passing. Builds that are statically linked still show some issues in some of the eal_flags tests. We make new builds for this, rather than piggybacking, because 'at a glance' it is difficult to determine why a build fails, and if tests were enabled for all builds, then looking at the logs for any build would take a significant amount of time. Finally, the command to invoke fast tests includes a timeout multiplier, since some CI environments don't have enough resources to complete the tests in the default 10s timeout period. Signed-off-by: Aaron Conole Acked-by: Michael Santana Reviewed-by: David Marchand --- .ci/linux-build.sh | 8 ++++++++ .ci/linux-setup.sh | 8 +++++++- .travis.yml | 9 ++++++++- 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh index d5783c1a4..d5ad919d1 100755 --- a/.ci/linux-build.sh +++ b/.ci/linux-build.sh @@ -22,3 +22,11 @@ fi OPTS="$OPTS --default-library=$DEF_LIB" meson build --werror -Dexamples=all $OPTS ninja -C build + +if [ "$BUILD_DOCS" = "1" ]; then + ninja -C build doc +fi + +if [ "$RUN_TESTS" = "1" ]; then + sudo meson test -C build --suite fast-tests -t 3 +fi diff --git a/.ci/linux-setup.sh b/.ci/linux-setup.sh index acdf9f370..a40e62eaa 100755 --- a/.ci/linux-setup.sh +++ b/.ci/linux-setup.sh @@ -1,3 +1,9 @@ #!/bin/sh -python3 -m pip install --upgrade meson --user +# need to install as 'root' since some of the unit tests won't run without it +sudo python3 -m pip install --upgrade meson + +# setup hugepages +cat /proc/meminfo +sudo sh -c 'echo 1024 > /proc/sys/vm/nr_hugepages' +cat /proc/meminfo diff --git a/.travis.yml b/.travis.yml index 7b167fa64..781f9f666 100644 --- a/.travis.yml +++ b/.travis.yml @@ -30,6 +30,7 @@ env: - DEF_LIB="shared" - DEF_LIB="static" OPTS="-Denable_kmods=false" - DEF_LIB="shared" OPTS="-Denable_kmods=false" + - DEF_LIB="shared" RUN_TESTS=1 BUILD_DOCS=1 matrix: include: @@ -51,7 +52,7 @@ matrix: apt: packages: - *extra_packages - - env: DEF_LIB="shared" EXTRA_PACKAGES=1 + - env: DEF_LIB="shared" EXTRA_PACKAGES=1 RUN_TESTS=1 BUILD_DOCS=1 compiler: gcc addons: apt: @@ -81,6 +82,12 @@ matrix: apt: packages: - *extra_packages + - env: DEF_LIB="shared" EXTRA_PACKAGES=1 RUN_TESTS=1 BUILD_DOCS=1 + compiler: clang + addons: + apt: + packages: + - *extra_packages - env: DEF_LIB="static" OPTS="-Denable_kmods=false" EXTRA_PACKAGES=1 compiler: clang addons: