bpf.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Seth Forshee <seth.forshee@canonical.com>
To: Mark Brown <broonie@kernel.org>
Cc: Shuah Khan <shuah@kernel.org>,
	Alexei Starovoitov <ast@kernel.org>,
	Daniel Borkmann <daniel@iogearbox.net>,
	Andrii Nakryiko <andrii@kernel.org>,
	Martin KaFai Lau <kafai@fb.com>, Song Liu <songliubraving@fb.com>,
	Yonghong Song <yhs@fb.com>,
	John Fastabend <john.fastabend@gmail.com>,
	KP Singh <kpsingh@kernel.org>,
	Daniel Diaz <daniel.diaz@linaro.org>,
	Veronika Kabatova <vkabatov@redhat.com>,
	netdev@vger.kernel.org, bpf@vger.kernel.org,
	linux-kselftest@vger.kernel.org,
	Guillaume Tucker <guillaume.tucker@collabora.com>,
	Kevin Hilman <khilman@baylibre.com>
Subject: Re: [PATCH] selftests: Skip BPF seftests by default
Date: Wed, 16 Dec 2020 16:05:58 -0600	[thread overview]
Message-ID: <X9qExiKXPVmk3BJI@ubuntu-x1> (raw)
In-Reply-To: <20201210185233.28091-1-broonie@kernel.org>

On Thu, Dec 10, 2020 at 06:52:33PM +0000, Mark Brown wrote:
> The BPF selftests have build time dependencies on cutting edge versions
> of tools in the BPF ecosystem including LLVM which are more involved
> to satisfy than more typical requirements like installing a package from
> your distribution.  This causes issues for users looking at kselftest in
> as a whole who find that a default build of kselftest fails and that
> resolving this is time consuming and adds administrative overhead.  The
> fast pace of BPF development and the need for a full BPF stack to do
> substantial development or validation work on the code mean that people
> working directly on it don't see a reasonable way to keep supporting
> older environments without causing problems with the usability of the
> BPF tests in BPF development so these requirements are unlikely to be
> relaxed in the immediate future.
> 
> There is already support for skipping targets so in order to reduce the
> barrier to entry for people interested in kselftest as a whole let's use
> that to skip the BPF tests by default when people work with the top
> level kselftest build system.  Users can still build the BPF selftests
> as part of the wider kselftest build by specifying SKIP_TARGETS,
> including setting an empty SKIP_TARGETS to build everything.  They can
> also continue to build the BPF selftests individually in cases where
> they are specifically focused on BPF.
> 
> This isn't ideal since it means people will need to take special steps
> to build the BPF tests but the dependencies mean that realistically this
> is already the case to some extent and it makes it easier for people to
> pick up and work with the other selftests which is hopefully a net win.
> 
> Signed-off-by: Mark Brown <broonie@kernel.org>

Why not just remove the line which adds bpf to TARGETS? This has the
same effect, but doesn't require an emtpy SKIP_TARGETS to run them. We
have testing scripts which use 'make TARGETS=bpf ...' which will have to
be updated, and I doubt we are the only ones.

I also feel like this creates confusing semantics around SKIP_TARGETS.
If I don't supply a value then I don't get the bpf selftests, but then
if I try to use SKIP_TARGETS to skip some other test suddenly I do get
them. That's counterintuitive.

I also wanted to point out that the net/test_bpf.sh selftest requires
having the test_bpf module from the bpf selftest build. So when the bpf
selftests aren't built this test is guaranteed to fail. Though it would
be nice if the net selftests didn't require building the bpf self tests
in order to pass.

Thanks,
Seth

> ---
>  tools/testing/selftests/Makefile | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/testing/selftests/Makefile b/tools/testing/selftests/Makefile
> index afbab4aeef3c..8a917cb4426a 100644
> --- a/tools/testing/selftests/Makefile
> +++ b/tools/testing/selftests/Makefile
> @@ -77,8 +77,10 @@ TARGETS += zram
>  TARGETS_HOTPLUG = cpu-hotplug
>  TARGETS_HOTPLUG += memory-hotplug
>  
> -# User can optionally provide a TARGETS skiplist.
> -SKIP_TARGETS ?=
> +# User can optionally provide a TARGETS skiplist.  By default we skip
> +# BPF since it has cutting edge build time dependencies which require
> +# more effort to install.
> +SKIP_TARGETS ?= bpf
>  ifneq ($(SKIP_TARGETS),)
>  	TMP := $(filter-out $(SKIP_TARGETS), $(TARGETS))
>  	override TARGETS := $(TMP)
> -- 
> 2.20.1
> 

  parent reply	other threads:[~2020-12-16 22:07 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-10 18:52 [PATCH] selftests: Skip BPF seftests by default Mark Brown
2020-12-10 19:11 ` Alexei Starovoitov
2020-12-10 23:41   ` Shuah Khan
2020-12-11 12:46     ` Mark Brown
2020-12-16 22:05 ` Seth Forshee [this message]
2020-12-17 13:07   ` Mark Brown
2020-12-17 15:53     ` Shuah Khan
2020-12-17 18:32       ` Shuah Khan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=X9qExiKXPVmk3BJI@ubuntu-x1 \
    --to=seth.forshee@canonical.com \
    --cc=andrii@kernel.org \
    --cc=ast@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=broonie@kernel.org \
    --cc=daniel.diaz@linaro.org \
    --cc=daniel@iogearbox.net \
    --cc=guillaume.tucker@collabora.com \
    --cc=john.fastabend@gmail.com \
    --cc=kafai@fb.com \
    --cc=khilman@baylibre.com \
    --cc=kpsingh@kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=shuah@kernel.org \
    --cc=songliubraving@fb.com \
    --cc=vkabatov@redhat.com \
    --cc=yhs@fb.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).