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 309C2A10DA for ; Wed, 31 Jul 2019 18:10:59 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 61C191C0C8; Wed, 31 Jul 2019 18:10:58 +0200 (CEST) Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by dpdk.org (Postfix) with ESMTP id 30B4C1C0C1 for ; Wed, 31 Jul 2019 18:10:57 +0200 (CEST) Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 8F2B930833B0; Wed, 31 Jul 2019 16:10:56 +0000 (UTC) Received: from dhcp-25.97.bos.redhat.com (unknown [10.18.25.67]) by smtp.corp.redhat.com (Postfix) with ESMTPS id D39AE19C78; Wed, 31 Jul 2019 16:10:55 +0000 (UTC) From: Aaron Conole To: Bruce Richardson Cc: dev@dpdk.org, Michael Santana , David Marchand , Ferruh Yigit , Luca Boccassi References: <20190731145030.19956-1-aconole@redhat.com> <20190731145030.19956-2-aconole@redhat.com> <20190731153608.GG1705@bricha3-MOBL.ger.corp.intel.com> Date: Wed, 31 Jul 2019 12:10:55 -0400 In-Reply-To: (Aaron Conole's message of "Wed, 31 Jul 2019 12:07:23 -0400") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.44]); Wed, 31 Jul 2019 16:10:56 +0000 (UTC) Subject: Re: [dpdk-dev] [PATCH 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" Aaron Conole writes: > Bruce Richardson writes: > >> On Wed, Jul 31, 2019 at 10:50:29AM -0400, Aaron Conole wrote: >>> 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 >>> --- >> Rather than linking in the libraries explicitly, can you have the build do >> a "ninja install" at the end to place the libraries and drivers in their >> correct paths. That should mean that the test app (via eal) auto-loads all >> drivers from EAL_PMD_PATH (/usr/local/...). It would save having to make >> further changes to this file to link in any additional drivers. Oops, forgot to include a link to a build where I did this. It's failing (you can see the corresponding commit at https://github.com/orgcandman/dpdk/commit/ccba975bdfe851b4c8ec3f208451bb105317b76d): https://travis-ci.org/orgcandman/dpdk/jobs/566044409 >> EAL_PMD_PATH is based off of $prefix for the build or install, so you can >> adjust that using meson options, if putting the drivers in /usr/local is >> not desirable for your test environments. > > The downside of not explicitly linking this way is that a developer > won't be able to do something like: > > meson build > ninja -C build > > ... development work > > ninja -C build test > > Rather, they will notice broken tests and not care about testing any > more (since that's what we're dealing with now). > > Requiring that a developer do the install (ninja -C build install) then > presents a different problem: before doing the 'test' I *must* remember > to do the install. Otherwise I won't be testing with the correct > version of the libraries. > > Is there a way to adjust the library search path? Maybe we can solve > this by making that search path adjusted during the unit tests to look > in all the various build directories? > >> /Bruce