Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp1130049pxf; Fri, 2 Apr 2021 01:56:25 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyCivEqjLTenUqAAWyoT3AVscH5fecHm9skDiqAUZxLP8azS5SLyIVdRJh2kjPa6FAqsyOP X-Received: by 2002:a05:6e02:188c:: with SMTP id o12mr10060139ilu.143.1617353785761; Fri, 02 Apr 2021 01:56:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617353785; cv=none; d=google.com; s=arc-20160816; b=IDaa4T1NcovnQmJeapIcd/JUcDyspDeo+VMTZKm4i8FhO0341RdHkZv1J6UEooW1cH h0VPOcmHoljHxartlOg6OMdCVFFaJlOejOlDAZR/1iHF8JRwEfnianwG2E3Ekt373Mln GOxOQ7wg5G831arwSKDAbdkyG+JYcnzu7D4deM+t7vELv3oneQd9NxHkuKNKu9pR19mC VaK7ZJ2FBRFDfrRxP3Wn3DrJn42gVx2Na4ToyVc3wJ0nVWzHTe+WEjq0cxJPG7oy8prF dcmonLkW86jFFMpZCXx3Hr/RU1wYana+mW9UEA17d3cM8oqRCRLEsqqm8cIn9oDnEr/E FiLg== 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=nVi33W6kFMo5p4VQs7HO2/NAwfVOX/Oq4ggQUR4cf5s=; b=qIeIWogCs2fqGC0kLDLoZvrx8kTzqqI+8JPvI2cdaVK238HviJQTWgWT3NG1DMNS7j hwcGB26rqy4CQ/7NIKzWVNAAIGVbgmwdg3tTfCyRzgU3F2KBzl4ligdJ9yJBdIq9xWXh /cE0z+IVOIEF9Kw+Zn8FHcCTHSwWRqKK3LCjFZwfBPes1MIuP9G84K3uDNqdY3up7XtI Ow5bkzsGAvzzaUfQYbfu3hxEUzLhY4gMa3Bjgcs2nKppUcKgrOWFmlI6P6eTQaEeHpGt +Ysk+m5OaXzfBFkUMRbB5xBzKjGeLRhkMlQor5iNmEP/TQEZYhrmDEjyT4BIbdbdyAc5 NDGA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=FQHNta89; 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 g19si8283366jat.91.2021.04.02.01.56.12; Fri, 02 Apr 2021 01:56:25 -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=FQHNta89; 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 S234433AbhDBIzc (ORCPT + 99 others); Fri, 2 Apr 2021 04:55:32 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58254 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234404AbhDBIza (ORCPT ); Fri, 2 Apr 2021 04:55:30 -0400 Received: from mail-pl1-x633.google.com (mail-pl1-x633.google.com [IPv6:2607:f8b0:4864:20::633]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B1810C061788 for ; Fri, 2 Apr 2021 01:55:29 -0700 (PDT) Received: by mail-pl1-x633.google.com with SMTP id h8so2253395plt.7 for ; Fri, 02 Apr 2021 01:55:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=nVi33W6kFMo5p4VQs7HO2/NAwfVOX/Oq4ggQUR4cf5s=; b=FQHNta89onUKom3TbcnPmiHImDN7n8SYW6GvDBG+34z4M01pFAQ/m6KMPd0BcaYH3D auDS3XSHvSPopN/JJpse9aSjH78pCqGMHS6pprDERI1WCJdekFgRNaOZMj8jOpkuj38e j0iJiOtWwymHGpQ2OQQsh0JUEAPlscQ/jIqZvWevp4ug0Uu8Rxw2H19a7Mh0cLpg6MFy UVuNQv2lzYBsTJ2D2XCLreyvSZ9xFZJT7zSqsxdDa6o4gIMQoX9v59+pCvs6vNRljeg/ fv0rpSFSRZHjnHuKg5AA+vdyYkuwGeR06RSNIbLNYBpmDCZc/IAapy5ta+tQKcr5OKZk SwVA== 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=nVi33W6kFMo5p4VQs7HO2/NAwfVOX/Oq4ggQUR4cf5s=; b=fFV0nx/QXtDotV1jjBYeIgFHDzhIeePgDC2NW488TuafWzV35SVnvunLzUn3+vmy1m E2NXxCOkgmAirXyj22cE3lJNs34Jcn09xLiWE3AllXvL4uJvv+KtQRzO1S9kFEkj0GNM LTp8HGtMfHDuk09E/iBA4+0iTUMjzDD22Cj4jVBpXcwrwuC8RaVZqOiaFIAPZ+QRrTCM yY0FTfZLS8uHbgaz3rD4H0l6RC/tkqsZsUdyaSUs8uTWcPjuNVtaEffnRH1bDCkceOSm zf+v7OSzHp8LK9oBy2eFStvGzbsqMf2+ZFtW8x5Vqz1dlXc01/F4DSWYfwqY/biqAH0P h7TA== X-Gm-Message-State: AOAM531bUWuQ+oAgSUSUvsVmmGlVf9KRZ1mSh41adEsVj6GmTDtXec7R t2OCULkDWvv4L+eT0pFObzXIZYfSD07s/RI4jqfQ+Q== X-Received: by 2002:a17:90a:f489:: with SMTP id bx9mr12598214pjb.80.1617353729010; Fri, 02 Apr 2021 01:55:29 -0700 (PDT) MIME-Version: 1.0 References: <20210311152314.3814916-1-dlatypov@google.com> <20210311152314.3814916-2-dlatypov@google.com> In-Reply-To: <20210311152314.3814916-2-dlatypov@google.com> From: Brendan Higgins Date: Fri, 2 Apr 2021 01:55:17 -0700 Message-ID: Subject: Re: [PATCH v4 1/2] kunit: support failure from dynamic analysis tools To: Daniel Latypov Cc: David Gow , Alan Maguire , Linux Kernel Mailing List , KUnit Development , "open list:KERNEL SELFTEST FRAMEWORK" , Shuah Khan , Uriel Guajardo Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Mar 11, 2021 at 7:23 AM Daniel Latypov wrote: > > From: Uriel Guajardo > > Add a kunit_fail_current_test() function to fail the currently running > test, if any, with an error message. > > This is largely intended for dynamic analysis tools like UBSAN and for > fakes. > E.g. say I had a fake ops struct for testing and I wanted my `free` > function to complain if it was called with an invalid argument, or > caught a double-free. Most return void and have no normal means of > signalling failure (e.g. super_operations, iommu_ops, etc.). > > Key points: > * Always update current->kunit_test so anyone can use it. > * commit 83c4e7a0363b ("KUnit: KASAN Integration") only updated it for > CONFIG_KASAN=y > > * Create a new header so non-test code doesn't have > to include all of (e.g. lib/ubsan.c) > > * Forward the file and line number to make it easier to track down > failures > > * Declare the helper function for nice __printf() warnings about mismatched > format strings even when KUnit is not enabled. > > Example output from kunit_fail_current_test("message"): > [15:19:34] [FAILED] example_simple_test > [15:19:34] # example_simple_test: initializing > [15:19:34] # example_simple_test: lib/kunit/kunit-example-test.c:24: message > [15:19:34] not ok 1 - example_simple_test > > Co-developed-by: Daniel Latypov > Signed-off-by: Daniel Latypov > Signed-off-by: Uriel Guajardo > Reviewed-by: Alan Maguire Reviewed-by: Brendan Higgins