From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 490113BFE41 for ; Fri, 15 May 2026 12:30:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778848220; cv=none; b=QFQoUug5jr6ETR7W+fFZNr1spT95+xZ3RsJ+jpPoau9zArO2lluS1QsVlI/dARWKxan7gwxejCwUFGvbJn32vXqdV7QM+UU7p5jqZJHrf2KqsTZ3B7og/bmDXIQAvgVz/XvUnWoaxxILQLuwVA0FbQ83SqUU+iIFfouxCbgf4pg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778848220; c=relaxed/simple; bh=ONi7awMizuGRTA2HeQXx+Qo6YyDHROJic9zzskpdn4k=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=tusrnJXhD04G2/mjR5XZ4jj7y+JgFlvUsTEn/F2Q8lt2gyUmfZ+KGwj3hHk3ukfgx2m/jnn6b+NAq6HBmx7wRj/hCudC0D2IOYLGMd/kJKIzufehbMIUn4ooHXUAGWFPOnScG7u3yTIodIRLBZuqx9fk8XKvR5zHMEOhx0h4ILo= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=EQQbRGz7; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="EQQbRGz7" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1778848218; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=FEBwBuDymXqtgfipLBoE9xL2mtSkar53Y4il/kQ0kJw=; b=EQQbRGz7+Q0yUynk+rHZtHkrYruqpoYnUy2jEwSVB1GHtla0pr4Z+FbVH+toJRj7ranCNW WyLL6KIr8a4i1d5X0jXwy5VJN5qEAjT/Jsg59Q6M9l5O+zsXR9aNNPoymQMEws9Li8yWUO J78KCe8/3+tgmeQR/pVZlSwShqrgVwE= Received: from mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-359-UybKAniIMAeexXl0cBYm9Q-1; Fri, 15 May 2026 08:30:13 -0400 X-MC-Unique: UybKAniIMAeexXl0cBYm9Q-1 X-Mimecast-MFC-AGG-ID: UybKAniIMAeexXl0cBYm9Q_1778848210 Received: from mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.17]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id AB1411956062; Fri, 15 May 2026 12:30:09 +0000 (UTC) Received: from [192.168.1.153] (headnet01.pony-001.prod.iad2.dc.redhat.com [10.2.32.101]) by mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 7939A1955F2D; Fri, 15 May 2026 12:30:02 +0000 (UTC) From: Albert Esteve Date: Fri, 15 May 2026 14:29:34 +0200 Subject: [PATCH v13 3/4] drm: Suppress intentional warning backtraces in scaling unit tests Precedence: bulk X-Mailing-List: linux-doc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Message-Id: <20260515-kunit_add_support-v13-3-18ee42f96e7b@redhat.com> References: <20260515-kunit_add_support-v13-0-18ee42f96e7b@redhat.com> In-Reply-To: <20260515-kunit_add_support-v13-0-18ee42f96e7b@redhat.com> To: Arnd Bergmann , Brendan Higgins , David Gow , Rae Moar , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Jonathan Corbet , Shuah Khan , Andrew Morton , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti Cc: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-kselftest@vger.kernel.org, kunit-dev@googlegroups.com, dri-devel@lists.freedesktop.org, workflows@vger.kernel.org, linux-riscv@lists.infradead.org, linux-doc@vger.kernel.org, peterz@infradead.org, Guenter Roeck , Linux Kernel Functional Testing , =?utf-8?q?Ma=C3=ADra_Canal?= , Alessandro Carminati , Albert Esteve , Dan Carpenter , Simona Vetter X-Developer-Signature: v=1; a=ed25519-sha256; t=1778848177; l=3810; i=aesteve@redhat.com; s=20260303; h=from:subject:message-id; bh=rPDAUA5/eI1GmSDx2demf6AeqBwHHnfPFpVSMTL5AHs=; b=CiGtWAj3Sxok8xNBwNJhHUScegPnII9dD6Ao+Xj/BNFA55q4TmXHafnZTUAqUJuFBz5IHJJV0 5zFsDpaeNgNBckO3B+KYyas5tKSbWBvU1wk6LFUULAn8R+ahjSwKqRm X-Developer-Key: i=aesteve@redhat.com; a=ed25519; pk=YSFz6sOHd2L45+Fr8DIvHTi6lSIjhLZ5T+rkxspJt1s= X-Scanned-By: MIMEDefang 3.0 on 10.30.177.17 From: Guenter Roeck The drm_test_rect_calc_hscale and drm_test_rect_calc_vscale unit tests intentionally trigger warning backtraces by providing invalid parameters the tested functions. Suppress the backtraces to avoid clogging the kernel log and distracting from real problems. The suppression API also exposes a warning counter, which is used to assert that the expected warning was actually triggered. On CONFIG_BUG=n, WARN_ON() is a no-op and the counter stays zero; the expected count is adjusted accordingly, preserving the return value check on all configurations. Tested-by: Linux Kernel Functional Testing Acked-by: Dan Carpenter Acked-by: MaĆ­ra Canal Cc: Maarten Lankhorst Cc: David Airlie Cc: Daniel Vetter Signed-off-by: Guenter Roeck Signed-off-by: Alessandro Carminati Acked-by: David Gow Signed-off-by: Albert Esteve --- drivers/gpu/drm/tests/drm_rect_test.c | 36 +++++++++++++++++++++++++++++------ 1 file changed, 30 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/tests/drm_rect_test.c b/drivers/gpu/drm/tests/drm_rect_test.c index 17e1f34b76101..5aa8ec5fc4d64 100644 --- a/drivers/gpu/drm/tests/drm_rect_test.c +++ b/drivers/gpu/drm/tests/drm_rect_test.c @@ -10,6 +10,7 @@ #include #include +#include #include #include @@ -407,10 +408,22 @@ KUNIT_ARRAY_PARAM(drm_rect_scale, drm_rect_scale_cases, drm_rect_scale_case_desc static void drm_test_rect_calc_hscale(struct kunit *test) { const struct drm_rect_scale_case *params = test->param_value; - int scaling_factor; + /* With CONFIG_BUG=n, WARN_ON() is a no-op so no warning fires. */ + int expected_warnings = IS_ENABLED(CONFIG_BUG) ? + (params->expected_scaling_factor == -EINVAL) : 0; + int scaling_factor = INT_MIN; - scaling_factor = drm_rect_calc_hscale(¶ms->src, ¶ms->dst, - params->min_range, params->max_range); + /* + * drm_rect_calc_hscale() generates a warning backtrace whenever bad + * parameters are passed to it. This affects unit tests with -EINVAL + * error code in expected_scaling_factor. + */ + kunit_warning_suppress(test) { + scaling_factor = drm_rect_calc_hscale(¶ms->src, ¶ms->dst, + params->min_range, + params->max_range); + KUNIT_EXPECT_SUPPRESSED_WARNING_COUNT(test, expected_warnings); + } KUNIT_EXPECT_EQ(test, scaling_factor, params->expected_scaling_factor); } @@ -418,10 +431,21 @@ static void drm_test_rect_calc_hscale(struct kunit *test) static void drm_test_rect_calc_vscale(struct kunit *test) { const struct drm_rect_scale_case *params = test->param_value; - int scaling_factor; + /* With CONFIG_BUG=n, WARN_ON() is a no-op so no warning fires. */ + int expected_warnings = IS_ENABLED(CONFIG_BUG) ? + (params->expected_scaling_factor == -EINVAL) : 0; + int scaling_factor = INT_MIN; - scaling_factor = drm_rect_calc_vscale(¶ms->src, ¶ms->dst, - params->min_range, params->max_range); + /* + * drm_rect_calc_vscale() generates a warning backtrace whenever bad + * parameters are passed to it. This affects unit tests with -EINVAL + * error code in expected_scaling_factor. + */ + kunit_warning_suppress(test) { + scaling_factor = drm_rect_calc_vscale(¶ms->src, ¶ms->dst, + params->min_range, params->max_range); + KUNIT_EXPECT_SUPPRESSED_WARNING_COUNT(test, expected_warnings); + } KUNIT_EXPECT_EQ(test, scaling_factor, params->expected_scaling_factor); } -- 2.53.0