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 BD82BA10DA for ; Wed, 31 Jul 2019 18:07:29 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id F284F1C0B2; Wed, 31 Jul 2019 18:07:27 +0200 (CEST) Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by dpdk.org (Postfix) with ESMTP id 06BA61BEF3 for ; Wed, 31 Jul 2019 18:07:26 +0200 (CEST) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 67C4AA3B7E; Wed, 31 Jul 2019 16:07:25 +0000 (UTC) Received: from dhcp-25.97.bos.redhat.com (unknown [10.18.25.67]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 9DC2E1001B14; Wed, 31 Jul 2019 16:07:24 +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:07:23 -0400 In-Reply-To: <20190731153608.GG1705@bricha3-MOBL.ger.corp.intel.com> (Bruce Richardson's message of "Wed, 31 Jul 2019 16:36:08 +0100") 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.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Wed, 31 Jul 2019 16:07:25 +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" 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. > > 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