Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp1032734pxv; Thu, 15 Jul 2021 23:26:16 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxkQSoOEFAz4UAm6jBA3aUkwh34iQpVjI3RbpZBEhpOgm4QN3bzoemB8i/X31bZgSIfDolz X-Received: by 2002:a17:906:f2d7:: with SMTP id gz23mr10051964ejb.314.1626416775791; Thu, 15 Jul 2021 23:26:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626416775; cv=none; d=google.com; s=arc-20160816; b=gv7RBF8LxeVMH+LagTXTVL7+F8S+pGj2OWyWguBXjF8aG5gh7H/oHO5mOzuiTfnAjM KrBSljxcA4tzacTYw5LmiJ6zgBHSRoUwLwPzj0M+tuqYUx9KIEctxmSCAz4iFNfOGjO9 3v7G5FCuVUIGbhr/wYS0GK3ms8+o7VgjDtmgkIlnjkLaY6rpkGUMoKa33miZCTwDyLxX 8UWyDsZkgpBav8rRffxWoiJjdQXDj22iTJNZ3kB4mdbh/QMMTQQuaCDrFucqw/u0fAIq ZKzEvrMc2rzD5rgcTzl9JlxaFskB+b3Hlh+mTDULdrEyj8sCAgnMSIHvUinF796ukSBz 6iwA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=7nfECmLZFfHRGZDsMw/ZPjNyNfs5aoz82O3YRn+SIQ8=; b=mGKTnsBUtNGAWkAsod5Z43BzXDCV9/wIC57XQOXxcaQy7pF1Lfqd4i08WzxdXdOfrR a6ZrgZxEODF1MnZ+j084RnGASFOmRkfnYa4e6alptkrC5yTtZ5LNil+ZvSEydOzMF5qL fP9OqcLMcnPx9NeVdHdJIIepIsdsCmS7wRl5i4Ev5R45ZQl5OquuZKi9dLukrdxURFDg zE9L8BZaddx6SHUkHOS2eTIL3eBwx4UEmw6B0hhrvctuCmyIjXhAcHNh+Kiperjhz697 lArc+aYGiVA19ZwR6SXgUHndCH5ReJ90m2H05u4KYyGqaSlKtK+yDczvo0hfs/8oG45w 28jg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=J+IIvgAh; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id em21si10134897ejc.10.2021.07.15.23.25.52; Thu, 15 Jul 2021 23:26:15 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=J+IIvgAh; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234986AbhGPG1m (ORCPT + 99 others); Fri, 16 Jul 2021 02:27:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44280 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231778AbhGPG1l (ORCPT ); Fri, 16 Jul 2021 02:27:41 -0400 Received: from mail-yb1-xb2e.google.com (mail-yb1-xb2e.google.com [IPv6:2607:f8b0:4864:20::b2e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 08586C06175F; Thu, 15 Jul 2021 23:24:47 -0700 (PDT) Received: by mail-yb1-xb2e.google.com with SMTP id p22so13140524yba.7; Thu, 15 Jul 2021 23:24:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=7nfECmLZFfHRGZDsMw/ZPjNyNfs5aoz82O3YRn+SIQ8=; b=J+IIvgAh7LguO7P4v1V9ISSphaHuWk0RI0A7G3iqNmsUgtrrTRLs+pRy0m3tyHM/hj k/L5Lh/0WQM/b7HEU3sERdIU33uPjjtdvKMWLVfc7FONmG0n9gZbs1Qj9SBLarytfyqv t/si0Z2fWO9OBVK8NiZ7eIZQYODUoRaXDHdby+jYgaUULG+ti+oy+1dor1SIf56Imm4r lkd09jFUiRImmDAGhgm45IFSKvauxG4bw0i4VxE1sZlF6LKQmCa52+pM+6SKY9CWUekW I5PZ8MS0KYrsHLrqXc35jTg4I2etmI+D5g35XA83nB0zJL6BtLopcsdK3Hnp6o+Q1uEU ELKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=7nfECmLZFfHRGZDsMw/ZPjNyNfs5aoz82O3YRn+SIQ8=; b=GBLbYz7HLdxOWVlhhbRXR/t2sxzoV8E8JmyTGeyAg2OBavOL69+AwA/+Qfbr8pDFco +RjA0SZ/6Xy97xEE82kJ4X3hISw3We/NUT9CjRMvorJt/KG/huEJlIode1V+fUeSyyj7 322pVOh8HaXQybgPt0dPuZkY0nni4HnU3h8A59WtaNw8IYTY7h0ZNCwgnLol2MW1HPr+ JCkuLJGfuZ3CtYiRXXUKN4YIbLBiYyqdJ5YrUfPSUvJB70JMNeRt2M5aEQBlfdgLWtGV JKokVP5rJsgGoxaRk+msMboRo781FQQG8ILWBl+hGPYa4zlZo+0fR4vQqJ/sWlPDGlaZ Ee6Q== X-Gm-Message-State: AOAM530spH6NJEbhYAcV6XTX8vWC7poUYCAg5Ss7fsUASWsYm6Wraz5H USkh2pSuA2YuOaDhvMtH2pc7+K6Frj+Fp0ApaaM= X-Received: by 2002:a25:b741:: with SMTP id e1mr10850768ybm.347.1626416686326; Thu, 15 Jul 2021 23:24:46 -0700 (PDT) MIME-Version: 1.0 References: <1626362126-27775-1-git-send-email-alan.maguire@oracle.com> <1626362126-27775-4-git-send-email-alan.maguire@oracle.com> In-Reply-To: <1626362126-27775-4-git-send-email-alan.maguire@oracle.com> From: Andrii Nakryiko Date: Thu, 15 Jul 2021 23:24:35 -0700 Message-ID: Subject: Re: [PATCH v6 bpf-next 3/3] selftests/bpf: add dump type data tests to btf dump tests To: Alan Maguire Cc: Alexei Starovoitov , Daniel Borkmann , Andrii Nakryiko , Martin Lau , Song Liu , Yonghong Song , john fastabend , KP Singh , Bill Wendling , Shuah Khan , bpf , Networking , "open list:KERNEL SELFTEST FRAMEWORK" , open list Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jul 15, 2021 at 8:16 AM Alan Maguire wrote: > > Test various type data dumping operations by comparing expected > format with the dumped string; an snprintf-style printf function > is used to record the string dumped. Also verify overflow handling > where the data passed does not cover the full size of a type, > such as would occur if a tracer has a portion of the 8k > "struct task_struct". > > Signed-off-by: Alan Maguire > --- > tools/testing/selftests/bpf/prog_tests/btf_dump.c | 600 ++++++++++++++++++++++ > 1 file changed, 600 insertions(+) > [...] > @@ -245,4 +815,34 @@ void test_btf_dump() { > } > if (test__start_subtest("btf_dump: incremental")) > test_btf_dump_incremental(); > + > + btf = libbpf_find_kernel_btf(); > + if (!ASSERT_NEQ(btf, NULL, "no kernel BTF found")) > + return; > + > + d = btf_dump__new(btf, NULL, &opts, btf_dump_snprintf); > + > + if (!ASSERT_NEQ(d, NULL, "could not create BTF dump")) better use ASSERT_OK_PTR() for this, I'll adjust when applying > + return; > + > + /* Verify type display for various types. */ > + if (test__start_subtest("btf_dump: int_data")) > + test_btf_dump_int_data(btf, d, str); > + if (test__start_subtest("btf_dump: float_data")) > + test_btf_dump_float_data(btf, d, str); > + if (test__start_subtest("btf_dump: char_data")) > + test_btf_dump_char_data(btf, d, str); > + if (test__start_subtest("btf_dump: typedef_data")) > + test_btf_dump_typedef_data(btf, d, str); > + if (test__start_subtest("btf_dump: enum_data")) > + test_btf_dump_enum_data(btf, d, str); > + if (test__start_subtest("btf_dump: struct_data")) > + test_btf_dump_struct_data(btf, d, str); > + if (test__start_subtest("btf_dump: var_data")) > + test_btf_dump_var_data(btf, d, str); > + btf_dump__free(d); > + btf__free(btf); > + > + if (test__start_subtest("btf_dump: datasec_data")) > + test_btf_dump_datasec_data(str); > } > -- > 1.8.3.1 >