Received: by 2002:a05:6a10:af89:0:0:0:0 with SMTP id iu9csp1364769pxb; Fri, 21 Jan 2022 16:36:45 -0800 (PST) X-Google-Smtp-Source: ABdhPJxFl/Q+j3J7m6KuIqUXNAW8REbPGdmQBk+wy16kRDH3yMICJMkwp+D14bAoE3Dv8dyHTRXS X-Received: by 2002:a63:7050:: with SMTP id a16mr4577988pgn.282.1642811805223; Fri, 21 Jan 2022 16:36:45 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1642811805; cv=none; d=google.com; s=arc-20160816; b=O6ndag0rpBJHLj7PF2XOCzc1lBqmxOJhvwNym7NLpZ8OzVrDtNNcCoAtlm2S2yBYDe 0L+lIND30V92kVj27P7proo+NJsKsDJBPCTm3Gv5yVAIWl754t4RI2dHbDPGklUEyDJS 2bgfNGgLokVCZ8qNCXbQDOAB3dsmA+ST7mJhYSXBJuDSCMKh0YYpbqHEewCgNULPe3Uh n7rVCaG76t318k967xw/NgrQeICmujAOKN4yKwIFyEAvg4NRNY7fD1mzi6PoqBX1vz33 Bw7keimbBitNcWFptqqccl5e9njSys34h/lHe5TMixN9kneFWP7I7PMdaORW6/Fw+MLr v90w== 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=VmI6L81UjLNgtF9bRaFGyCBanbzTKfgaJgajqJamXbM=; b=X5kbqSUlvFZ6tiBw7tfH2t0oz4urH2IWU9uT1yhaeSPcqz7LKmOe7MSYnnFBrowig+ ErSRwLyKhkmSMBijuL/Ekt4bG5AToGnJiBX/LUUMB8P9Y2d2GZnwAOXEJRdXjguQr2IA tffxmIZdF8A7aaLNPVBG5HAqBLm5sy7YsZRhhdx261ltbfsXcw8i7vfn2axammaw3Rci RsCBlM6ufCJxYmAlg85lcixoJLs20Doh156mNDVO4YVtJs8eT8zycvKGw0KktJDox+mm h1dZ4osr9HQTZNn/H4GfkkynUacEAH0JQfGB2SaQF8oWoDJ0JdraJzK0bo1Mfa0XEsMM zB3Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=MAPvnqvS; 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 c31si8019168pgm.756.2022.01.21.16.36.31; Fri, 21 Jan 2022 16:36:45 -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=MAPvnqvS; 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 S1378952AbiAUHWH (ORCPT + 99 others); Fri, 21 Jan 2022 02:22:07 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60322 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1378940AbiAUHWC (ORCPT ); Fri, 21 Jan 2022 02:22:02 -0500 Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com [IPv6:2a00:1450:4864:20::32c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6D8ECC061574 for ; Thu, 20 Jan 2022 23:22:02 -0800 (PST) Received: by mail-wm1-x32c.google.com with SMTP id c2so16196958wml.1 for ; Thu, 20 Jan 2022 23:22:02 -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=VmI6L81UjLNgtF9bRaFGyCBanbzTKfgaJgajqJamXbM=; b=MAPvnqvS0FN162XpHjydAEv7oI4nPr3iw8GTYMFPlhT5IOFrDt/PPf5wMaewk8Q8a7 DIheeIMMABjYqLfVMiWspKfSiyEypwxfyCU4ewf5kmaaPHtrxgtBhB88fCrRFoOUspSa uKBsJlJpqI+RgbJ3NpFDbgWNdsvN8QqJ6TcuzaaqFTnD+dRMhqoMAWmstBdss4503lNo Nd8yikxY2iTG1vvhvlbk5H4bndFtu4jJtD3txPAIfORgYWMKkTt4ALzie5K0oSEMLrC1 LW+bmaPLUZlqBYwd1+vfc9ODHvFGxHqcb9QbsbJV3kF+6B/K3F4C7b5Tfn5qX3GmF42V m52A== 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=VmI6L81UjLNgtF9bRaFGyCBanbzTKfgaJgajqJamXbM=; b=yDtk//UtYAgUrh9WD2lSIlVQGmlrsQU3Ya4GwbglR36RH6KYT72zy4h42S5euPYXa9 NRs5BzGw2NyyaFmN+k2mY+FCVcfyaFTZgCkUwfw/tMcAEV3o35FMRbydo6BAvKqUGqBv GgIJ+3xQwcz/tgyAeKS0rDixQdpuyFqPT6MUA0CN0NU56oQCKUgfNANrzobZLTwXyo5N eic1aPIcTigLoM3uhbUq4XqP9DjdcNdpZMwSbraFETbR2ZNFclyPuwggTlwbhYtU3Ku2 oWNwWSithSB3VlZxdUMvpM7V5vHTbCmqqbCwnRWvkttUw1+d3qLTIb1Ax9Z8gRoUrDjn 8xYw== X-Gm-Message-State: AOAM530a3LXsO2nm7v/Yh4oXfw9wR4zZFJnYbNMsmcZCjmytT13UY4xf 4IWXcu0cbXvlS0M37pW6aWGu46D84hlrjIhBC9x5xQ== X-Received: by 2002:a05:600c:4154:: with SMTP id h20mr1191759wmm.18.1642749720935; Thu, 20 Jan 2022 23:22:00 -0800 (PST) MIME-Version: 1.0 References: <20220118223506.1701553-1-dlatypov@google.com> <20220118223506.1701553-4-dlatypov@google.com> In-Reply-To: <20220118223506.1701553-4-dlatypov@google.com> From: David Gow Date: Fri, 21 Jan 2022 15:21:49 +0800 Message-ID: Subject: Re: [PATCH 3/5] kunit: reduce layering in string assertion macros To: Daniel Latypov Cc: Brendan Higgins , Linux Kernel Mailing List , KUnit Development , "open list:KERNEL SELFTEST FRAMEWORK" , Shuah Khan Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Jan 19, 2022 at 6:35 AM Daniel Latypov wrote: > > The current macro chain looks like: > KUNIT_EXPECT_STREQ => KUNIT_EXPECT_STREQ_MSG => KUNIT_BINARY_STR_EQ_MSG_ASSERTION => KUNIT_BINARY_STR_ASSERTION. > KUNIT_ASSERT_STREQ => KUNIT_ASSERT_STREQ_MSG => KUNIT_BINARY_STR_EQ_MSG_ASSERTION => KUNIT_BINARY_STR_ASSERTION. > > > After this change: > KUNIT_EXPECT_STREQ => KUNIT_EXPECT_STREQ_MSG => KUNIT_BINARY_STR_ASSERTION. > KUNIT_ASSERT_STREQ => KUNIT_ASSERT_STREQ_MSG => KUNIT_BINARY_STR_ASSERTION. > > > All the intermediate macro did was pass in "==" or "!=", so it seems > better to just drop them at the cost of a bit more copy-paste. > > Signed-off-by: Daniel Latypov > --- Agreed, I don't think the copy-paste here is significant enough to have any real chance of causing problems. This is clearly an improvement. Reviewed-by: David Gow -- David > include/kunit/test.h | 68 +++++++++++++------------------------------- > 1 file changed, 20 insertions(+), 48 deletions(-) > > diff --git a/include/kunit/test.h b/include/kunit/test.h > index c021945a75e3..d5dc1ef68bfe 100644 > --- a/include/kunit/test.h > +++ b/include/kunit/test.h > @@ -1098,30 +1098,6 @@ do { \ > ##__VA_ARGS__); \ > } while (0) > > -#define KUNIT_BINARY_STR_EQ_MSG_ASSERTION(test, \ > - assert_type, \ > - left, \ > - right, \ > - fmt, \ > - ...) \ > - KUNIT_BINARY_STR_ASSERTION(test, \ > - assert_type, \ > - left, ==, right, \ > - fmt, \ > - ##__VA_ARGS__) > - > -#define KUNIT_BINARY_STR_NE_MSG_ASSERTION(test, \ > - assert_type, \ > - left, \ > - right, \ > - fmt, \ > - ...) \ > - KUNIT_BINARY_STR_ASSERTION(test, \ > - assert_type, \ > - left, !=, right, \ > - fmt, \ > - ##__VA_ARGS__) > - > #define KUNIT_PTR_NOT_ERR_OR_NULL_MSG_ASSERTION(test, \ > assert_type, \ > ptr, \ > @@ -1371,12 +1347,11 @@ do { \ > KUNIT_EXPECT_STREQ_MSG(test, left, right, NULL) > > #define KUNIT_EXPECT_STREQ_MSG(test, left, right, fmt, ...) \ > - KUNIT_BINARY_STR_EQ_MSG_ASSERTION(test, \ > - KUNIT_EXPECTATION, \ > - left, \ > - right, \ > - fmt, \ > - ##__VA_ARGS__) > + KUNIT_BINARY_STR_ASSERTION(test, \ > + KUNIT_EXPECTATION, \ > + left, ==, right, \ > + fmt, \ > + ##__VA_ARGS__) > > /** > * KUNIT_EXPECT_STRNEQ() - Expects that strings @left and @right are not equal. > @@ -1393,12 +1368,11 @@ do { \ > KUNIT_EXPECT_STRNEQ_MSG(test, left, right, NULL) > > #define KUNIT_EXPECT_STRNEQ_MSG(test, left, right, fmt, ...) \ > - KUNIT_BINARY_STR_NE_MSG_ASSERTION(test, \ > - KUNIT_EXPECTATION, \ > - left, \ > - right, \ > - fmt, \ > - ##__VA_ARGS__) > + KUNIT_BINARY_STR_ASSERTION(test, \ > + KUNIT_EXPECTATION, \ > + left, !=, right, \ > + fmt, \ > + ##__VA_ARGS__) > > /** > * KUNIT_EXPECT_NOT_ERR_OR_NULL() - Expects that @ptr is not null and not err. > @@ -1648,12 +1622,11 @@ do { \ > KUNIT_ASSERT_STREQ_MSG(test, left, right, NULL) > > #define KUNIT_ASSERT_STREQ_MSG(test, left, right, fmt, ...) \ > - KUNIT_BINARY_STR_EQ_MSG_ASSERTION(test, \ > - KUNIT_ASSERTION, \ > - left, \ > - right, \ > - fmt, \ > - ##__VA_ARGS__) > + KUNIT_BINARY_STR_ASSERTION(test, \ > + KUNIT_ASSERTION, \ > + left, ==, right, \ > + fmt, \ > + ##__VA_ARGS__) > > /** > * KUNIT_ASSERT_STRNEQ() - Expects that strings @left and @right are not equal. > @@ -1670,12 +1643,11 @@ do { \ > KUNIT_ASSERT_STRNEQ_MSG(test, left, right, NULL) > > #define KUNIT_ASSERT_STRNEQ_MSG(test, left, right, fmt, ...) \ > - KUNIT_BINARY_STR_NE_MSG_ASSERTION(test, \ > - KUNIT_ASSERTION, \ > - left, \ > - right, \ > - fmt, \ > - ##__VA_ARGS__) > + KUNIT_BINARY_STR_ASSERTION(test, \ > + KUNIT_ASSERTION, \ > + left, !=, right, \ > + fmt, \ > + ##__VA_ARGS__) > > /** > * KUNIT_ASSERT_NOT_ERR_OR_NULL() - Assertion that @ptr is not null and not err. > -- > 2.34.1.703.g22d0c6ccf7-goog >