From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.0 required=3.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 484ABC282C0 for ; Fri, 25 Jan 2019 23:24:58 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 168C3218D0 for ; Fri, 25 Jan 2019 23:24:58 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=netronome-com.20150623.gappssmtp.com header.i=@netronome-com.20150623.gappssmtp.com header.b="zLZufilc" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729501AbfAYXY4 (ORCPT ); Fri, 25 Jan 2019 18:24:56 -0500 Received: from mail-qk1-f194.google.com ([209.85.222.194]:46651 "EHLO mail-qk1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726218AbfAYXYz (ORCPT ); Fri, 25 Jan 2019 18:24:55 -0500 Received: by mail-qk1-f194.google.com with SMTP id q1so6389185qkf.13 for ; Fri, 25 Jan 2019 15:24:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netronome-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=tida5gm+rWQ9QpvHttTSkQRrvH7kNaFs8KgvKixQ5pw=; b=zLZufilcaAYBvyLceQioAXvcjdm+ZRG6jR3hoyWUia7G5xnsd2x3XQrPMRtYrA6P78 rM/8rCS4zCgRz3Kduau0ytDe3d+OrnVE1c91OL5Nxq+hkpGS32Kqia/yvNCFt1t9fCE2 nPgidFMwHWW+Y+ieo+7tsTg3z3fnQK+cKwvAGgMkcvzGikiTWgAWJtI6FUmMo8zvoU47 /J+y+Zem/08QKrZRGbkDMlj2FsYSH796tM5/+UFI6bixuAd1tRWrNobuy5zcs0f3h42Z YUJieyUGAGxr15OGTaBnoNLqGOYqvLffbsIUlNz86pJi2n+QCbDCiqCxNnam3220/Oyt jYTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=tida5gm+rWQ9QpvHttTSkQRrvH7kNaFs8KgvKixQ5pw=; b=WB9DWbbVKefFo3OiSu/gwXdMhJuWZsPi66RpbKLtsgvDTdYJwh1TXw28aYlc8xqoW5 mCPVsn1SQAAjncqYlnfCZ++Q2k8eGToMWMXZT3lQvYtD06SmkMb+T4U7/o4icbtkcvXm AEQXHDkA8GIJ+60vKOB05izXqF4YxI/nAlESblemqhyRRD3FP+QzZI9bmyj7FZeekS0o KxJwPSf8ukq5+wZGjL3t7uqY1sDbnPTUoCOkzElIQxF7B/jfUXAFTwpS/XyBUAMnnUe0 ZerAv6Q8bEUEQPnba4H/w/m0koWoR8bBDzQt+AFgYzvdB0ODCZRzuijTqnDl3WuU7a7l 9T7g== X-Gm-Message-State: AJcUukcsoiTNmYk2Vk31y9aTIiJS/jUGloKizuOK0YNhFxwWAz2tSUdG Cpx/yImVU24ltC7LwrTN7xlmHY871O4= X-Google-Smtp-Source: ALg8bN4W49EtmmxlfJZqBsjHUCJrPFPiBvB3V94P8dPDgiV17eJRCA9/nN29qRlubqTRicspguoKmg== X-Received: by 2002:ae9:f50d:: with SMTP id o13mr11882739qkg.137.1548458694658; Fri, 25 Jan 2019 15:24:54 -0800 (PST) Received: from jkicinski-Precision-T1700.netronome.com ([66.60.152.14]) by smtp.gmail.com with ESMTPSA id y4sm84095875qtc.47.2019.01.25.15.24.53 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 25 Jan 2019 15:24:54 -0800 (PST) From: Jakub Kicinski To: alexei.starovoitov@gmail.com, daniel@iogearbox.net Cc: oss-drivers@netronome.com, netdev@vger.kernel.org, Jakub Kicinski Subject: [PATCH bpf-next v2 1/3] selftests: bpf: prepare for break up of verifier tests Date: Fri, 25 Jan 2019 15:24:42 -0800 Message-Id: <20190125232444.30172-2-jakub.kicinski@netronome.com> X-Mailer: git-send-email 2.19.2 In-Reply-To: <20190125232444.30172-1-jakub.kicinski@netronome.com> References: <20190125232444.30172-1-jakub.kicinski@netronome.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org test_verifier.c has grown to be very long (almost 16 kLoC), and it is very conflict prone since we always add tests at the end. Try to break it apart a little bit. Allow test snippets to be defined in separate files and include them automatically into the huge test array. Signed-off-by: Jakub Kicinski Acked-by: Jiong Wang --- tools/testing/selftests/bpf/Makefile | 13 +++++++++++++ tools/testing/selftests/bpf/test_verifier.c | 3 +++ tools/testing/selftests/bpf/verifier/.gitignore | 1 + 3 files changed, 17 insertions(+) create mode 100644 tools/testing/selftests/bpf/verifier/.gitignore diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests/bpf/Makefile index ab1b4e0ecc63..791b4c9bf796 100644 --- a/tools/testing/selftests/bpf/Makefile +++ b/tools/testing/selftests/bpf/Makefile @@ -217,4 +217,17 @@ ifeq ($(DWARF2BTF),y) $(BTF_PAHOLE) -J $@ endif +$(OUTPUT)/test_verifier: $(OUTPUT)/verifier/tests.h +$(OUTPUT)/test_verifier: CFLAGS += -I$(OUTPUT) + +VERIFIER_TEST_FILES := $(wildcard verifier/*.c) +$(OUTPUT)/verifier/tests.h: $(VERIFIER_TEST_FILES) + $(shell ( cd verifier/ + echo '/* Generated header, do not edit */'; \ + echo '#ifdef FILL_ARRAY'; \ + ls *.c 2> /dev/null | \ + sed -e 's@\(.*\)@#include \"\1\"@'; \ + echo '#endif' \ + ) > $(OUTPUT)/verifier/tests.h) + EXTRA_CLEAN := $(TEST_CUSTOM_PROGS) $(ALU32_BUILD_DIR) diff --git a/tools/testing/selftests/bpf/test_verifier.c b/tools/testing/selftests/bpf/test_verifier.c index 1df757645a9a..0a1847c3d1a3 100644 --- a/tools/testing/selftests/bpf/test_verifier.c +++ b/tools/testing/selftests/bpf/test_verifier.c @@ -248,6 +248,9 @@ static void bpf_fill_rand_ld_dw(struct bpf_test *self) BPF_ALU64_IMM(BPF_ARSH, BPF_REG_7, 32) static struct bpf_test tests[] = { +#define FILL_ARRAY +#include +#undef FILL_ARRAY { "add+sub+mul", .insns = { diff --git a/tools/testing/selftests/bpf/verifier/.gitignore b/tools/testing/selftests/bpf/verifier/.gitignore new file mode 100644 index 000000000000..45984a364647 --- /dev/null +++ b/tools/testing/selftests/bpf/verifier/.gitignore @@ -0,0 +1 @@ +tests.h -- 2.19.2