Received: by 2002:a05:6a10:1a4d:0:0:0:0 with SMTP id nk13csp1683714pxb; Wed, 9 Feb 2022 02:06:29 -0800 (PST) X-Google-Smtp-Source: ABdhPJzHVtB/HeMVWVS0Rse+mR6h3V5sCN7mvyG1jg1DMVAskHorVAbcZt16Yi4qhSjKFE7yeiBI X-Received: by 2002:aa7:8103:: with SMTP id b3mr1469200pfi.24.1644401189368; Wed, 09 Feb 2022 02:06:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1644401189; cv=none; d=google.com; s=arc-20160816; b=jq2M4t28qCvyURM8S1ak35FqxvjSX6AFN9SKmkvHqOLTh35cy6LarQLBmvkpKVyRWw TC3PagE13xKOYTq6zZV7s0vDnOTliQDLZkx4JuBr2DAxQsvQOcftEW0WzzEMcPO6Y1+w mms7Y9yNsA6n401sQxLImJu3vaiM9JmobnbnBQOGIw58jna+nqUefrdmtWiApPqGInYw BQQvWYrEl0L5Ozn5FBHA8lwzMQ+nRKqyjqN28sXJXMLkNheJ4ORGTIvREXLFRdmVcfob h4sg0ouU6nzuXdQArkt1qtm/2g6ZlaRlcXMIGn5rQYE5su0fOXOKfPuGQ1Ijgod+TvAZ ZWKw== 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=yPEklzd5P3RvDStq1HrBugkoI/k1o+Zh5jpZZLMH+bc=; b=liPbA8/WE80TWG6DkOceu45ug5ZrWLQlIW3UypQbUy8z8F8YXNOPGUVk5gFTmQ4UU7 uixH6IZaE05GBnJj1CO3psY0/RcLQNE1W5v/vKf568UCz8orfFQQN24Ih5xxq5HOx/46 J2QLjYeHFCvDmgKMIRt09VfLkx4sN7I7q9BxSDXrp2Ts980hF9PPG1uOkJaKiNPqR62c hmHUdSEd2BM6t9Bwj7WDkmh3RPmP3vICfYCaHsP5lon3lQbNch8726HgSQN7r6Ztp34R /wGwHZwtqsRvNH1Xjd/c8CcjdugHOcNnYCcysHbqChkpG/eET/ZgLFW+7NHuKeguD5pN OfFg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=MISdIeXN; 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=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id v14si4161814pfu.159.2022.02.09.02.06.16; Wed, 09 Feb 2022 02:06:29 -0800 (PST) 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=@google.com header.s=20210112 header.b=MISdIeXN; 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=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1386501AbiBHWaU (ORCPT + 99 others); Tue, 8 Feb 2022 17:30:20 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57666 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1386503AbiBHUpK (ORCPT ); Tue, 8 Feb 2022 15:45:10 -0500 Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com [IPv6:2a00:1450:4864:20::633]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A4F19C0613CB for ; Tue, 8 Feb 2022 12:45:09 -0800 (PST) Received: by mail-ej1-x633.google.com with SMTP id j14so1176629ejy.6 for ; Tue, 08 Feb 2022 12:45:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=yPEklzd5P3RvDStq1HrBugkoI/k1o+Zh5jpZZLMH+bc=; b=MISdIeXN8vS4hXJZFD3ifq6xpn6+5l5cEbOpVUZOae3tUVCpt4xujvtPOjKx+SYQVj LLUbcO0NWxqBOQCV4exGLxzkqnf6UruORYwMYbJrxNABkDGeVpWE0/GtaZBwH2QKfHIN m4urBU1VGgaH2n5+ys45uO/8DUCL23s6aXLMlhaOL00af+xYQG6EuT7fQC3E7SxKVM+J 3M3BrcQelTKTpdcrYjNc8X2ZZFmP1ou1On01GjAduKKXsGgH6TPYq2dO+xU1ZvDM7Vhv r4XaXGFFDNjqDbOZ6PeCNUej2a6Gy/Isth8XLFiHTT6NuefmKdrrFDwjDcXFU54YzQ6r us/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=yPEklzd5P3RvDStq1HrBugkoI/k1o+Zh5jpZZLMH+bc=; b=ENcw2gP5x8yNbB+mtFDFt5yzgUqkpw8JN01eEkgzeSlW/MEVNm0Uh+ShKK3JklEP+6 G4s1TyCOpAfpN+BFDgekzaiMc+3L281kaO7Y1Vj166SFQEm/4mWF0WJdtOeQLDk/zPui 24im2VwUDlmYj8uPpwoKRg8tVolWLA70HdABUKiwMoSVNO5jwJqvja2kGA6i/5Sppaad l0WquY0V9UcwMJQqI69KJKcS5Xit92lPDzlcXSpkl8zIGf8+GpjLTYcM3P6jFaCU8M1y bCPqC1fNlDDvcNL04kk4SdeMMVmAJ1jbOskkb4p9B2QCybNJuTm4jLUtyosrlU06sUuX JyHQ== X-Gm-Message-State: AOAM531iUUeyBebfSxR/zcpexUbYGY4fXeyle+VMk4AxrfIr/xYCI4d1 nD8mpA365R5tcRi6zPpg9Ue1RDzEBdtStbUSF/EakQ== X-Received: by 2002:a17:907:6d20:: with SMTP id sa32mr5271477ejc.425.1644353107911; Tue, 08 Feb 2022 12:45:07 -0800 (PST) MIME-Version: 1.0 References: <20220208040122.695258-1-davidgow@google.com> <20220208040122.695258-3-davidgow@google.com> In-Reply-To: <20220208040122.695258-3-davidgow@google.com> From: Daniel Latypov Date: Tue, 8 Feb 2022 12:44:56 -0800 Message-ID: Subject: Re: [PATCH v2 3/3] list: test: Add a test for list_entry_is_head() To: David Gow Cc: Shuah Khan , Andy Shevchenko , Linus Torvalds , Brendan Higgins , linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, kunit-dev@googlegroups.com Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-17.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, ENV_AND_HDR_SPF_MATCH,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE,USER_IN_DEF_DKIM_WL,USER_IN_DEF_SPF_WL autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Feb 7, 2022 at 8:02 PM David Gow wrote: > > The list_entry_is_head() macro was added[1] after the list KUnit tests, > so wasn't tested. Add a new KUnit test to complete the set. > > [1]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e130816164e244b692921de49771eeb28205152d > > Signed-off-by: David Gow Acked-by: Daniel Latypov Similar to the previous patch, we can maybe consider using the _MSG variants here > --- > > Changes since v1: > https://lore.kernel.org/linux-kselftest/20220205061539.273330-3-davidgow@google.com/ > - Rework the test entirely to better match the improved list_is_head() > test. > > --- > lib/list-test.c | 17 +++++++++++++++++ > 1 file changed, 17 insertions(+) > > diff --git a/lib/list-test.c b/lib/list-test.c > index 1960615d1a9f..80dd14c4ca1f 100644 > --- a/lib/list-test.c > +++ b/lib/list-test.c > @@ -546,6 +546,22 @@ static void list_test_list_entry(struct kunit *test) > struct list_test_struct, list)); > } > > +static void list_test_list_entry_is_head(struct kunit *test) > +{ > + struct list_test_struct test_struct1, test_struct2, test_struct3; > + > + INIT_LIST_HEAD(&test_struct1.list); > + INIT_LIST_HEAD(&test_struct3.list); > + > + list_add_tail(&test_struct2.list, &test_struct1.list); > + > + KUNIT_EXPECT_TRUE(test, list_entry_is_head((&test_struct1), &test_struct1.list, list)); > + /* Non-head element of same list */ > + KUNIT_EXPECT_FALSE(test, list_entry_is_head((&test_struct2), &test_struct1.list, list)); > + /* Head element of different list */ > + KUNIT_EXPECT_FALSE(test, list_entry_is_head((&test_struct3), &test_struct1.list, list)); Unlike the list_is_head() * this macro is marginally more complicated (barely). * these lines already go over 80 chars. * macros in EXPECT's get printed out in expanded form (less legible on their own than a func call is) So perhaps KUNIT_EXPECT_FALSE_MSG(test, ..., "Head element of different list") ? > +} > + > static void list_test_list_first_entry(struct kunit *test) > { > struct list_test_struct test_struct1, test_struct2; > @@ -761,6 +777,7 @@ static struct kunit_case list_test_cases[] = { > KUNIT_CASE(list_test_list_splice_init), > KUNIT_CASE(list_test_list_splice_tail_init), > KUNIT_CASE(list_test_list_entry), > + KUNIT_CASE(list_test_list_entry_is_head), > KUNIT_CASE(list_test_list_first_entry), > KUNIT_CASE(list_test_list_last_entry), > KUNIT_CASE(list_test_list_first_entry_or_null), > -- > 2.35.0.263.gb82422642f-goog >