Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp754031pxj; Thu, 13 May 2021 16:30:04 -0700 (PDT) X-Google-Smtp-Source: ABdhPJydQDIdngkauteoxBqlzSpsresSu/B31PSSdHpymL+GV1I9YHlwLxM9ztQrJrAE8KkZvXvT X-Received: by 2002:a05:6e02:20c5:: with SMTP id 5mr38085506ilq.14.1620948604435; Thu, 13 May 2021 16:30:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620948604; cv=none; d=google.com; s=arc-20160816; b=1EHK9Ox2C4Bj9JVABLfSsMoJ0BV8hXk+bSA2GxqQtJYN78HnxMGSmZWzu+t0rihAKy mt3USSf7nMWeUN8Qo6ulUKhM7SpSril4HZXmTDPAO39WUiJKxinyfbFgy8uyjGnCc/iq Qj71ZNgj5e/hTW2VvJqEhQeettnIK82MkRYh67cz+N1my905qOKl5CXBgC1A4u39ebGD O3Q2CFZN09FFQK8ESctGU7Ga8+K6ifmXAzhvUiCqC9CxTRls4O0+oSTGuzSLF+KsYmKn WIu9yAHQZazCYcQExkez8aFZ39j01xEjN3r7QWSWbalRepWJd20uAi9tVwQawL2yxWwm ZLNA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:from:subject:mime-version:message-id:date :dkim-signature; bh=D+yqagsGWp1tAEgFX6sPw/TG2ByjsEg/cBXbIsBFBzw=; b=Gh1eEXpTorG2HRkMrFnnK4a16kL823B/Lgwkw0IWT6WzZUAbnM5VxugNf4FAYg91Ei dgFXuDZ7QbPAOYlxdRnyKnyhuXyRh1npla0qDI764pI0tS62bkEfnlLrhb2eKhPBFoqJ M0Xi+4bklUA0BKYkZsrfdCxo5Y9aOx29TLJsZ8FLtz5Ap0zBzI+XX+vPODvudhHMBAlk Foox83NmGSfNG78QobnBBXn9Pb7BF/N1CUzRNKSG5yeF/4TS8jAHG+egGBlYn2k1dnQE ddkrvik1dbpcE8L71JbVtET0oVvtt0/EnnO/cok/t8BnX1erIppGQAEbo7MmrTHKZpFq qPbg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=acF3o6KZ; 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 a14si5099928iol.90.2021.05.13.16.29.52; Thu, 13 May 2021 16:30:04 -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=@google.com header.s=20161025 header.b=acF3o6KZ; 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 S230160AbhEMTdf (ORCPT + 99 others); Thu, 13 May 2021 15:33:35 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54462 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230009AbhEMTd1 (ORCPT ); Thu, 13 May 2021 15:33:27 -0400 Received: from mail-yb1-xb4a.google.com (mail-yb1-xb4a.google.com [IPv6:2607:f8b0:4864:20::b4a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A568CC061756 for ; Thu, 13 May 2021 12:32:16 -0700 (PDT) Received: by mail-yb1-xb4a.google.com with SMTP id w80-20020a25df530000b02904f953b5241bso8293284ybg.18 for ; Thu, 13 May 2021 12:32:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:message-id:mime-version:subject:from:to:cc; bh=D+yqagsGWp1tAEgFX6sPw/TG2ByjsEg/cBXbIsBFBzw=; b=acF3o6KZ7Tyz+LT12SrTKSIZrlw0ycariii/Eq+dzME0v1aWXdhZqJisp7vrxn0pti kpp3pmw8ZfnovUCedVziAil5BfAoDXtdMFN5yZLgXb937CBgaKYfv3eV4Pw7nPtcacXs I7DYhVambo3aXKKNer/UVQezcunTjbAEOEgMdFC9rLp2dDUmdW/mPjYdwco2TeBP1cMa 1Z1dSnZQ0ZTE9evtBew/VsOwz5aWQ3Yt6npE7Ax+eMxVIshkdZdU8T4M746Ra4vgZ1JB z7vKrXTWzXaw4+hlwESZGYv8/tdpdvJUeSwuLI+Y0lpTSk1VkCgkVpg2cBuSt7jVUMmg VkuQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:message-id:mime-version:subject:from:to:cc; bh=D+yqagsGWp1tAEgFX6sPw/TG2ByjsEg/cBXbIsBFBzw=; b=rCIzWLOW+AUw9QtgnpSu7V5SAdeE7/MMKXbrXaPlx/uYrYT1RSy10Z7cfdmo6q4jZ2 IwPtFqFJGWeeDwlWwAfEmEOJaERGV8iznCYcWAMLROPGy8NrTiU9aKMOtN8FU1J/6jOE s38B+wphbSlPDsMdZlMktjStmoPFMeGUvg3y+mO94X48MK3YyEwE3Ov3JBr35mGVgnn8 CxfNJ79//xkrGjbuy57hGa5tKtM0mHm812BlwmIeHov5erM+/9YcMPxre0glWWiaklWJ TbvtAf6v5DXBzu5S0BgbJO61AuhHfMz7kha4krOMBRIg37Au/ojxP9I2EoiXgdoHkdAP rIcQ== X-Gm-Message-State: AOAM5328BPgNrRyn2Gdz/1k2Y6KG/OXian46AnaDetvS0AFyt43fOUG1 m7MYUnnXHwe0p0j4UjeziS4OZavB58FOzQ== X-Received: from spirogrip.svl.corp.google.com ([2620:15c:2cb:201:5f61:8ca4:879b:809e]) (user=davidgow job=sendgmr) by 2002:a25:4409:: with SMTP id r9mr44236161yba.401.1620934335869; Thu, 13 May 2021 12:32:15 -0700 (PDT) Date: Thu, 13 May 2021 12:31:55 -0700 Message-Id: <20210513193204.816681-1-davidgow@google.com> Mime-Version: 1.0 X-Mailer: git-send-email 2.31.1.751.gd2f1c929bd-goog Subject: [PATCH v2 01/10] kunit: Do not typecheck binary assertions From: David Gow To: Brendan Higgins , Daniel Latypov , Shuah Khan Cc: David Gow , kunit-dev@googlegroups.com, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The use of typecheck() in KUNIT_EXPECT_EQ() and friends is causing more problems than I think it's worth. Things like enums need to have their values explicitly cast, and literals all need to be very precisely typed, else a large warning will be printed. While typechecking does have its uses, the additional overhead of having lots of needless casts -- combined with the awkward error messages which don't mention which types are involved -- makes tests less readable and more difficult to write. By removing the typecheck() call, the two arguments still need to be of compatible types, but don't need to be of exactly the same time, which seems a less confusing and more useful compromise. Signed-off-by: David Gow Reviewed-by: Daniel Latypov Reviewed-by: Brendan Higgins --- Changes since v1: https://lore.kernel.org/linux-kselftest/20210507050908.1008686-1-davidgow@google.com/ - Tidy up the patch description to note that a warning was being produced, not an error. - Add additional patches to remove many of the now unnecessary casts. include/kunit/test.h | 1 - 1 file changed, 1 deletion(-) diff --git a/include/kunit/test.h b/include/kunit/test.h index 49601c4b98b8..4c56ffcb7403 100644 --- a/include/kunit/test.h +++ b/include/kunit/test.h @@ -775,7 +775,6 @@ void kunit_do_assertion(struct kunit *test, do { \ typeof(left) __left = (left); \ typeof(right) __right = (right); \ - ((void)__typecheck(__left, __right)); \ \ KUNIT_ASSERTION(test, \ __left op __right, \ -- 2.31.1.751.gd2f1c929bd-goog