[dpdk-dev] [PATCH v2] guides: add a testing guide for developing tests
Aaron Conole
aconole at redhat.com
Tue Mar 9 17:14:05 CET 2021
Aaron Conole <aconole at redhat.com> writes:
> Bruce Richardson <bruce.richardson at intel.com> writes:
>
>> On Tue, Mar 02, 2021 at 10:07:26AM +0100, David Marchand wrote:
>>> On Wed, Feb 10, 2021 at 3:56 PM Aaron Conole <aconole at redhat.com> wrote:
>>> > diff --git a/doc/guides/contributing/testing.rst b/doc/guides/contributing/testing.rst
>>> > new file mode 100644
>>> > index 0000000000..86ca24ce43
>>> > --- /dev/null
>>> > +++ b/doc/guides/contributing/testing.rst
>>> > @@ -0,0 +1,245 @@
>>> > +.. SPDX-License-Identifier: BSD-3-Clause
>>> > + Copyright 2018 The DPDK contributors
>>>
>>> 2021?
>
> Whoops, I forgot to update my time machine.
>
>>> > +
>>> > +.. _testing_guidelines:
>>>
>>> I can't find a call to the testing_guidelines reference, so this can be removed.
>
> done.
>
>>>
>>> [snip]
>>>
>>> > +The suites can be selected by adding the ``--suite`` option to the
>>> > +``meson test`` command. Ex: ``meson test --suite fast-tests``::
>>> > +
>>> > + $ meson test -C build --suite fast-tests
>>> > + ninja: Entering directory `/home/aconole/git/dpdk/build'
>>> > + [2543/2543] Linking target app/test/dpdk-test.
>>> > + 1/60 DPDK:fast-tests / acl_autotest OK 3.17 s
>>> > + 2/60 DPDK:fast-tests / bitops_autotest OK 0.22 s
>>> > + 3/60 DPDK:fast-tests / byteorder_autotest OK 0.22 s
>>> > + 4/60 DPDK:fast-tests / cmdline_autotest OK 0.28 s
>>> > + 5/60 DPDK:fast-tests / common_autotest OK 0.57 s
>>> > + 6/60 DPDK:fast-tests / cpuflags_autotest OK 0.27 s
>>> > + ...
>>>
>>> Trying this in my build env, I get all tests failing.
>>> This is because I run this as a normal user, but the system has
>>> hugepages configured.
>>> I figured this out quickly since I know the test framework (simply
>>> added a echo 0; exit at the top of has-hugepages.sh).
>>> But I am not sure a reader of this doc would be able to troubleshoot this.
>>>
>>> Not sure if this is worth explaining here, or if we can enhance the
>>> hugepage check (permissions maybe?).
>
> I prefer to fix the hugepage check to make the tests SKIP when we don't
> have hugepages accessible (so we need some kind of permission check in
> there). I will submit it separately.
>
Here is my PoC for this - if you think it's good enough, I'll submit as
formal PATCH.
---
index d600fad319..1c3cfb665a 100755
--- a/app/test/has-hugepage.sh
+++ b/app/test/has-hugepage.sh
@@ -3,7 +3,17 @@
# Copyright 2020 Mellanox Technologies, Ltd
if [ "$(uname)" = "Linux" ] ; then
- cat /proc/sys/vm/nr_hugepages || echo 0
+ nr_hugepages=$(cat /proc/sys/vm/nr_hugepages)
+ # Need to check if we have permissions to access hugepages
+ perm=""
+ for mount in `mount | grep hugetlbfs | awk '{ print $3; }'`; do
+ test ! -w $mount/. || perm="$mount"
+ done
+ if [ "$perm" = "" -o "$nr_hugepages" = "0" ]; then
+ echo 0
+ else
+ echo $nr_hugepages
+ fi
elif [ "$(uname)" = "FreeBSD" ] ; then
echo 1 # assume FreeBSD always has hugepages
else
---
More information about the dev
mailing list