From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 7293B1B00F for ; Mon, 18 Dec 2017 16:24:35 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 18 Dec 2017 07:24:34 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.45,422,1508828400"; d="scan'208";a="3341462" Received: from irsmsx105.ger.corp.intel.com ([163.33.3.28]) by fmsmga007.fm.intel.com with ESMTP; 18 Dec 2017 07:24:33 -0800 Received: from irsmsx155.ger.corp.intel.com (163.33.192.3) by irsmsx105.ger.corp.intel.com (163.33.3.28) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 18 Dec 2017 15:24:32 +0000 Received: from irsmsx102.ger.corp.intel.com ([169.254.2.180]) by irsmsx155.ger.corp.intel.com ([169.254.14.169]) with mapi id 14.03.0319.002; Mon, 18 Dec 2017 15:24:32 +0000 From: "Van Haaren, Harry" To: "Richardson, Bruce" CC: "dev@dpdk.org" Thread-Topic: [PATCH 2/2] meson: add tests app to build Thread-Index: AQHTd/cCiq+4TI55BUWlHrjPgcKyi6NJH7cAgAAUnfA= Date: Mon, 18 Dec 2017 15:24:32 +0000 Message-ID: References: <1513598038-148115-1-git-send-email-harry.van.haaren@intel.com> <1513598038-148115-3-git-send-email-harry.van.haaren@intel.com> <20171218135512.GB15444@bricha3-MOBL3.ger.corp.intel.com> In-Reply-To: <20171218135512.GB15444@bricha3-MOBL3.ger.corp.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiN2ZjNjhlMjEtYWM0OC00YTA2LWJmM2UtNmQzN2ZlMmVhNzNhIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX1BVQkxJQyJ9XX1dfSwiU3ViamVjdExhYmVscyI6W10sIlRNQ1ZlcnNpb24iOiIxNi41LjkuMyIsIlRydXN0ZWRMYWJlbEhhc2giOiJ6Nk5EUFwvOEJpenNmQ2hzOW5IcVZBR2NBRk5wT1lIY3BYM2ZjT1dtNjAxUT0ifQ== x-ctpclassification: CTP_PUBLIC dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action x-originating-ip: [163.33.239.181] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH 2/2] meson: add tests app to build 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: , X-List-Received-Date: Mon, 18 Dec 2017 15:24:35 -0000 > From: Richardson, Bruce > Sent: Monday, December 18, 2017 1:55 PM > To: Van Haaren, Harry > Cc: dev@dpdk.org > Subject: Re: [PATCH 2/2] meson: add tests app to build >=20 > On Mon, Dec 18, 2017 at 11:53:58AM +0000, Harry van Haaren wrote: > > This patch enables the test/test app to be built. It also adds > > the test binary to be a meson-test, which allows the meson test > > infrastructure to be used to run tests. > > > > Tests are listed using the same test binary, however each test > > sets a different DPDK_TEST environment variable. The string contents > > of this DPDK_TEST env var is entered in the command line interface. > > As such, the familiar test names such as "ring_perf_autotest" etc > > are valid tests to run using this meson test infrastructure. > > > > Note that the tests are run serially, given that we cannot run > > multiple primary processes at a time. As each test must initialize > > EAL this takes some time depending on the number of hugepages. > > In future, we could improve this to run multiple tests from one > > EAL init, but it is out of scope for this patchset. > > > > Finally, an option to build the tests is added to the meson build > > options. When disabled, the unit test code in test/test is not > > compiled. The default is set to 'true'. To disable, run: > > > > $ meson configure -Dtests=3Dfalse > > > > Signed-off-by: Harry van Haaren > > --- >=20 > > > + > > +test_names =3D [ > > + 'acl_autotest', > > + 'alarm_autotest', > > + 'user_delay_us', > > + 'version_autotest', > > +] >=20 > I think we should find a way to remove this long list of test names in > the build file. The list of available tests is built up dynamically > inside the test binary, so I'm wondering if we can add to the binary an > "all" option to run each autotest straight after each other? Agree - it would be nice if we don't have to specify tests here. We could a= dd a flag the test binary, to output the tests that it contains? Then its a= bout having Meson read this file before running tests, to "gather" the test= s available.. There's options, but they will probably all be more complex than just havin= g a list of tests. Re Run all tests: Currently $ meson test will run all unit tests. > > + > > +if dpdk_conf.has('RTE_LIBRTE_PDUMP') > > + test_deps +=3D 'pdump' > > +endif > > +if dpdk_conf.has('RTE_LIBRTE_I40E_PMD') > > + test_deps +=3D 'pmd_i40e' > > +endif > > +if dpdk_conf.has('RTE_LIBRTE_IXGBE_PMD') > > + test_deps +=3D 'pmd_ixgbe' > > +endif > > + >=20 > This should be moved up beside the other dependencies >=20 > > +test_dep_objs =3D [] > > +foreach d:test_deps > > + def_lib =3D get_option('default_library') > > + test_dep_objs +=3D get_variable(def_lib + '_rte_' + d) > > +endforeach > > + > > +link_libs =3D [] > > +if get_option('default_library') =3D=3D 'static' > > + link_libs =3D dpdk_drivers > > +endif > > + >=20 > A note for the future: since much of this looks similar to that in > testpmd we should look to see if we can find a way to easily consolidate > these build commands inside a foreach loop like is done for the libs, > drivers and examples. +1, good idea for a cleanup later. Meson >=3D 0.44 has a "disabler" concept[1], which is a clean way to disabl= e components in the build if dependencies aren't found. Eg: specific tests = or sample apps, can be disabled from the build without the if() logic requi= red as below. [1] http://mesonbuild.com/Disabler.html > > +if get_option('tests') > > + dpdk_test =3D executable('dpdk-test', > > + test_sources, > > + link_whole: link_libs, > > + dependencies: test_dep_objs, > > + install_rpath: driver_install_path, > > + install: false) > > + > > + # some perf tests (eg: memcpy perf autotest)take very long > > + # to complete, so timeout to 10 minutes > > + timeout_seconds =3D 600 > > + > > + foreach t:test_names > > + test(t, dpdk_test, > > + env : ['DPDK_TEST=3D'+t], > > + timeout : timeout_seconds, > > + is_parallel : false) > > + endforeach > > +endif > > -- > > 2.7.4 > >