From nobody Sun May 4 22:03:36 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 2EB5F2505BF for <linux-kernel@vger.kernel.org>; Thu, 3 Apr 2025 13:33:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743687226; cv=none; b=l2BG6tI8ZgJm80fazyqPPJWMkZ3/4lvVHZ1M7tLWVJ1PWUUtKltEa/DtNnzZN8iKbvO2ZVPSv3oRgCP3sJaiTuBIJV99fZWNRWElNSSEGOZwpAqWP3fkX+HXaX9SuBK5+wLxxHVTJxzy+fyVSdMMehgn7n1n0Nn7yNsoRyJySjo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743687226; c=relaxed/simple; bh=nMRbYAhzi3enpxzVWvpdbPA24kzrQi4IdGrQ69iIiXs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=UN2TjvRQebmBt+IwT57djsekbDIR7siAH8tYahNuV/9xnbOvgPXwzm8bkCDsr4F6M/4LKX40T2LPq5wElO5rKs45lZaFkB2u3mCTZx0UTJoLsQONp7h+w4sNodNZeJEjJ/9zyeB77x0UDKtzyFRmLMpr7+ZgoOFf3Ike2ZMitOc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Uh8OhBy+; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Uh8OhBy+" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 128E8C4CEED; Thu, 3 Apr 2025 13:33:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1743687225; bh=nMRbYAhzi3enpxzVWvpdbPA24kzrQi4IdGrQ69iIiXs=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=Uh8OhBy+yWs2hAhTylquklZOGQ/W7Y3EUaHYY7PMf1SQXvYb5xu9QoLv8M18gj+cZ OfM6JLRFp/uU73pr7grNCuVElwaT4FcL4Vitexze99M9Z1/62v9U4hgpeyTRBSmoaZ l4Wlj52mQ/zjpefezL43jtD95O5St4+3Rqzk/UXXJD9mNmz6BMKEue2tpki7o3IxIQ xD+pephrLBVBfQzGpp5WboeElWrDEkSrbDAVSlqHCdAk0ouNOsyNWP1K7XFITsiRhr iId554RZ+VEE1QLqrY2eNDsloOUw39r90iYb5zxmxB9NhhpZSYGhEzzwv3CsXTqdtE Z2r1C2mtWWGaA== From: Maxime Ripard <mripard@kernel.org> Date: Thu, 03 Apr 2025 15:33:30 +0200 Subject: [PATCH v2 1/4] drm/vc4: tests: Use return instead of assert Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250403-drm-vc4-kunit-failures-v2-1-e09195cc8840@kernel.org> References: <20250403-drm-vc4-kunit-failures-v2-0-e09195cc8840@kernel.org> In-Reply-To: <20250403-drm-vc4-kunit-failures-v2-0-e09195cc8840@kernel.org> To: Dave Stevenson <dave.stevenson@raspberrypi.com>, =?utf-8?q?Ma=C3=ADra_Canal?= <mcanal@igalia.com>, Raspberry Pi Kernel Maintenance <kernel-list@raspberrypi.com>, Maarten Lankhorst <maarten.lankhorst@linux.intel.com>, Thomas Zimmermann <tzimmermann@suse.de>, David Airlie <airlied@gmail.com>, Simona Vetter <simona@ffwll.ch> Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Maxime Ripard <mripard@kernel.org> X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3363; i=mripard@kernel.org; h=from:subject:message-id; bh=nMRbYAhzi3enpxzVWvpdbPA24kzrQi4IdGrQ69iIiXs=; b=owGbwMvMwCX2+D1vfrpE4FHG02pJDOnv+gz3h1xKWRZ2syrt7q/t/23sxZexTOxlXpOnPd/G9 Vz8tZVHOkpZGMS4GGTFFFlihM2XxJ2a9bqTjW8ezBxWJpAhDFycAjARN09Ghs3zp7z8kPU+6/pG 9b1vF7OfM3Xd56h9If4D08L1T0Km5qgyMpz7nz7Tcb9b6c/Lxi0Xha0qT/iyBIYdqLt04OEVFu7 ZjjwA X-Developer-Key: i=mripard@kernel.org; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D The vc4_mock_atomic_add_output() and vc4_mock_atomic_del_output() assert that the functions they are calling didn't fail. Since some of them can return EDEADLK, we can't properly deal with it. Since both functions are expected to return an int, and all caller check the return value, let's just properly propagate the errors when they occur. Fixes: f759f5b53f1c ("drm/vc4: tests: Introduce a mocking infrastructure") Fixes: 76ec18dc5afa ("drm/vc4: tests: Add unit test suite for the PV muxing= ") Reviewed-by: Ma=C3=ADra Canal <mcanal@igalia.com> Signed-off-by: Maxime Ripard <mripard@kernel.org> --- drivers/gpu/drm/vc4/tests/vc4_mock_output.c | 36 +++++++++++++++++++------= ---- 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/drivers/gpu/drm/vc4/tests/vc4_mock_output.c b/drivers/gpu/drm/= vc4/tests/vc4_mock_output.c index e70d7c3076acf168782c48301f3b3dfb9be21f22..f0ddc223c1f839e8a14f37fdcbb= 72e7b2c836aa1 100644 --- a/drivers/gpu/drm/vc4/tests/vc4_mock_output.c +++ b/drivers/gpu/drm/vc4/tests/vc4_mock_output.c @@ -73,28 +73,34 @@ int vc4_mock_atomic_add_output(struct kunit *test, struct drm_encoder *encoder; struct drm_crtc *crtc; int ret; =20 encoder =3D vc4_find_encoder_by_type(drm, type); - KUNIT_ASSERT_NOT_ERR_OR_NULL(test, encoder); + if (!encoder) + return -ENODEV; =20 crtc =3D vc4_find_crtc_for_encoder(test, drm, encoder); - KUNIT_ASSERT_NOT_ERR_OR_NULL(test, crtc); + if (!crtc) + return -ENODEV; =20 output =3D encoder_to_vc4_dummy_output(encoder); conn =3D &output->connector; conn_state =3D drm_atomic_get_connector_state(state, conn); - KUNIT_ASSERT_NOT_ERR_OR_NULL(test, conn_state); + if (IS_ERR(conn_state)) + return PTR_ERR(conn_state); =20 ret =3D drm_atomic_set_crtc_for_connector(conn_state, crtc); - KUNIT_EXPECT_EQ(test, ret, 0); + if (ret) + return ret; =20 crtc_state =3D drm_atomic_get_crtc_state(state, crtc); - KUNIT_ASSERT_NOT_ERR_OR_NULL(test, crtc_state); + if (IS_ERR(crtc_state)) + return PTR_ERR(crtc_state); =20 ret =3D drm_atomic_set_mode_for_crtc(crtc_state, &default_mode); - KUNIT_EXPECT_EQ(test, ret, 0); + if (ret) + return ret; =20 crtc_state->active =3D true; =20 return 0; } @@ -111,28 +117,34 @@ int vc4_mock_atomic_del_output(struct kunit *test, struct drm_encoder *encoder; struct drm_crtc *crtc; int ret; =20 encoder =3D vc4_find_encoder_by_type(drm, type); - KUNIT_ASSERT_NOT_ERR_OR_NULL(test, encoder); + if (!encoder) + return -ENODEV; =20 crtc =3D vc4_find_crtc_for_encoder(test, drm, encoder); - KUNIT_ASSERT_NOT_ERR_OR_NULL(test, crtc); + if (!crtc) + return -ENODEV; =20 crtc_state =3D drm_atomic_get_crtc_state(state, crtc); - KUNIT_ASSERT_NOT_ERR_OR_NULL(test, crtc_state); + if (IS_ERR(crtc_state)) + return PTR_ERR(crtc_state); =20 crtc_state->active =3D false; =20 ret =3D drm_atomic_set_mode_for_crtc(crtc_state, NULL); - KUNIT_ASSERT_EQ(test, ret, 0); + if (ret) + return ret; =20 output =3D encoder_to_vc4_dummy_output(encoder); conn =3D &output->connector; conn_state =3D drm_atomic_get_connector_state(state, conn); - KUNIT_ASSERT_NOT_ERR_OR_NULL(test, conn_state); + if (IS_ERR(conn_state)) + return PTR_ERR(conn_state); =20 ret =3D drm_atomic_set_crtc_for_connector(conn_state, NULL); - KUNIT_ASSERT_EQ(test, ret, 0); + if (ret) + return ret; =20 return 0; } --=20 2.49.0