All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] drm/cmdline-parser: Merge negative tests
@ 2022-08-04 13:17 Michał Winiarski
  2022-08-04 13:17 ` [PATCH 2/2] drm/cmdline-parser: Use assert when needed Michał Winiarski
  2022-08-10 13:51 ` [PATCH 1/2] drm/cmdline-parser: Merge negative tests Maíra Canal
  0 siblings, 2 replies; 7+ messages in thread
From: Michał Winiarski @ 2022-08-04 13:17 UTC (permalink / raw)
  To: dri-devel
  Cc: Michał Winiarski, Arthur Grillo, David Airlie,
	Maíra Canal, Daniel Latypov, Javier Martinez Canillas

Negative tests can be expressed as a single parameterized test case,
which highlights that we're following the same test logic (passing
negative cmdline and expecting drm_mode_parse_command_line_for_connector
to fail), which improves readability.

Signed-off-by: Michał Winiarski <michal.winiarski@intel.com>
---
 .../gpu/drm/tests/drm_cmdline_parser_test.c   | 293 ++++++------------
 1 file changed, 103 insertions(+), 190 deletions(-)

diff --git a/drivers/gpu/drm/tests/drm_cmdline_parser_test.c b/drivers/gpu/drm/tests/drm_cmdline_parser_test.c
index 59b29cdfdd35..058808faaf4a 100644
--- a/drivers/gpu/drm/tests/drm_cmdline_parser_test.c
+++ b/drivers/gpu/drm/tests/drm_cmdline_parser_test.c
@@ -109,24 +109,6 @@ static void drm_cmdline_test_force_d_only(struct kunit *test)
 	KUNIT_EXPECT_EQ(test, mode.force, DRM_FORCE_OFF);
 }
 
-static void drm_cmdline_test_margin_only(struct kunit *test)
-{
-	struct drm_cmdline_mode mode = { };
-	const char *cmdline = "m";
-
-	KUNIT_EXPECT_FALSE(test, drm_mode_parse_command_line_for_connector(cmdline,
-									   &no_connector, &mode));
-}
-
-static void drm_cmdline_test_interlace_only(struct kunit *test)
-{
-	struct drm_cmdline_mode mode = { };
-	const char *cmdline = "i";
-
-	KUNIT_EXPECT_FALSE(test, drm_mode_parse_command_line_for_connector(cmdline,
-									   &no_connector, &mode));
-}
-
 static void drm_cmdline_test_res(struct kunit *test)
 {
 	struct drm_cmdline_mode mode = { };
@@ -149,42 +131,6 @@ static void drm_cmdline_test_res(struct kunit *test)
 	KUNIT_EXPECT_EQ(test, mode.force, DRM_FORCE_UNSPECIFIED);
 }
 
-static void drm_cmdline_test_res_missing_x(struct kunit *test)
-{
-	struct drm_cmdline_mode mode = { };
-	const char *cmdline = "x480";
-
-	KUNIT_EXPECT_FALSE(test, drm_mode_parse_command_line_for_connector(cmdline,
-									   &no_connector, &mode));
-}
-
-static void drm_cmdline_test_res_missing_y(struct kunit *test)
-{
-	struct drm_cmdline_mode mode = { };
-	const char *cmdline = "1024x";
-
-	KUNIT_EXPECT_FALSE(test, drm_mode_parse_command_line_for_connector(cmdline,
-									   &no_connector, &mode));
-}
-
-static void drm_cmdline_test_res_bad_y(struct kunit *test)
-{
-	struct drm_cmdline_mode mode = { };
-	const char *cmdline = "1024xtest";
-
-	KUNIT_EXPECT_FALSE(test, drm_mode_parse_command_line_for_connector(cmdline,
-									   &no_connector, &mode));
-}
-
-static void drm_cmdline_test_res_missing_y_bpp(struct kunit *test)
-{
-	struct drm_cmdline_mode mode = { };
-	const char *cmdline = "1024x-24";
-
-	KUNIT_EXPECT_FALSE(test, drm_mode_parse_command_line_for_connector(cmdline,
-									   &no_connector, &mode));
-}
-
 static void drm_cmdline_test_res_vesa(struct kunit *test)
 {
 	struct drm_cmdline_mode mode = { };
@@ -274,15 +220,6 @@ static void drm_cmdline_test_res_bpp(struct kunit *test)
 	KUNIT_EXPECT_EQ(test, mode.force, DRM_FORCE_UNSPECIFIED);
 }
 
-static void drm_cmdline_test_res_bad_bpp(struct kunit *test)
-{
-	struct drm_cmdline_mode mode = { };
-	const char *cmdline = "720x480-test";
-
-	KUNIT_EXPECT_FALSE(test, drm_mode_parse_command_line_for_connector(cmdline,
-									   &no_connector, &mode));
-}
-
 static void drm_cmdline_test_res_refresh(struct kunit *test)
 {
 	struct drm_cmdline_mode mode = { };
@@ -306,15 +243,6 @@ static void drm_cmdline_test_res_refresh(struct kunit *test)
 	KUNIT_EXPECT_EQ(test, mode.force, DRM_FORCE_UNSPECIFIED);
 }
 
-static void drm_cmdline_test_res_bad_refresh(struct kunit *test)
-{
-	struct drm_cmdline_mode mode = { };
-	const char *cmdline = "720x480@refresh";
-
-	KUNIT_EXPECT_FALSE(test, drm_mode_parse_command_line_for_connector(cmdline,
-									   &no_connector, &mode));
-}
-
 static void drm_cmdline_test_res_bpp_refresh(struct kunit *test)
 {
 	struct drm_cmdline_mode mode = { };
@@ -411,15 +339,6 @@ static void drm_cmdline_test_res_bpp_refresh_force_off(struct kunit *test)
 	KUNIT_EXPECT_EQ(test, mode.force, DRM_FORCE_OFF);
 }
 
-static void drm_cmdline_test_res_bpp_refresh_force_on_off(struct kunit *test)
-{
-	struct drm_cmdline_mode mode = { };
-	const char *cmdline =  "720x480-24@60de";
-
-	KUNIT_EXPECT_FALSE(test, drm_mode_parse_command_line_for_connector(cmdline,
-									   &no_connector, &mode));
-}
-
 static void drm_cmdline_test_res_bpp_refresh_force_on(struct kunit *test)
 {
 	struct drm_cmdline_mode mode = { };
@@ -563,24 +482,6 @@ static void drm_cmdline_test_res_vesa_margins(struct kunit *test)
 	KUNIT_EXPECT_EQ(test, mode.force, DRM_FORCE_UNSPECIFIED);
 }
 
-static void drm_cmdline_test_res_invalid_mode(struct kunit *test)
-{
-	struct drm_cmdline_mode mode = { };
-	const char *cmdline = "720x480f";
-
-	KUNIT_EXPECT_FALSE(test, drm_mode_parse_command_line_for_connector(cmdline,
-									   &no_connector, &mode));
-}
-
-static void drm_cmdline_test_res_bpp_wrong_place_mode(struct kunit *test)
-{
-	struct drm_cmdline_mode mode = { };
-	const char *cmdline = "720x480e-24";
-
-	KUNIT_EXPECT_FALSE(test, drm_mode_parse_command_line_for_connector(cmdline,
-									   &no_connector, &mode));
-}
-
 static void drm_cmdline_test_name(struct kunit *test)
 {
 	struct drm_cmdline_mode mode = { };
@@ -608,42 +509,6 @@ static void drm_cmdline_test_name_bpp(struct kunit *test)
 	KUNIT_EXPECT_EQ(test, mode.bpp, 24);
 }
 
-static void drm_cmdline_test_name_bpp_refresh(struct kunit *test)
-{
-	struct drm_cmdline_mode mode = { };
-	const char *cmdline = "NTSC-24@60";
-
-	KUNIT_EXPECT_FALSE(test, drm_mode_parse_command_line_for_connector(cmdline,
-									   &no_connector, &mode));
-}
-
-static void drm_cmdline_test_name_refresh(struct kunit *test)
-{
-	struct drm_cmdline_mode mode = { };
-	const char *cmdline = "NTSC@60";
-
-	KUNIT_EXPECT_FALSE(test, drm_mode_parse_command_line_for_connector(cmdline,
-									   &no_connector, &mode));
-}
-
-static void drm_cmdline_test_name_refresh_wrong_mode(struct kunit *test)
-{
-	struct drm_cmdline_mode mode = { };
-	const char *cmdline = "NTSC@60m";
-
-	KUNIT_EXPECT_FALSE(test, drm_mode_parse_command_line_for_connector(cmdline,
-									   &no_connector, &mode));
-}
-
-static void drm_cmdline_test_name_refresh_invalid_mode(struct kunit *test)
-{
-	struct drm_cmdline_mode mode = { };
-	const char *cmdline = "NTSC@60f";
-
-	KUNIT_EXPECT_FALSE(test, drm_mode_parse_command_line_for_connector(cmdline,
-									   &no_connector, &mode));
-}
-
 static void drm_cmdline_test_name_option(struct kunit *test)
 {
 	struct drm_cmdline_mode mode = { };
@@ -762,33 +627,6 @@ static void drm_cmdline_test_rotate_270(struct kunit *test)
 	KUNIT_EXPECT_EQ(test, mode.force, DRM_FORCE_UNSPECIFIED);
 }
 
-static void drm_cmdline_test_rotate_multiple(struct kunit *test)
-{
-	struct drm_cmdline_mode mode = { };
-	const char *cmdline = "720x480,rotate=0,rotate=90";
-
-	KUNIT_EXPECT_FALSE(test, drm_mode_parse_command_line_for_connector(cmdline,
-									   &no_connector, &mode));
-}
-
-static void drm_cmdline_test_rotate_invalid_val(struct kunit *test)
-{
-	struct drm_cmdline_mode mode = { };
-	const char *cmdline = "720x480,rotate=42";
-
-	KUNIT_EXPECT_FALSE(test, drm_mode_parse_command_line_for_connector(cmdline,
-									   &no_connector, &mode));
-}
-
-static void drm_cmdline_test_rotate_truncated(struct kunit *test)
-{
-	struct drm_cmdline_mode mode = { };
-	const char *cmdline = "720x480,rotate=";
-
-	KUNIT_EXPECT_FALSE(test, drm_mode_parse_command_line_for_connector(cmdline,
-									   &no_connector, &mode));
-}
-
 static void drm_cmdline_test_hmirror(struct kunit *test)
 {
 	struct drm_cmdline_mode mode = { };
@@ -885,15 +723,6 @@ static void drm_cmdline_test_multiple_options(struct kunit *test)
 	KUNIT_EXPECT_EQ(test, mode.force, DRM_FORCE_UNSPECIFIED);
 }
 
-static void drm_cmdline_test_invalid_option(struct kunit *test)
-{
-	struct drm_cmdline_mode mode = { };
-	const char *cmdline = "720x480,test=42";
-
-	KUNIT_EXPECT_FALSE(test, drm_mode_parse_command_line_for_connector(cmdline,
-									   &no_connector, &mode));
-}
-
 static void drm_cmdline_test_bpp_extra_and_option(struct kunit *test)
 {
 	struct drm_cmdline_mode mode = { };
@@ -1006,64 +835,148 @@ static void drm_cmdline_test_panel_orientation(struct kunit *test)
 	KUNIT_EXPECT_EQ(test, mode.force, DRM_FORCE_UNSPECIFIED);
 }
 
+struct drm_cmdline_negative_test {
+	const char *name;
+	const char *cmdline;
+};
+
+static void drm_cmdline_test_negative(struct kunit *test)
+{
+	const struct drm_cmdline_negative_test *params = test->param_value;
+	struct drm_cmdline_mode mode = { };
+
+	KUNIT_EXPECT_FALSE(test, drm_mode_parse_command_line_for_connector(params->cmdline,
+									   &no_connector,
+									   &mode));
+}
+
+static const struct drm_cmdline_negative_test drm_cmdline_negative_tests[] = {
+	{
+		.name = "margin_only",
+		.cmdline = "m",
+	},
+	{
+		.name = "interlace_only",
+		.cmdline = "i",
+	},
+	{
+		.name = "res_missing_x",
+		.cmdline = "x480",
+	},
+	{
+		.name = "res_missing_y",
+		.cmdline = "1024x",
+	},
+	{
+		.name = "res_bad_y",
+		.cmdline = "1024xtest",
+	},
+	{
+		.name = "res_missing_y_bpp",
+		.cmdline = "1024x-24",
+	},
+	{
+		.name = "res_bad_bpp",
+		.cmdline = "720x480-test",
+	},
+	{
+		.name = "res_bad_refresh",
+		.cmdline = "720x480@refresh",
+	},
+	{
+		.name = "res_bpp_refresh_force_on_off",
+		.cmdline = "720x480-24@60de",
+	},
+	{
+		.name = "res_invalid_mode",
+		.cmdline = "720x480f",
+	},
+	{
+		.name = "res_bpp_wrong_place_mode",
+		.cmdline = "720x480e-24",
+	},
+	{
+		.name = "name_bpp_refresh",
+		.cmdline = "NTSC-24@60",
+	},
+	{
+		.name = "name_refresh",
+		.cmdline = "NTSC@60",
+	},
+	{
+		.name = "name_refresh_wrong_mode",
+		.cmdline = "NTSC@60m",
+	},
+	{
+		.name = "name_refresh_invalid_mode",
+		.cmdline = "NTSC@60f",
+	},
+	{
+		.name = "rotate_multiple",
+		.cmdline = "720x480,rotate=0,rotate=90",
+	},
+	{
+		.name = "rotate_invalid_val",
+		.cmdline = "720x480,rotate=42",
+	},
+	{
+		.name = "rotate_truncated",
+		.cmdline = "720x480,rotate=",
+	},
+	{
+		.name = "invalid_option",
+		.cmdline = "720x480,test=42",
+	},
+};
+
+static void drm_cmdline_negative_desc(const struct drm_cmdline_negative_test *t,
+				      char *desc)
+{
+	sprintf(desc, "%s", t->name);
+}
+
+KUNIT_ARRAY_PARAM(drm_cmdline_negative, drm_cmdline_negative_tests, drm_cmdline_negative_desc);
+
 static struct kunit_case drm_cmdline_parser_tests[] = {
 	KUNIT_CASE(drm_cmdline_test_force_d_only),
 	KUNIT_CASE(drm_cmdline_test_force_D_only_dvi),
 	KUNIT_CASE(drm_cmdline_test_force_D_only_hdmi),
 	KUNIT_CASE(drm_cmdline_test_force_D_only_not_digital),
 	KUNIT_CASE(drm_cmdline_test_force_e_only),
-	KUNIT_CASE(drm_cmdline_test_margin_only),
-	KUNIT_CASE(drm_cmdline_test_interlace_only),
 	KUNIT_CASE(drm_cmdline_test_res),
-	KUNIT_CASE(drm_cmdline_test_res_missing_x),
-	KUNIT_CASE(drm_cmdline_test_res_missing_y),
-	KUNIT_CASE(drm_cmdline_test_res_bad_y),
-	KUNIT_CASE(drm_cmdline_test_res_missing_y_bpp),
 	KUNIT_CASE(drm_cmdline_test_res_vesa),
 	KUNIT_CASE(drm_cmdline_test_res_vesa_rblank),
 	KUNIT_CASE(drm_cmdline_test_res_rblank),
 	KUNIT_CASE(drm_cmdline_test_res_bpp),
-	KUNIT_CASE(drm_cmdline_test_res_bad_bpp),
 	KUNIT_CASE(drm_cmdline_test_res_refresh),
-	KUNIT_CASE(drm_cmdline_test_res_bad_refresh),
 	KUNIT_CASE(drm_cmdline_test_res_bpp_refresh),
 	KUNIT_CASE(drm_cmdline_test_res_bpp_refresh_interlaced),
 	KUNIT_CASE(drm_cmdline_test_res_bpp_refresh_margins),
 	KUNIT_CASE(drm_cmdline_test_res_bpp_refresh_force_off),
-	KUNIT_CASE(drm_cmdline_test_res_bpp_refresh_force_on_off),
 	KUNIT_CASE(drm_cmdline_test_res_bpp_refresh_force_on),
 	KUNIT_CASE(drm_cmdline_test_res_bpp_refresh_force_on_analog),
 	KUNIT_CASE(drm_cmdline_test_res_bpp_refresh_force_on_digital),
 	KUNIT_CASE(drm_cmdline_test_res_bpp_refresh_interlaced_margins_force_on),
 	KUNIT_CASE(drm_cmdline_test_res_margins_force_on),
 	KUNIT_CASE(drm_cmdline_test_res_vesa_margins),
-	KUNIT_CASE(drm_cmdline_test_res_invalid_mode),
-	KUNIT_CASE(drm_cmdline_test_res_bpp_wrong_place_mode),
 	KUNIT_CASE(drm_cmdline_test_name),
 	KUNIT_CASE(drm_cmdline_test_name_bpp),
-	KUNIT_CASE(drm_cmdline_test_name_refresh),
-	KUNIT_CASE(drm_cmdline_test_name_bpp_refresh),
-	KUNIT_CASE(drm_cmdline_test_name_refresh_wrong_mode),
-	KUNIT_CASE(drm_cmdline_test_name_refresh_invalid_mode),
 	KUNIT_CASE(drm_cmdline_test_name_option),
 	KUNIT_CASE(drm_cmdline_test_name_bpp_option),
 	KUNIT_CASE(drm_cmdline_test_rotate_0),
 	KUNIT_CASE(drm_cmdline_test_rotate_90),
 	KUNIT_CASE(drm_cmdline_test_rotate_180),
 	KUNIT_CASE(drm_cmdline_test_rotate_270),
-	KUNIT_CASE(drm_cmdline_test_rotate_multiple),
-	KUNIT_CASE(drm_cmdline_test_rotate_invalid_val),
-	KUNIT_CASE(drm_cmdline_test_rotate_truncated),
 	KUNIT_CASE(drm_cmdline_test_hmirror),
 	KUNIT_CASE(drm_cmdline_test_vmirror),
 	KUNIT_CASE(drm_cmdline_test_margin_options),
 	KUNIT_CASE(drm_cmdline_test_multiple_options),
-	KUNIT_CASE(drm_cmdline_test_invalid_option),
 	KUNIT_CASE(drm_cmdline_test_bpp_extra_and_option),
 	KUNIT_CASE(drm_cmdline_test_extra_and_option),
 	KUNIT_CASE(drm_cmdline_test_freestanding_options),
 	KUNIT_CASE(drm_cmdline_test_freestanding_force_e_and_options),
 	KUNIT_CASE(drm_cmdline_test_panel_orientation),
+	KUNIT_CASE_PARAM(drm_cmdline_test_negative, drm_cmdline_negative_gen_params),
 	{}
 };
 
-- 
2.37.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 2/2] drm/cmdline-parser: Use assert when needed
  2022-08-04 13:17 [PATCH 1/2] drm/cmdline-parser: Merge negative tests Michał Winiarski
@ 2022-08-04 13:17 ` Michał Winiarski
  2022-08-04 19:05     ` kernel test robot
                     ` (2 more replies)
  2022-08-10 13:51 ` [PATCH 1/2] drm/cmdline-parser: Merge negative tests Maíra Canal
  1 sibling, 3 replies; 7+ messages in thread
From: Michał Winiarski @ 2022-08-04 13:17 UTC (permalink / raw)
  To: dri-devel
  Cc: Michał Winiarski, Arthur Grillo, David Airlie,
	Maíra Canal, Daniel Latypov, Javier Martinez Canillas

Expecting to observe a specific value, when the function responsible for
setting the value has failed will lead to extra noise in test output.
Use assert when the situation calls for it.
Also - very small tidying up around the changed areas (whitespace /
variable locality).

Signed-off-by: Michał Winiarski <michal.winiarski@intel.com>
---
 .../gpu/drm/tests/drm_cmdline_parser_test.c   | 93 +++++++++----------
 1 file changed, 46 insertions(+), 47 deletions(-)

diff --git a/drivers/gpu/drm/tests/drm_cmdline_parser_test.c b/drivers/gpu/drm/tests/drm_cmdline_parser_test.c
index 058808faaf4a..7a313e2fd52a 100644
--- a/drivers/gpu/drm/tests/drm_cmdline_parser_test.c
+++ b/drivers/gpu/drm/tests/drm_cmdline_parser_test.c
@@ -16,7 +16,7 @@ static void drm_cmdline_test_force_e_only(struct kunit *test)
 	struct drm_cmdline_mode mode = { };
 	const char *cmdline = "e";
 
-	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
+	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
 									  &no_connector, &mode));
 	KUNIT_EXPECT_FALSE(test, mode.specified);
 	KUNIT_EXPECT_FALSE(test, mode.refresh_specified);
@@ -34,7 +34,7 @@ static void drm_cmdline_test_force_D_only_not_digital(struct kunit *test)
 	struct drm_cmdline_mode mode = { };
 	const char *cmdline = "D";
 
-	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
+	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
 									  &no_connector, &mode));
 	KUNIT_EXPECT_FALSE(test, mode.specified);
 	KUNIT_EXPECT_FALSE(test, mode.refresh_specified);
@@ -47,16 +47,16 @@ static void drm_cmdline_test_force_D_only_not_digital(struct kunit *test)
 	KUNIT_EXPECT_EQ(test, mode.force, DRM_FORCE_ON);
 }
 
-static const struct drm_connector connector_hdmi = {
-	.connector_type	= DRM_MODE_CONNECTOR_HDMIB,
-};
 
 static void drm_cmdline_test_force_D_only_hdmi(struct kunit *test)
 {
 	struct drm_cmdline_mode mode = { };
+	const struct drm_connector connector_hdmi = {
+		.connector_type	= DRM_MODE_CONNECTOR_HDMIB,
+	};
 	const char *cmdline = "D";
 
-	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
+	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
 									  &connector_hdmi, &mode));
 	KUNIT_EXPECT_FALSE(test, mode.specified);
 	KUNIT_EXPECT_FALSE(test, mode.refresh_specified);
@@ -69,16 +69,15 @@ static void drm_cmdline_test_force_D_only_hdmi(struct kunit *test)
 	KUNIT_EXPECT_EQ(test, mode.force, DRM_FORCE_ON_DIGITAL);
 }
 
-static const struct drm_connector connector_dvi = {
-	.connector_type	= DRM_MODE_CONNECTOR_DVII,
-};
-
 static void drm_cmdline_test_force_D_only_dvi(struct kunit *test)
 {
 	struct drm_cmdline_mode mode = { };
+	const struct drm_connector connector_dvi = {
+		.connector_type = DRM_MODE_CONNECTOR_DVII,
+	};
 	const char *cmdline = "D";
 
-	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
+	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
 									  &connector_dvi, &mode));
 	KUNIT_EXPECT_FALSE(test, mode.specified);
 	KUNIT_EXPECT_FALSE(test, mode.refresh_specified);
@@ -96,7 +95,7 @@ static void drm_cmdline_test_force_d_only(struct kunit *test)
 	struct drm_cmdline_mode mode = { };
 	const char *cmdline = "d";
 
-	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
+	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
 									  &no_connector, &mode));
 	KUNIT_EXPECT_FALSE(test, mode.specified);
 	KUNIT_EXPECT_FALSE(test, mode.refresh_specified);
@@ -114,7 +113,7 @@ static void drm_cmdline_test_res(struct kunit *test)
 	struct drm_cmdline_mode mode = { };
 	const char *cmdline = "720x480";
 
-	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
+	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
 									  &no_connector, &mode));
 	KUNIT_EXPECT_TRUE(test, mode.specified);
 	KUNIT_EXPECT_EQ(test, mode.xres, 720);
@@ -136,7 +135,7 @@ static void drm_cmdline_test_res_vesa(struct kunit *test)
 	struct drm_cmdline_mode mode = { };
 	const char *cmdline = "720x480M";
 
-	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
+	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
 									  &no_connector, &mode));
 	KUNIT_EXPECT_TRUE(test, mode.specified);
 	KUNIT_EXPECT_EQ(test, mode.xres, 720);
@@ -158,7 +157,7 @@ static void drm_cmdline_test_res_vesa_rblank(struct kunit *test)
 	struct drm_cmdline_mode mode = { };
 	const char *cmdline = "720x480MR";
 
-	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
+	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
 									  &no_connector, &mode));
 	KUNIT_EXPECT_TRUE(test, mode.specified);
 	KUNIT_EXPECT_EQ(test, mode.xres, 720);
@@ -180,7 +179,7 @@ static void drm_cmdline_test_res_rblank(struct kunit *test)
 	struct drm_cmdline_mode mode = { };
 	const char *cmdline = "720x480R";
 
-	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
+	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
 									  &no_connector, &mode));
 	KUNIT_EXPECT_TRUE(test, mode.specified);
 	KUNIT_EXPECT_EQ(test, mode.xres, 720);
@@ -202,7 +201,7 @@ static void drm_cmdline_test_res_bpp(struct kunit *test)
 	struct drm_cmdline_mode mode = { };
 	const char *cmdline = "720x480-24";
 
-	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
+	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
 									  &no_connector, &mode));
 	KUNIT_EXPECT_TRUE(test, mode.specified);
 	KUNIT_EXPECT_EQ(test, mode.xres, 720);
@@ -225,7 +224,7 @@ static void drm_cmdline_test_res_refresh(struct kunit *test)
 	struct drm_cmdline_mode mode = { };
 	const char *cmdline = "720x480@60";
 
-	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
+	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
 									  &no_connector, &mode));
 	KUNIT_EXPECT_TRUE(test, mode.specified);
 	KUNIT_EXPECT_EQ(test, mode.xres, 720);
@@ -248,7 +247,7 @@ static void drm_cmdline_test_res_bpp_refresh(struct kunit *test)
 	struct drm_cmdline_mode mode = { };
 	const char *cmdline = "720x480-24@60";
 
-	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
+	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
 									  &no_connector, &mode));
 	KUNIT_EXPECT_TRUE(test, mode.specified);
 	KUNIT_EXPECT_EQ(test, mode.xres, 720);
@@ -272,7 +271,7 @@ static void drm_cmdline_test_res_bpp_refresh_interlaced(struct kunit *test)
 	struct drm_cmdline_mode mode = { };
 	const char *cmdline = "720x480-24@60i";
 
-	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
+	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
 									  &no_connector, &mode));
 	KUNIT_EXPECT_TRUE(test, mode.specified);
 	KUNIT_EXPECT_EQ(test, mode.xres, 720);
@@ -294,9 +293,9 @@ static void drm_cmdline_test_res_bpp_refresh_interlaced(struct kunit *test)
 static void drm_cmdline_test_res_bpp_refresh_margins(struct kunit *test)
 {
 	struct drm_cmdline_mode mode = { };
-	const char *cmdline =  "720x480-24@60m";
+	const char *cmdline = "720x480-24@60m";
 
-	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
+	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
 									  &no_connector, &mode));
 	KUNIT_EXPECT_TRUE(test, mode.specified);
 	KUNIT_EXPECT_EQ(test, mode.xres, 720);
@@ -318,9 +317,9 @@ static void drm_cmdline_test_res_bpp_refresh_margins(struct kunit *test)
 static void drm_cmdline_test_res_bpp_refresh_force_off(struct kunit *test)
 {
 	struct drm_cmdline_mode mode = { };
-	const char *cmdline =  "720x480-24@60d";
+	const char *cmdline = "720x480-24@60d";
 
-	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
+	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
 									  &no_connector, &mode));
 	KUNIT_EXPECT_TRUE(test, mode.specified);
 	KUNIT_EXPECT_EQ(test, mode.xres, 720);
@@ -342,9 +341,9 @@ static void drm_cmdline_test_res_bpp_refresh_force_off(struct kunit *test)
 static void drm_cmdline_test_res_bpp_refresh_force_on(struct kunit *test)
 {
 	struct drm_cmdline_mode mode = { };
-	const char *cmdline =  "720x480-24@60e";
+	const char *cmdline = "720x480-24@60e";
 
-	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
+	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
 									  &no_connector, &mode));
 	KUNIT_EXPECT_TRUE(test, mode.specified);
 	KUNIT_EXPECT_EQ(test, mode.xres, 720);
@@ -368,7 +367,7 @@ static void drm_cmdline_test_res_bpp_refresh_force_on_analog(struct kunit *test)
 	struct drm_cmdline_mode mode = { };
 	const char *cmdline = "720x480-24@60D";
 
-	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
+	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
 									  &no_connector, &mode));
 	KUNIT_EXPECT_TRUE(test, mode.specified);
 	KUNIT_EXPECT_EQ(test, mode.xres, 720);
@@ -390,12 +389,12 @@ static void drm_cmdline_test_res_bpp_refresh_force_on_analog(struct kunit *test)
 static void drm_cmdline_test_res_bpp_refresh_force_on_digital(struct kunit *test)
 {
 	struct drm_cmdline_mode mode = { };
-	static const struct drm_connector connector = {
+	const struct drm_connector connector = {
 		.connector_type = DRM_MODE_CONNECTOR_DVII,
 	};
 	const char *cmdline = "720x480-24@60D";
 
-	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
+	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
 									  &connector, &mode));
 	KUNIT_EXPECT_TRUE(test, mode.specified);
 	KUNIT_EXPECT_EQ(test, mode.xres, 720);
@@ -443,7 +442,7 @@ static void drm_cmdline_test_res_margins_force_on(struct kunit *test)
 	struct drm_cmdline_mode mode = { };
 	const char *cmdline = "720x480me";
 
-	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
+	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
 									  &no_connector, &mode));
 	KUNIT_EXPECT_TRUE(test, mode.specified);
 	KUNIT_EXPECT_EQ(test, mode.xres, 720);
@@ -465,7 +464,7 @@ static void drm_cmdline_test_res_vesa_margins(struct kunit *test)
 	struct drm_cmdline_mode mode = { };
 	const char *cmdline = "720x480Mm";
 
-	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
+	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
 									  &no_connector, &mode));
 	KUNIT_EXPECT_TRUE(test, mode.specified);
 	KUNIT_EXPECT_EQ(test, mode.xres, 720);
@@ -487,7 +486,7 @@ static void drm_cmdline_test_name(struct kunit *test)
 	struct drm_cmdline_mode mode = { };
 	const char *cmdline = "NTSC";
 
-	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
+	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
 									  &no_connector, &mode));
 	KUNIT_EXPECT_STREQ(test, mode.name, "NTSC");
 	KUNIT_EXPECT_FALSE(test, mode.refresh_specified);
@@ -499,7 +498,7 @@ static void drm_cmdline_test_name_bpp(struct kunit *test)
 	struct drm_cmdline_mode mode = { };
 	const char *cmdline = "NTSC-24";
 
-	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
+	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
 									  &no_connector, &mode));
 	KUNIT_EXPECT_STREQ(test, mode.name, "NTSC");
 
@@ -514,7 +513,7 @@ static void drm_cmdline_test_name_option(struct kunit *test)
 	struct drm_cmdline_mode mode = { };
 	const char *cmdline = "NTSC,rotate=180";
 
-	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
+	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
 									  &no_connector, &mode));
 	KUNIT_EXPECT_TRUE(test, mode.specified);
 	KUNIT_EXPECT_STREQ(test, mode.name, "NTSC");
@@ -526,7 +525,7 @@ static void drm_cmdline_test_name_bpp_option(struct kunit *test)
 	struct drm_cmdline_mode mode = { };
 	const char *cmdline = "NTSC-24,rotate=180";
 
-	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
+	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
 									  &no_connector, &mode));
 	KUNIT_EXPECT_TRUE(test, mode.specified);
 	KUNIT_EXPECT_STREQ(test, mode.name, "NTSC");
@@ -540,7 +539,7 @@ static void drm_cmdline_test_rotate_0(struct kunit *test)
 	struct drm_cmdline_mode mode = { };
 	const char *cmdline = "720x480,rotate=0";
 
-	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
+	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
 									  &no_connector, &mode));
 	KUNIT_EXPECT_TRUE(test, mode.specified);
 	KUNIT_EXPECT_EQ(test, mode.xres, 720);
@@ -563,7 +562,7 @@ static void drm_cmdline_test_rotate_90(struct kunit *test)
 	struct drm_cmdline_mode mode = { };
 	const char *cmdline = "720x480,rotate=90";
 
-	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
+	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
 									  &no_connector, &mode));
 	KUNIT_EXPECT_TRUE(test, mode.specified);
 	KUNIT_EXPECT_EQ(test, mode.xres, 720);
@@ -586,7 +585,7 @@ static void drm_cmdline_test_rotate_180(struct kunit *test)
 	struct drm_cmdline_mode mode = { };
 	const char *cmdline = "720x480,rotate=180";
 
-	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
+	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
 									  &no_connector, &mode));
 	KUNIT_EXPECT_TRUE(test, mode.specified);
 	KUNIT_EXPECT_EQ(test, mode.xres, 720);
@@ -609,7 +608,7 @@ static void drm_cmdline_test_rotate_270(struct kunit *test)
 	struct drm_cmdline_mode mode = { };
 	const char *cmdline = "720x480,rotate=270";
 
-	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
+	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
 									  &no_connector, &mode));
 	KUNIT_EXPECT_TRUE(test, mode.specified);
 	KUNIT_EXPECT_EQ(test, mode.xres, 720);
@@ -632,7 +631,7 @@ static void drm_cmdline_test_hmirror(struct kunit *test)
 	struct drm_cmdline_mode mode = { };
 	const char *cmdline = "720x480,reflect_x";
 
-	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
+	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
 									  &no_connector, &mode));
 	KUNIT_EXPECT_TRUE(test, mode.specified);
 	KUNIT_EXPECT_EQ(test, mode.xres, 720);
@@ -655,7 +654,7 @@ static void drm_cmdline_test_vmirror(struct kunit *test)
 	struct drm_cmdline_mode mode = { };
 	const char *cmdline = "720x480,reflect_y";
 
-	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
+	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
 									  &no_connector, &mode));
 	KUNIT_EXPECT_TRUE(test, mode.specified);
 	KUNIT_EXPECT_EQ(test, mode.xres, 720);
@@ -679,7 +678,7 @@ static void drm_cmdline_test_margin_options(struct kunit *test)
 	const char *cmdline =
 		"720x480,margin_right=14,margin_left=24,margin_bottom=36,margin_top=42";
 
-	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
+	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
 									  &no_connector, &mode));
 	KUNIT_EXPECT_TRUE(test, mode.specified);
 	KUNIT_EXPECT_EQ(test, mode.xres, 720);
@@ -705,7 +704,7 @@ static void drm_cmdline_test_multiple_options(struct kunit *test)
 	struct drm_cmdline_mode mode = { };
 	const char *cmdline = "720x480,rotate=270,reflect_x";
 
-	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
+	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
 									  &no_connector, &mode));
 	KUNIT_EXPECT_TRUE(test, mode.specified);
 	KUNIT_EXPECT_EQ(test, mode.xres, 720);
@@ -728,7 +727,7 @@ static void drm_cmdline_test_bpp_extra_and_option(struct kunit *test)
 	struct drm_cmdline_mode mode = { };
 	const char *cmdline = "720x480-24e,rotate=180";
 
-	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
+	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
 									  &no_connector, &mode));
 	KUNIT_EXPECT_TRUE(test, mode.specified);
 	KUNIT_EXPECT_EQ(test, mode.xres, 720);
@@ -752,7 +751,7 @@ static void drm_cmdline_test_extra_and_option(struct kunit *test)
 	struct drm_cmdline_mode mode = { };
 	const char *cmdline = "720x480e,rotate=180";
 
-	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
+	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
 									  &no_connector, &mode));
 	KUNIT_EXPECT_TRUE(test, mode.specified);
 	KUNIT_EXPECT_EQ(test, mode.xres, 720);
@@ -774,7 +773,7 @@ static void drm_cmdline_test_freestanding_options(struct kunit *test)
 	struct drm_cmdline_mode mode = { };
 	const char *cmdline = "margin_right=14,margin_left=24,margin_bottom=36,margin_top=42";
 
-	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
+	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
 									  &no_connector, &mode));
 	KUNIT_EXPECT_FALSE(test, mode.specified);
 	KUNIT_EXPECT_FALSE(test, mode.refresh_specified);
@@ -797,7 +796,7 @@ static void drm_cmdline_test_freestanding_force_e_and_options(struct kunit *test
 	struct drm_cmdline_mode mode = { };
 	const char *cmdline = "e,margin_right=14,margin_left=24,margin_bottom=36,margin_top=42";
 
-	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
+	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
 									  &no_connector, &mode));
 	KUNIT_EXPECT_FALSE(test, mode.specified);
 	KUNIT_EXPECT_FALSE(test, mode.refresh_specified);
-- 
2.37.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/2] drm/cmdline-parser: Use assert when needed
  2022-08-04 13:17 ` [PATCH 2/2] drm/cmdline-parser: Use assert when needed Michał Winiarski
@ 2022-08-04 19:05     ` kernel test robot
  2022-08-04 19:26   ` kernel test robot
  2022-08-10 13:45   ` Maíra Canal
  2 siblings, 0 replies; 7+ messages in thread
From: kernel test robot @ 2022-08-04 19:05 UTC (permalink / raw)
  To: Michał Winiarski, dri-devel
  Cc: llvm, kbuild-all, Michał Winiarski, Arthur Grillo,
	David Airlie, Maíra Canal, Daniel Latypov,
	Javier Martinez Canillas

Hi "Michał,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on drm-misc/drm-misc-next]
[also build test WARNING on drm-tip/drm-tip]
[cannot apply to drm/drm-next drm-exynos/exynos-drm-next drm-intel/for-linux-next linus/master v5.19 next-20220803]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Micha-Winiarski/drm-cmdline-parser-Merge-negative-tests/20220804-212019
base:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
config: hexagon-randconfig-r001-20220804 (https://download.01.org/0day-ci/archive/20220805/202208050217.VHlt1uDZ-lkp@intel.com/config)
compiler: clang version 16.0.0 (https://github.com/llvm/llvm-project 26dd42705c2af0b8f6e5d6cdb32c9bd5ed9524eb)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/intel-lab-lkp/linux/commit/8a21a5872b4bbe7bcfec5bc990d182a5c32416a2
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Micha-Winiarski/drm-cmdline-parser-Merge-negative-tests/20220804-212019
        git checkout 8a21a5872b4bbe7bcfec5bc990d182a5c32416a2
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash drivers/gpu/drm/tests/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

>> drivers/gpu/drm/tests/drm_cmdline_parser_test.c:72:13: warning: stack frame size (1152) exceeds limit (1024) in 'drm_cmdline_test_force_D_only_dvi' [-Wframe-larger-than]
   static void drm_cmdline_test_force_D_only_dvi(struct kunit *test)
               ^
>> drivers/gpu/drm/tests/drm_cmdline_parser_test.c:51:13: warning: stack frame size (1152) exceeds limit (1024) in 'drm_cmdline_test_force_D_only_hdmi' [-Wframe-larger-than]
   static void drm_cmdline_test_force_D_only_hdmi(struct kunit *test)
               ^
>> drivers/gpu/drm/tests/drm_cmdline_parser_test.c:389:13: warning: stack frame size (1152) exceeds limit (1024) in 'drm_cmdline_test_res_bpp_refresh_force_on_digital' [-Wframe-larger-than]
   static void drm_cmdline_test_res_bpp_refresh_force_on_digital(struct kunit *test)
               ^
   3 warnings generated.


vim +/drm_cmdline_test_force_D_only_dvi +72 drivers/gpu/drm/tests/drm_cmdline_parser_test.c

9f0527d22a52ff34 Maíra Canal      2022-07-08  49  
9f0527d22a52ff34 Maíra Canal      2022-07-08  50  
9f0527d22a52ff34 Maíra Canal      2022-07-08 @51  static void drm_cmdline_test_force_D_only_hdmi(struct kunit *test)
9f0527d22a52ff34 Maíra Canal      2022-07-08  52  {
9f0527d22a52ff34 Maíra Canal      2022-07-08  53  	struct drm_cmdline_mode mode = { };
8a21a5872b4bbe7b Michał Winiarski 2022-08-04  54  	const struct drm_connector connector_hdmi = {
8a21a5872b4bbe7b Michał Winiarski 2022-08-04  55  		.connector_type	= DRM_MODE_CONNECTOR_HDMIB,
8a21a5872b4bbe7b Michał Winiarski 2022-08-04  56  	};
9f0527d22a52ff34 Maíra Canal      2022-07-08  57  	const char *cmdline = "D";
9f0527d22a52ff34 Maíra Canal      2022-07-08  58  
8a21a5872b4bbe7b Michał Winiarski 2022-08-04  59  	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
9f0527d22a52ff34 Maíra Canal      2022-07-08  60  									  &connector_hdmi, &mode));
9f0527d22a52ff34 Maíra Canal      2022-07-08  61  	KUNIT_EXPECT_FALSE(test, mode.specified);
9f0527d22a52ff34 Maíra Canal      2022-07-08  62  	KUNIT_EXPECT_FALSE(test, mode.refresh_specified);
9f0527d22a52ff34 Maíra Canal      2022-07-08  63  	KUNIT_EXPECT_FALSE(test, mode.bpp_specified);
9f0527d22a52ff34 Maíra Canal      2022-07-08  64  
9f0527d22a52ff34 Maíra Canal      2022-07-08  65  	KUNIT_EXPECT_FALSE(test, mode.rb);
9f0527d22a52ff34 Maíra Canal      2022-07-08  66  	KUNIT_EXPECT_FALSE(test, mode.cvt);
9f0527d22a52ff34 Maíra Canal      2022-07-08  67  	KUNIT_EXPECT_FALSE(test, mode.interlace);
9f0527d22a52ff34 Maíra Canal      2022-07-08  68  	KUNIT_EXPECT_FALSE(test, mode.margins);
9f0527d22a52ff34 Maíra Canal      2022-07-08  69  	KUNIT_EXPECT_EQ(test, mode.force, DRM_FORCE_ON_DIGITAL);
9f0527d22a52ff34 Maíra Canal      2022-07-08  70  }
9f0527d22a52ff34 Maíra Canal      2022-07-08  71  
9f0527d22a52ff34 Maíra Canal      2022-07-08 @72  static void drm_cmdline_test_force_D_only_dvi(struct kunit *test)
9f0527d22a52ff34 Maíra Canal      2022-07-08  73  {
9f0527d22a52ff34 Maíra Canal      2022-07-08  74  	struct drm_cmdline_mode mode = { };
8a21a5872b4bbe7b Michał Winiarski 2022-08-04  75  	const struct drm_connector connector_dvi = {
8a21a5872b4bbe7b Michał Winiarski 2022-08-04  76  		.connector_type = DRM_MODE_CONNECTOR_DVII,
8a21a5872b4bbe7b Michał Winiarski 2022-08-04  77  	};
9f0527d22a52ff34 Maíra Canal      2022-07-08  78  	const char *cmdline = "D";
9f0527d22a52ff34 Maíra Canal      2022-07-08  79  
8a21a5872b4bbe7b Michał Winiarski 2022-08-04  80  	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
9f0527d22a52ff34 Maíra Canal      2022-07-08  81  									  &connector_dvi, &mode));
9f0527d22a52ff34 Maíra Canal      2022-07-08  82  	KUNIT_EXPECT_FALSE(test, mode.specified);
9f0527d22a52ff34 Maíra Canal      2022-07-08  83  	KUNIT_EXPECT_FALSE(test, mode.refresh_specified);
9f0527d22a52ff34 Maíra Canal      2022-07-08  84  	KUNIT_EXPECT_FALSE(test, mode.bpp_specified);
9f0527d22a52ff34 Maíra Canal      2022-07-08  85  
9f0527d22a52ff34 Maíra Canal      2022-07-08  86  	KUNIT_EXPECT_FALSE(test, mode.rb);
9f0527d22a52ff34 Maíra Canal      2022-07-08  87  	KUNIT_EXPECT_FALSE(test, mode.cvt);
9f0527d22a52ff34 Maíra Canal      2022-07-08  88  	KUNIT_EXPECT_FALSE(test, mode.interlace);
9f0527d22a52ff34 Maíra Canal      2022-07-08  89  	KUNIT_EXPECT_FALSE(test, mode.margins);
9f0527d22a52ff34 Maíra Canal      2022-07-08  90  	KUNIT_EXPECT_EQ(test, mode.force, DRM_FORCE_ON_DIGITAL);
9f0527d22a52ff34 Maíra Canal      2022-07-08  91  }
9f0527d22a52ff34 Maíra Canal      2022-07-08  92  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/2] drm/cmdline-parser: Use assert when needed
@ 2022-08-04 19:05     ` kernel test robot
  0 siblings, 0 replies; 7+ messages in thread
From: kernel test robot @ 2022-08-04 19:05 UTC (permalink / raw)
  To: Michał Winiarski, dri-devel
  Cc: Michał Winiarski, Arthur Grillo, David Airlie,
	Maíra Canal, Daniel Latypov, llvm, Javier Martinez Canillas,
	kbuild-all

Hi "Michał,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on drm-misc/drm-misc-next]
[also build test WARNING on drm-tip/drm-tip]
[cannot apply to drm/drm-next drm-exynos/exynos-drm-next drm-intel/for-linux-next linus/master v5.19 next-20220803]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Micha-Winiarski/drm-cmdline-parser-Merge-negative-tests/20220804-212019
base:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
config: hexagon-randconfig-r001-20220804 (https://download.01.org/0day-ci/archive/20220805/202208050217.VHlt1uDZ-lkp@intel.com/config)
compiler: clang version 16.0.0 (https://github.com/llvm/llvm-project 26dd42705c2af0b8f6e5d6cdb32c9bd5ed9524eb)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/intel-lab-lkp/linux/commit/8a21a5872b4bbe7bcfec5bc990d182a5c32416a2
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Micha-Winiarski/drm-cmdline-parser-Merge-negative-tests/20220804-212019
        git checkout 8a21a5872b4bbe7bcfec5bc990d182a5c32416a2
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash drivers/gpu/drm/tests/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

>> drivers/gpu/drm/tests/drm_cmdline_parser_test.c:72:13: warning: stack frame size (1152) exceeds limit (1024) in 'drm_cmdline_test_force_D_only_dvi' [-Wframe-larger-than]
   static void drm_cmdline_test_force_D_only_dvi(struct kunit *test)
               ^
>> drivers/gpu/drm/tests/drm_cmdline_parser_test.c:51:13: warning: stack frame size (1152) exceeds limit (1024) in 'drm_cmdline_test_force_D_only_hdmi' [-Wframe-larger-than]
   static void drm_cmdline_test_force_D_only_hdmi(struct kunit *test)
               ^
>> drivers/gpu/drm/tests/drm_cmdline_parser_test.c:389:13: warning: stack frame size (1152) exceeds limit (1024) in 'drm_cmdline_test_res_bpp_refresh_force_on_digital' [-Wframe-larger-than]
   static void drm_cmdline_test_res_bpp_refresh_force_on_digital(struct kunit *test)
               ^
   3 warnings generated.


vim +/drm_cmdline_test_force_D_only_dvi +72 drivers/gpu/drm/tests/drm_cmdline_parser_test.c

9f0527d22a52ff34 Maíra Canal      2022-07-08  49  
9f0527d22a52ff34 Maíra Canal      2022-07-08  50  
9f0527d22a52ff34 Maíra Canal      2022-07-08 @51  static void drm_cmdline_test_force_D_only_hdmi(struct kunit *test)
9f0527d22a52ff34 Maíra Canal      2022-07-08  52  {
9f0527d22a52ff34 Maíra Canal      2022-07-08  53  	struct drm_cmdline_mode mode = { };
8a21a5872b4bbe7b Michał Winiarski 2022-08-04  54  	const struct drm_connector connector_hdmi = {
8a21a5872b4bbe7b Michał Winiarski 2022-08-04  55  		.connector_type	= DRM_MODE_CONNECTOR_HDMIB,
8a21a5872b4bbe7b Michał Winiarski 2022-08-04  56  	};
9f0527d22a52ff34 Maíra Canal      2022-07-08  57  	const char *cmdline = "D";
9f0527d22a52ff34 Maíra Canal      2022-07-08  58  
8a21a5872b4bbe7b Michał Winiarski 2022-08-04  59  	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
9f0527d22a52ff34 Maíra Canal      2022-07-08  60  									  &connector_hdmi, &mode));
9f0527d22a52ff34 Maíra Canal      2022-07-08  61  	KUNIT_EXPECT_FALSE(test, mode.specified);
9f0527d22a52ff34 Maíra Canal      2022-07-08  62  	KUNIT_EXPECT_FALSE(test, mode.refresh_specified);
9f0527d22a52ff34 Maíra Canal      2022-07-08  63  	KUNIT_EXPECT_FALSE(test, mode.bpp_specified);
9f0527d22a52ff34 Maíra Canal      2022-07-08  64  
9f0527d22a52ff34 Maíra Canal      2022-07-08  65  	KUNIT_EXPECT_FALSE(test, mode.rb);
9f0527d22a52ff34 Maíra Canal      2022-07-08  66  	KUNIT_EXPECT_FALSE(test, mode.cvt);
9f0527d22a52ff34 Maíra Canal      2022-07-08  67  	KUNIT_EXPECT_FALSE(test, mode.interlace);
9f0527d22a52ff34 Maíra Canal      2022-07-08  68  	KUNIT_EXPECT_FALSE(test, mode.margins);
9f0527d22a52ff34 Maíra Canal      2022-07-08  69  	KUNIT_EXPECT_EQ(test, mode.force, DRM_FORCE_ON_DIGITAL);
9f0527d22a52ff34 Maíra Canal      2022-07-08  70  }
9f0527d22a52ff34 Maíra Canal      2022-07-08  71  
9f0527d22a52ff34 Maíra Canal      2022-07-08 @72  static void drm_cmdline_test_force_D_only_dvi(struct kunit *test)
9f0527d22a52ff34 Maíra Canal      2022-07-08  73  {
9f0527d22a52ff34 Maíra Canal      2022-07-08  74  	struct drm_cmdline_mode mode = { };
8a21a5872b4bbe7b Michał Winiarski 2022-08-04  75  	const struct drm_connector connector_dvi = {
8a21a5872b4bbe7b Michał Winiarski 2022-08-04  76  		.connector_type = DRM_MODE_CONNECTOR_DVII,
8a21a5872b4bbe7b Michał Winiarski 2022-08-04  77  	};
9f0527d22a52ff34 Maíra Canal      2022-07-08  78  	const char *cmdline = "D";
9f0527d22a52ff34 Maíra Canal      2022-07-08  79  
8a21a5872b4bbe7b Michał Winiarski 2022-08-04  80  	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
9f0527d22a52ff34 Maíra Canal      2022-07-08  81  									  &connector_dvi, &mode));
9f0527d22a52ff34 Maíra Canal      2022-07-08  82  	KUNIT_EXPECT_FALSE(test, mode.specified);
9f0527d22a52ff34 Maíra Canal      2022-07-08  83  	KUNIT_EXPECT_FALSE(test, mode.refresh_specified);
9f0527d22a52ff34 Maíra Canal      2022-07-08  84  	KUNIT_EXPECT_FALSE(test, mode.bpp_specified);
9f0527d22a52ff34 Maíra Canal      2022-07-08  85  
9f0527d22a52ff34 Maíra Canal      2022-07-08  86  	KUNIT_EXPECT_FALSE(test, mode.rb);
9f0527d22a52ff34 Maíra Canal      2022-07-08  87  	KUNIT_EXPECT_FALSE(test, mode.cvt);
9f0527d22a52ff34 Maíra Canal      2022-07-08  88  	KUNIT_EXPECT_FALSE(test, mode.interlace);
9f0527d22a52ff34 Maíra Canal      2022-07-08  89  	KUNIT_EXPECT_FALSE(test, mode.margins);
9f0527d22a52ff34 Maíra Canal      2022-07-08  90  	KUNIT_EXPECT_EQ(test, mode.force, DRM_FORCE_ON_DIGITAL);
9f0527d22a52ff34 Maíra Canal      2022-07-08  91  }
9f0527d22a52ff34 Maíra Canal      2022-07-08  92  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/2] drm/cmdline-parser: Use assert when needed
  2022-08-04 13:17 ` [PATCH 2/2] drm/cmdline-parser: Use assert when needed Michał Winiarski
  2022-08-04 19:05     ` kernel test robot
@ 2022-08-04 19:26   ` kernel test robot
  2022-08-10 13:45   ` Maíra Canal
  2 siblings, 0 replies; 7+ messages in thread
From: kernel test robot @ 2022-08-04 19:26 UTC (permalink / raw)
  To: Michał Winiarski, dri-devel
  Cc: Michał Winiarski, Arthur Grillo, David Airlie,
	Maíra Canal, Daniel Latypov, Javier Martinez Canillas,
	kbuild-all

Hi "Michał,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on drm-misc/drm-misc-next]
[also build test WARNING on drm-tip/drm-tip]
[cannot apply to drm/drm-next drm-exynos/exynos-drm-next drm-intel/for-linux-next linus/master v5.19 next-20220804]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Micha-Winiarski/drm-cmdline-parser-Merge-negative-tests/20220804-212019
base:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
config: csky-buildonly-randconfig-r001-20220804 (https://download.01.org/0day-ci/archive/20220805/202208050307.u6Yo3hhR-lkp@intel.com/config)
compiler: csky-linux-gcc (GCC) 12.1.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/intel-lab-lkp/linux/commit/8a21a5872b4bbe7bcfec5bc990d182a5c32416a2
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Micha-Winiarski/drm-cmdline-parser-Merge-negative-tests/20220804-212019
        git checkout 8a21a5872b4bbe7bcfec5bc990d182a5c32416a2
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=csky SHELL=/bin/bash drivers/gpu/drm/tests/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

   drivers/gpu/drm/tests/drm_cmdline_parser_test.c: In function 'drm_cmdline_test_res_bpp_refresh_force_on_digital':
>> drivers/gpu/drm/tests/drm_cmdline_parser_test.c:414:1: warning: the frame size of 1120 bytes is larger than 1024 bytes [-Wframe-larger-than=]
     414 | }
         | ^
   drivers/gpu/drm/tests/drm_cmdline_parser_test.c: In function 'drm_cmdline_test_force_D_only_hdmi':
   drivers/gpu/drm/tests/drm_cmdline_parser_test.c:70:1: warning: the frame size of 1120 bytes is larger than 1024 bytes [-Wframe-larger-than=]
      70 | }
         | ^
   drivers/gpu/drm/tests/drm_cmdline_parser_test.c: In function 'drm_cmdline_test_force_D_only_dvi':
   drivers/gpu/drm/tests/drm_cmdline_parser_test.c:91:1: warning: the frame size of 1124 bytes is larger than 1024 bytes [-Wframe-larger-than=]
      91 | }
         | ^


vim +414 drivers/gpu/drm/tests/drm_cmdline_parser_test.c

9f0527d22a52ff Maíra Canal      2022-07-08  388  
9f0527d22a52ff Maíra Canal      2022-07-08  389  static void drm_cmdline_test_res_bpp_refresh_force_on_digital(struct kunit *test)
9f0527d22a52ff Maíra Canal      2022-07-08  390  {
9f0527d22a52ff Maíra Canal      2022-07-08  391  	struct drm_cmdline_mode mode = { };
8a21a5872b4bbe Michał Winiarski 2022-08-04  392  	const struct drm_connector connector = {
9f0527d22a52ff Maíra Canal      2022-07-08  393  		.connector_type = DRM_MODE_CONNECTOR_DVII,
9f0527d22a52ff Maíra Canal      2022-07-08  394  	};
9f0527d22a52ff Maíra Canal      2022-07-08  395  	const char *cmdline = "720x480-24@60D";
9f0527d22a52ff Maíra Canal      2022-07-08  396  
8a21a5872b4bbe Michał Winiarski 2022-08-04  397  	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
9f0527d22a52ff Maíra Canal      2022-07-08  398  									  &connector, &mode));
9f0527d22a52ff Maíra Canal      2022-07-08  399  	KUNIT_EXPECT_TRUE(test, mode.specified);
9f0527d22a52ff Maíra Canal      2022-07-08  400  	KUNIT_EXPECT_EQ(test, mode.xres, 720);
9f0527d22a52ff Maíra Canal      2022-07-08  401  	KUNIT_EXPECT_EQ(test, mode.yres, 480);
9f0527d22a52ff Maíra Canal      2022-07-08  402  
9f0527d22a52ff Maíra Canal      2022-07-08  403  	KUNIT_EXPECT_TRUE(test, mode.refresh_specified);
9f0527d22a52ff Maíra Canal      2022-07-08  404  	KUNIT_EXPECT_EQ(test, mode.refresh, 60);
9f0527d22a52ff Maíra Canal      2022-07-08  405  
9f0527d22a52ff Maíra Canal      2022-07-08  406  	KUNIT_EXPECT_TRUE(test, mode.bpp_specified);
9f0527d22a52ff Maíra Canal      2022-07-08  407  	KUNIT_EXPECT_EQ(test, mode.bpp, 24);
9f0527d22a52ff Maíra Canal      2022-07-08  408  
9f0527d22a52ff Maíra Canal      2022-07-08  409  	KUNIT_EXPECT_FALSE(test, mode.rb);
9f0527d22a52ff Maíra Canal      2022-07-08  410  	KUNIT_EXPECT_FALSE(test, mode.cvt);
9f0527d22a52ff Maíra Canal      2022-07-08  411  	KUNIT_EXPECT_FALSE(test, mode.interlace);
9f0527d22a52ff Maíra Canal      2022-07-08  412  	KUNIT_EXPECT_FALSE(test, mode.margins);
9f0527d22a52ff Maíra Canal      2022-07-08  413  	KUNIT_EXPECT_EQ(test, mode.force, DRM_FORCE_ON_DIGITAL);
9f0527d22a52ff Maíra Canal      2022-07-08 @414  }
9f0527d22a52ff Maíra Canal      2022-07-08  415  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/2] drm/cmdline-parser: Use assert when needed
  2022-08-04 13:17 ` [PATCH 2/2] drm/cmdline-parser: Use assert when needed Michał Winiarski
  2022-08-04 19:05     ` kernel test robot
  2022-08-04 19:26   ` kernel test robot
@ 2022-08-10 13:45   ` Maíra Canal
  2 siblings, 0 replies; 7+ messages in thread
From: Maíra Canal @ 2022-08-10 13:45 UTC (permalink / raw)
  To: Michał Winiarski, dri-devel
  Cc: David Airlie, Daniel Latypov, Javier Martinez Canillas, Arthur Grillo

Hi Michał

On 8/4/22 10:17, Michał Winiarski wrote:
> Expecting to observe a specific value, when the function responsible for
> setting the value has failed will lead to extra noise in test output.
> Use assert when the situation calls for it.
> Also - very small tidying up around the changed areas (whitespace /
> variable locality).
> 
> Signed-off-by: Michał Winiarski <michal.winiarski@intel.com>
> ---
>  .../gpu/drm/tests/drm_cmdline_parser_test.c   | 93 +++++++++----------
>  1 file changed, 46 insertions(+), 47 deletions(-)
> 
> diff --git a/drivers/gpu/drm/tests/drm_cmdline_parser_test.c b/drivers/gpu/drm/tests/drm_cmdline_parser_test.c
> index 058808faaf4a..7a313e2fd52a 100644
> --- a/drivers/gpu/drm/tests/drm_cmdline_parser_test.c
> +++ b/drivers/gpu/drm/tests/drm_cmdline_parser_test.c
> @@ -16,7 +16,7 @@ static void drm_cmdline_test_force_e_only(struct kunit *test)
>  	struct drm_cmdline_mode mode = { };
>  	const char *cmdline = "e";
>  
> -	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
> +	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
>  									  &no_connector, &mode));
>  	KUNIT_EXPECT_FALSE(test, mode.specified);
>  	KUNIT_EXPECT_FALSE(test, mode.refresh_specified);
> @@ -34,7 +34,7 @@ static void drm_cmdline_test_force_D_only_not_digital(struct kunit *test)
>  	struct drm_cmdline_mode mode = { };
>  	const char *cmdline = "D";
>  
> -	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
> +	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
>  									  &no_connector, &mode));
>  	KUNIT_EXPECT_FALSE(test, mode.specified);
>  	KUNIT_EXPECT_FALSE(test, mode.refresh_specified);
> @@ -47,16 +47,16 @@ static void drm_cmdline_test_force_D_only_not_digital(struct kunit *test)
>  	KUNIT_EXPECT_EQ(test, mode.force, DRM_FORCE_ON);
>  }
>  
> -static const struct drm_connector connector_hdmi = {
> -	.connector_type	= DRM_MODE_CONNECTOR_HDMIB,
> -};

Minor nit: I guess you miss to delete a line.

>  
>  static void drm_cmdline_test_force_D_only_hdmi(struct kunit *test)
>  {
>  	struct drm_cmdline_mode mode = { };
> +	const struct drm_connector connector_hdmi = {
> +		.connector_type	= DRM_MODE_CONNECTOR_HDMIB,
> +	};


As the kernel test robot pointed out, this leads to stack issues (also
with PowerPC). You might want to leave it as it was or allocate it with
kunit_kzalloc.

Best Regards,
- Maíra Canal


>  	const char *cmdline = "D";
>  
> -	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
> +	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
>  									  &connector_hdmi, &mode));
>  	KUNIT_EXPECT_FALSE(test, mode.specified);
>  	KUNIT_EXPECT_FALSE(test, mode.refresh_specified);
> @@ -69,16 +69,15 @@ static void drm_cmdline_test_force_D_only_hdmi(struct kunit *test)
>  	KUNIT_EXPECT_EQ(test, mode.force, DRM_FORCE_ON_DIGITAL);
>  }
>  
> -static const struct drm_connector connector_dvi = {
> -	.connector_type	= DRM_MODE_CONNECTOR_DVII,
> -};
> -
>  static void drm_cmdline_test_force_D_only_dvi(struct kunit *test)
>  {
>  	struct drm_cmdline_mode mode = { };
> +	const struct drm_connector connector_dvi = {
> +		.connector_type = DRM_MODE_CONNECTOR_DVII,
> +	};>  	const char *cmdline = "D";
>  
> -	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
> +	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
>  									  &connector_dvi, &mode));
>  	KUNIT_EXPECT_FALSE(test, mode.specified);
>  	KUNIT_EXPECT_FALSE(test, mode.refresh_specified);
> @@ -96,7 +95,7 @@ static void drm_cmdline_test_force_d_only(struct kunit *test)
>  	struct drm_cmdline_mode mode = { };
>  	const char *cmdline = "d";
>  
> -	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
> +	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
>  									  &no_connector, &mode));
>  	KUNIT_EXPECT_FALSE(test, mode.specified);
>  	KUNIT_EXPECT_FALSE(test, mode.refresh_specified);
> @@ -114,7 +113,7 @@ static void drm_cmdline_test_res(struct kunit *test)
>  	struct drm_cmdline_mode mode = { };
>  	const char *cmdline = "720x480";
>  
> -	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
> +	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
>  									  &no_connector, &mode));
>  	KUNIT_EXPECT_TRUE(test, mode.specified);
>  	KUNIT_EXPECT_EQ(test, mode.xres, 720);
> @@ -136,7 +135,7 @@ static void drm_cmdline_test_res_vesa(struct kunit *test)
>  	struct drm_cmdline_mode mode = { };
>  	const char *cmdline = "720x480M";
>  
> -	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
> +	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
>  									  &no_connector, &mode));
>  	KUNIT_EXPECT_TRUE(test, mode.specified);
>  	KUNIT_EXPECT_EQ(test, mode.xres, 720);
> @@ -158,7 +157,7 @@ static void drm_cmdline_test_res_vesa_rblank(struct kunit *test)
>  	struct drm_cmdline_mode mode = { };
>  	const char *cmdline = "720x480MR";
>  
> -	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
> +	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
>  									  &no_connector, &mode));
>  	KUNIT_EXPECT_TRUE(test, mode.specified);
>  	KUNIT_EXPECT_EQ(test, mode.xres, 720);
> @@ -180,7 +179,7 @@ static void drm_cmdline_test_res_rblank(struct kunit *test)
>  	struct drm_cmdline_mode mode = { };
>  	const char *cmdline = "720x480R";
>  
> -	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
> +	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
>  									  &no_connector, &mode));
>  	KUNIT_EXPECT_TRUE(test, mode.specified);
>  	KUNIT_EXPECT_EQ(test, mode.xres, 720);
> @@ -202,7 +201,7 @@ static void drm_cmdline_test_res_bpp(struct kunit *test)
>  	struct drm_cmdline_mode mode = { };
>  	const char *cmdline = "720x480-24";
>  
> -	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
> +	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
>  									  &no_connector, &mode));
>  	KUNIT_EXPECT_TRUE(test, mode.specified);
>  	KUNIT_EXPECT_EQ(test, mode.xres, 720);
> @@ -225,7 +224,7 @@ static void drm_cmdline_test_res_refresh(struct kunit *test)
>  	struct drm_cmdline_mode mode = { };
>  	const char *cmdline = "720x480@60";
>  
> -	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
> +	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
>  									  &no_connector, &mode));
>  	KUNIT_EXPECT_TRUE(test, mode.specified);
>  	KUNIT_EXPECT_EQ(test, mode.xres, 720);
> @@ -248,7 +247,7 @@ static void drm_cmdline_test_res_bpp_refresh(struct kunit *test)
>  	struct drm_cmdline_mode mode = { };
>  	const char *cmdline = "720x480-24@60";
>  
> -	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
> +	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
>  									  &no_connector, &mode));
>  	KUNIT_EXPECT_TRUE(test, mode.specified);
>  	KUNIT_EXPECT_EQ(test, mode.xres, 720);
> @@ -272,7 +271,7 @@ static void drm_cmdline_test_res_bpp_refresh_interlaced(struct kunit *test)
>  	struct drm_cmdline_mode mode = { };
>  	const char *cmdline = "720x480-24@60i";
>  
> -	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
> +	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
>  									  &no_connector, &mode));
>  	KUNIT_EXPECT_TRUE(test, mode.specified);
>  	KUNIT_EXPECT_EQ(test, mode.xres, 720);
> @@ -294,9 +293,9 @@ static void drm_cmdline_test_res_bpp_refresh_interlaced(struct kunit *test)
>  static void drm_cmdline_test_res_bpp_refresh_margins(struct kunit *test)
>  {
>  	struct drm_cmdline_mode mode = { };
> -	const char *cmdline =  "720x480-24@60m";
> +	const char *cmdline = "720x480-24@60m";
>  
> -	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
> +	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
>  									  &no_connector, &mode));
>  	KUNIT_EXPECT_TRUE(test, mode.specified);
>  	KUNIT_EXPECT_EQ(test, mode.xres, 720);
> @@ -318,9 +317,9 @@ static void drm_cmdline_test_res_bpp_refresh_margins(struct kunit *test)
>  static void drm_cmdline_test_res_bpp_refresh_force_off(struct kunit *test)
>  {
>  	struct drm_cmdline_mode mode = { };
> -	const char *cmdline =  "720x480-24@60d";
> +	const char *cmdline = "720x480-24@60d";
>  
> -	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
> +	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
>  									  &no_connector, &mode));
>  	KUNIT_EXPECT_TRUE(test, mode.specified);
>  	KUNIT_EXPECT_EQ(test, mode.xres, 720);
> @@ -342,9 +341,9 @@ static void drm_cmdline_test_res_bpp_refresh_force_off(struct kunit *test)
>  static void drm_cmdline_test_res_bpp_refresh_force_on(struct kunit *test)
>  {
>  	struct drm_cmdline_mode mode = { };
> -	const char *cmdline =  "720x480-24@60e";
> +	const char *cmdline = "720x480-24@60e";
>  
> -	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
> +	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
>  									  &no_connector, &mode));
>  	KUNIT_EXPECT_TRUE(test, mode.specified);
>  	KUNIT_EXPECT_EQ(test, mode.xres, 720);
> @@ -368,7 +367,7 @@ static void drm_cmdline_test_res_bpp_refresh_force_on_analog(struct kunit *test)
>  	struct drm_cmdline_mode mode = { };
>  	const char *cmdline = "720x480-24@60D";
>  
> -	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
> +	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
>  									  &no_connector, &mode));
>  	KUNIT_EXPECT_TRUE(test, mode.specified);
>  	KUNIT_EXPECT_EQ(test, mode.xres, 720);
> @@ -390,12 +389,12 @@ static void drm_cmdline_test_res_bpp_refresh_force_on_analog(struct kunit *test)
>  static void drm_cmdline_test_res_bpp_refresh_force_on_digital(struct kunit *test)
>  {
>  	struct drm_cmdline_mode mode = { };
> -	static const struct drm_connector connector = {
> +	const struct drm_connector connector = {
>  		.connector_type = DRM_MODE_CONNECTOR_DVII,
>  	};
>  	const char *cmdline = "720x480-24@60D";
>  
> -	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
> +	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
>  									  &connector, &mode));
>  	KUNIT_EXPECT_TRUE(test, mode.specified);
>  	KUNIT_EXPECT_EQ(test, mode.xres, 720);
> @@ -443,7 +442,7 @@ static void drm_cmdline_test_res_margins_force_on(struct kunit *test)
>  	struct drm_cmdline_mode mode = { };
>  	const char *cmdline = "720x480me";
>  
> -	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
> +	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
>  									  &no_connector, &mode));
>  	KUNIT_EXPECT_TRUE(test, mode.specified);
>  	KUNIT_EXPECT_EQ(test, mode.xres, 720);
> @@ -465,7 +464,7 @@ static void drm_cmdline_test_res_vesa_margins(struct kunit *test)
>  	struct drm_cmdline_mode mode = { };
>  	const char *cmdline = "720x480Mm";
>  
> -	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
> +	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
>  									  &no_connector, &mode));
>  	KUNIT_EXPECT_TRUE(test, mode.specified);
>  	KUNIT_EXPECT_EQ(test, mode.xres, 720);
> @@ -487,7 +486,7 @@ static void drm_cmdline_test_name(struct kunit *test)
>  	struct drm_cmdline_mode mode = { };
>  	const char *cmdline = "NTSC";
>  
> -	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
> +	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
>  									  &no_connector, &mode));
>  	KUNIT_EXPECT_STREQ(test, mode.name, "NTSC");
>  	KUNIT_EXPECT_FALSE(test, mode.refresh_specified);
> @@ -499,7 +498,7 @@ static void drm_cmdline_test_name_bpp(struct kunit *test)
>  	struct drm_cmdline_mode mode = { };
>  	const char *cmdline = "NTSC-24";
>  
> -	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
> +	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
>  									  &no_connector, &mode));
>  	KUNIT_EXPECT_STREQ(test, mode.name, "NTSC");
>  
> @@ -514,7 +513,7 @@ static void drm_cmdline_test_name_option(struct kunit *test)
>  	struct drm_cmdline_mode mode = { };
>  	const char *cmdline = "NTSC,rotate=180";
>  
> -	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
> +	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
>  									  &no_connector, &mode));
>  	KUNIT_EXPECT_TRUE(test, mode.specified);
>  	KUNIT_EXPECT_STREQ(test, mode.name, "NTSC");
> @@ -526,7 +525,7 @@ static void drm_cmdline_test_name_bpp_option(struct kunit *test)
>  	struct drm_cmdline_mode mode = { };
>  	const char *cmdline = "NTSC-24,rotate=180";
>  
> -	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
> +	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
>  									  &no_connector, &mode));
>  	KUNIT_EXPECT_TRUE(test, mode.specified);
>  	KUNIT_EXPECT_STREQ(test, mode.name, "NTSC");
> @@ -540,7 +539,7 @@ static void drm_cmdline_test_rotate_0(struct kunit *test)
>  	struct drm_cmdline_mode mode = { };
>  	const char *cmdline = "720x480,rotate=0";
>  
> -	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
> +	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
>  									  &no_connector, &mode));
>  	KUNIT_EXPECT_TRUE(test, mode.specified);
>  	KUNIT_EXPECT_EQ(test, mode.xres, 720);
> @@ -563,7 +562,7 @@ static void drm_cmdline_test_rotate_90(struct kunit *test)
>  	struct drm_cmdline_mode mode = { };
>  	const char *cmdline = "720x480,rotate=90";
>  
> -	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
> +	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
>  									  &no_connector, &mode));
>  	KUNIT_EXPECT_TRUE(test, mode.specified);
>  	KUNIT_EXPECT_EQ(test, mode.xres, 720);
> @@ -586,7 +585,7 @@ static void drm_cmdline_test_rotate_180(struct kunit *test)
>  	struct drm_cmdline_mode mode = { };
>  	const char *cmdline = "720x480,rotate=180";
>  
> -	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
> +	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
>  									  &no_connector, &mode));
>  	KUNIT_EXPECT_TRUE(test, mode.specified);
>  	KUNIT_EXPECT_EQ(test, mode.xres, 720);
> @@ -609,7 +608,7 @@ static void drm_cmdline_test_rotate_270(struct kunit *test)
>  	struct drm_cmdline_mode mode = { };
>  	const char *cmdline = "720x480,rotate=270";
>  
> -	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
> +	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
>  									  &no_connector, &mode));
>  	KUNIT_EXPECT_TRUE(test, mode.specified);
>  	KUNIT_EXPECT_EQ(test, mode.xres, 720);
> @@ -632,7 +631,7 @@ static void drm_cmdline_test_hmirror(struct kunit *test)
>  	struct drm_cmdline_mode mode = { };
>  	const char *cmdline = "720x480,reflect_x";
>  
> -	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
> +	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
>  									  &no_connector, &mode));
>  	KUNIT_EXPECT_TRUE(test, mode.specified);
>  	KUNIT_EXPECT_EQ(test, mode.xres, 720);
> @@ -655,7 +654,7 @@ static void drm_cmdline_test_vmirror(struct kunit *test)
>  	struct drm_cmdline_mode mode = { };
>  	const char *cmdline = "720x480,reflect_y";
>  
> -	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
> +	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
>  									  &no_connector, &mode));
>  	KUNIT_EXPECT_TRUE(test, mode.specified);
>  	KUNIT_EXPECT_EQ(test, mode.xres, 720);
> @@ -679,7 +678,7 @@ static void drm_cmdline_test_margin_options(struct kunit *test)
>  	const char *cmdline =
>  		"720x480,margin_right=14,margin_left=24,margin_bottom=36,margin_top=42";
>  
> -	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
> +	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
>  									  &no_connector, &mode));
>  	KUNIT_EXPECT_TRUE(test, mode.specified);
>  	KUNIT_EXPECT_EQ(test, mode.xres, 720);
> @@ -705,7 +704,7 @@ static void drm_cmdline_test_multiple_options(struct kunit *test)
>  	struct drm_cmdline_mode mode = { };
>  	const char *cmdline = "720x480,rotate=270,reflect_x";
>  
> -	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
> +	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
>  									  &no_connector, &mode));
>  	KUNIT_EXPECT_TRUE(test, mode.specified);
>  	KUNIT_EXPECT_EQ(test, mode.xres, 720);
> @@ -728,7 +727,7 @@ static void drm_cmdline_test_bpp_extra_and_option(struct kunit *test)
>  	struct drm_cmdline_mode mode = { };
>  	const char *cmdline = "720x480-24e,rotate=180";
>  
> -	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
> +	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
>  									  &no_connector, &mode));
>  	KUNIT_EXPECT_TRUE(test, mode.specified);
>  	KUNIT_EXPECT_EQ(test, mode.xres, 720);
> @@ -752,7 +751,7 @@ static void drm_cmdline_test_extra_and_option(struct kunit *test)
>  	struct drm_cmdline_mode mode = { };
>  	const char *cmdline = "720x480e,rotate=180";
>  
> -	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
> +	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
>  									  &no_connector, &mode));
>  	KUNIT_EXPECT_TRUE(test, mode.specified);
>  	KUNIT_EXPECT_EQ(test, mode.xres, 720);
> @@ -774,7 +773,7 @@ static void drm_cmdline_test_freestanding_options(struct kunit *test)
>  	struct drm_cmdline_mode mode = { };
>  	const char *cmdline = "margin_right=14,margin_left=24,margin_bottom=36,margin_top=42";
>  
> -	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
> +	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
>  									  &no_connector, &mode));
>  	KUNIT_EXPECT_FALSE(test, mode.specified);
>  	KUNIT_EXPECT_FALSE(test, mode.refresh_specified);
> @@ -797,7 +796,7 @@ static void drm_cmdline_test_freestanding_force_e_and_options(struct kunit *test
>  	struct drm_cmdline_mode mode = { };
>  	const char *cmdline = "e,margin_right=14,margin_left=24,margin_bottom=36,margin_top=42";
>  
> -	KUNIT_EXPECT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
> +	KUNIT_ASSERT_TRUE(test, drm_mode_parse_command_line_for_connector(cmdline,
>  									  &no_connector, &mode));
>  	KUNIT_EXPECT_FALSE(test, mode.specified);
>  	KUNIT_EXPECT_FALSE(test, mode.refresh_specified);

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/2] drm/cmdline-parser: Merge negative tests
  2022-08-04 13:17 [PATCH 1/2] drm/cmdline-parser: Merge negative tests Michał Winiarski
  2022-08-04 13:17 ` [PATCH 2/2] drm/cmdline-parser: Use assert when needed Michał Winiarski
@ 2022-08-10 13:51 ` Maíra Canal
  1 sibling, 0 replies; 7+ messages in thread
From: Maíra Canal @ 2022-08-10 13:51 UTC (permalink / raw)
  To: Michał Winiarski, dri-devel
  Cc: David Airlie, Daniel Latypov, Javier Martinez Canillas, Arthur Grillo



On 8/4/22 10:17, Michał Winiarski wrote:
> Negative tests can be expressed as a single parameterized test case,
> which highlights that we're following the same test logic (passing
> negative cmdline and expecting drm_mode_parse_command_line_for_connector
> to fail), which improves readability.
> 
> Signed-off-by: Michał Winiarski <michal.winiarski@intel.com>

Tested-by: Maíra Canal <mairacanal@riseup.net>

Best Regards,
- Maíra Canal

> ---
>  .../gpu/drm/tests/drm_cmdline_parser_test.c   | 293 ++++++------------
>  1 file changed, 103 insertions(+), 190 deletions(-)
> 
> diff --git a/drivers/gpu/drm/tests/drm_cmdline_parser_test.c b/drivers/gpu/drm/tests/drm_cmdline_parser_test.c
> index 59b29cdfdd35..058808faaf4a 100644
> --- a/drivers/gpu/drm/tests/drm_cmdline_parser_test.c
> +++ b/drivers/gpu/drm/tests/drm_cmdline_parser_test.c
> @@ -109,24 +109,6 @@ static void drm_cmdline_test_force_d_only(struct kunit *test)
>  	KUNIT_EXPECT_EQ(test, mode.force, DRM_FORCE_OFF);
>  }
>  
> -static void drm_cmdline_test_margin_only(struct kunit *test)
> -{
> -	struct drm_cmdline_mode mode = { };
> -	const char *cmdline = "m";
> -
> -	KUNIT_EXPECT_FALSE(test, drm_mode_parse_command_line_for_connector(cmdline,
> -									   &no_connector, &mode));
> -}
> -
> -static void drm_cmdline_test_interlace_only(struct kunit *test)
> -{
> -	struct drm_cmdline_mode mode = { };
> -	const char *cmdline = "i";
> -
> -	KUNIT_EXPECT_FALSE(test, drm_mode_parse_command_line_for_connector(cmdline,
> -									   &no_connector, &mode));
> -}
> -
>  static void drm_cmdline_test_res(struct kunit *test)
>  {
>  	struct drm_cmdline_mode mode = { };
> @@ -149,42 +131,6 @@ static void drm_cmdline_test_res(struct kunit *test)
>  	KUNIT_EXPECT_EQ(test, mode.force, DRM_FORCE_UNSPECIFIED);
>  }
>  
> -static void drm_cmdline_test_res_missing_x(struct kunit *test)
> -{
> -	struct drm_cmdline_mode mode = { };
> -	const char *cmdline = "x480";
> -
> -	KUNIT_EXPECT_FALSE(test, drm_mode_parse_command_line_for_connector(cmdline,
> -									   &no_connector, &mode));
> -}
> -
> -static void drm_cmdline_test_res_missing_y(struct kunit *test)
> -{
> -	struct drm_cmdline_mode mode = { };
> -	const char *cmdline = "1024x";
> -
> -	KUNIT_EXPECT_FALSE(test, drm_mode_parse_command_line_for_connector(cmdline,
> -									   &no_connector, &mode));
> -}
> -
> -static void drm_cmdline_test_res_bad_y(struct kunit *test)
> -{
> -	struct drm_cmdline_mode mode = { };
> -	const char *cmdline = "1024xtest";
> -
> -	KUNIT_EXPECT_FALSE(test, drm_mode_parse_command_line_for_connector(cmdline,
> -									   &no_connector, &mode));
> -}
> -
> -static void drm_cmdline_test_res_missing_y_bpp(struct kunit *test)
> -{
> -	struct drm_cmdline_mode mode = { };
> -	const char *cmdline = "1024x-24";
> -
> -	KUNIT_EXPECT_FALSE(test, drm_mode_parse_command_line_for_connector(cmdline,
> -									   &no_connector, &mode));
> -}
> -
>  static void drm_cmdline_test_res_vesa(struct kunit *test)
>  {
>  	struct drm_cmdline_mode mode = { };
> @@ -274,15 +220,6 @@ static void drm_cmdline_test_res_bpp(struct kunit *test)
>  	KUNIT_EXPECT_EQ(test, mode.force, DRM_FORCE_UNSPECIFIED);
>  }
>  
> -static void drm_cmdline_test_res_bad_bpp(struct kunit *test)
> -{
> -	struct drm_cmdline_mode mode = { };
> -	const char *cmdline = "720x480-test";
> -
> -	KUNIT_EXPECT_FALSE(test, drm_mode_parse_command_line_for_connector(cmdline,
> -									   &no_connector, &mode));
> -}
> -
>  static void drm_cmdline_test_res_refresh(struct kunit *test)
>  {
>  	struct drm_cmdline_mode mode = { };
> @@ -306,15 +243,6 @@ static void drm_cmdline_test_res_refresh(struct kunit *test)
>  	KUNIT_EXPECT_EQ(test, mode.force, DRM_FORCE_UNSPECIFIED);
>  }
>  
> -static void drm_cmdline_test_res_bad_refresh(struct kunit *test)
> -{
> -	struct drm_cmdline_mode mode = { };
> -	const char *cmdline = "720x480@refresh";
> -
> -	KUNIT_EXPECT_FALSE(test, drm_mode_parse_command_line_for_connector(cmdline,
> -									   &no_connector, &mode));
> -}
> -
>  static void drm_cmdline_test_res_bpp_refresh(struct kunit *test)
>  {
>  	struct drm_cmdline_mode mode = { };
> @@ -411,15 +339,6 @@ static void drm_cmdline_test_res_bpp_refresh_force_off(struct kunit *test)
>  	KUNIT_EXPECT_EQ(test, mode.force, DRM_FORCE_OFF);
>  }
>  
> -static void drm_cmdline_test_res_bpp_refresh_force_on_off(struct kunit *test)
> -{
> -	struct drm_cmdline_mode mode = { };
> -	const char *cmdline =  "720x480-24@60de";
> -
> -	KUNIT_EXPECT_FALSE(test, drm_mode_parse_command_line_for_connector(cmdline,
> -									   &no_connector, &mode));
> -}
> -
>  static void drm_cmdline_test_res_bpp_refresh_force_on(struct kunit *test)
>  {
>  	struct drm_cmdline_mode mode = { };
> @@ -563,24 +482,6 @@ static void drm_cmdline_test_res_vesa_margins(struct kunit *test)
>  	KUNIT_EXPECT_EQ(test, mode.force, DRM_FORCE_UNSPECIFIED);
>  }
>  
> -static void drm_cmdline_test_res_invalid_mode(struct kunit *test)
> -{
> -	struct drm_cmdline_mode mode = { };
> -	const char *cmdline = "720x480f";
> -
> -	KUNIT_EXPECT_FALSE(test, drm_mode_parse_command_line_for_connector(cmdline,
> -									   &no_connector, &mode));
> -}
> -
> -static void drm_cmdline_test_res_bpp_wrong_place_mode(struct kunit *test)
> -{
> -	struct drm_cmdline_mode mode = { };
> -	const char *cmdline = "720x480e-24";
> -
> -	KUNIT_EXPECT_FALSE(test, drm_mode_parse_command_line_for_connector(cmdline,
> -									   &no_connector, &mode));
> -}
> -
>  static void drm_cmdline_test_name(struct kunit *test)
>  {
>  	struct drm_cmdline_mode mode = { };
> @@ -608,42 +509,6 @@ static void drm_cmdline_test_name_bpp(struct kunit *test)
>  	KUNIT_EXPECT_EQ(test, mode.bpp, 24);
>  }
>  
> -static void drm_cmdline_test_name_bpp_refresh(struct kunit *test)
> -{
> -	struct drm_cmdline_mode mode = { };
> -	const char *cmdline = "NTSC-24@60";
> -
> -	KUNIT_EXPECT_FALSE(test, drm_mode_parse_command_line_for_connector(cmdline,
> -									   &no_connector, &mode));
> -}
> -
> -static void drm_cmdline_test_name_refresh(struct kunit *test)
> -{
> -	struct drm_cmdline_mode mode = { };
> -	const char *cmdline = "NTSC@60";
> -
> -	KUNIT_EXPECT_FALSE(test, drm_mode_parse_command_line_for_connector(cmdline,
> -									   &no_connector, &mode));
> -}
> -
> -static void drm_cmdline_test_name_refresh_wrong_mode(struct kunit *test)
> -{
> -	struct drm_cmdline_mode mode = { };
> -	const char *cmdline = "NTSC@60m";
> -
> -	KUNIT_EXPECT_FALSE(test, drm_mode_parse_command_line_for_connector(cmdline,
> -									   &no_connector, &mode));
> -}
> -
> -static void drm_cmdline_test_name_refresh_invalid_mode(struct kunit *test)
> -{
> -	struct drm_cmdline_mode mode = { };
> -	const char *cmdline = "NTSC@60f";
> -
> -	KUNIT_EXPECT_FALSE(test, drm_mode_parse_command_line_for_connector(cmdline,
> -									   &no_connector, &mode));
> -}
> -
>  static void drm_cmdline_test_name_option(struct kunit *test)
>  {
>  	struct drm_cmdline_mode mode = { };
> @@ -762,33 +627,6 @@ static void drm_cmdline_test_rotate_270(struct kunit *test)
>  	KUNIT_EXPECT_EQ(test, mode.force, DRM_FORCE_UNSPECIFIED);
>  }
>  
> -static void drm_cmdline_test_rotate_multiple(struct kunit *test)
> -{
> -	struct drm_cmdline_mode mode = { };
> -	const char *cmdline = "720x480,rotate=0,rotate=90";
> -
> -	KUNIT_EXPECT_FALSE(test, drm_mode_parse_command_line_for_connector(cmdline,
> -									   &no_connector, &mode));
> -}
> -
> -static void drm_cmdline_test_rotate_invalid_val(struct kunit *test)
> -{
> -	struct drm_cmdline_mode mode = { };
> -	const char *cmdline = "720x480,rotate=42";
> -
> -	KUNIT_EXPECT_FALSE(test, drm_mode_parse_command_line_for_connector(cmdline,
> -									   &no_connector, &mode));
> -}
> -
> -static void drm_cmdline_test_rotate_truncated(struct kunit *test)
> -{
> -	struct drm_cmdline_mode mode = { };
> -	const char *cmdline = "720x480,rotate=";
> -
> -	KUNIT_EXPECT_FALSE(test, drm_mode_parse_command_line_for_connector(cmdline,
> -									   &no_connector, &mode));
> -}
> -
>  static void drm_cmdline_test_hmirror(struct kunit *test)
>  {
>  	struct drm_cmdline_mode mode = { };
> @@ -885,15 +723,6 @@ static void drm_cmdline_test_multiple_options(struct kunit *test)
>  	KUNIT_EXPECT_EQ(test, mode.force, DRM_FORCE_UNSPECIFIED);
>  }
>  
> -static void drm_cmdline_test_invalid_option(struct kunit *test)
> -{
> -	struct drm_cmdline_mode mode = { };
> -	const char *cmdline = "720x480,test=42";
> -
> -	KUNIT_EXPECT_FALSE(test, drm_mode_parse_command_line_for_connector(cmdline,
> -									   &no_connector, &mode));
> -}
> -
>  static void drm_cmdline_test_bpp_extra_and_option(struct kunit *test)
>  {
>  	struct drm_cmdline_mode mode = { };
> @@ -1006,64 +835,148 @@ static void drm_cmdline_test_panel_orientation(struct kunit *test)
>  	KUNIT_EXPECT_EQ(test, mode.force, DRM_FORCE_UNSPECIFIED);
>  }
>  
> +struct drm_cmdline_negative_test {
> +	const char *name;
> +	const char *cmdline;
> +};
> +
> +static void drm_cmdline_test_negative(struct kunit *test)
> +{
> +	const struct drm_cmdline_negative_test *params = test->param_value;
> +	struct drm_cmdline_mode mode = { };
> +
> +	KUNIT_EXPECT_FALSE(test, drm_mode_parse_command_line_for_connector(params->cmdline,
> +									   &no_connector,
> +									   &mode));
> +}
> +
> +static const struct drm_cmdline_negative_test drm_cmdline_negative_tests[] = {
> +	{
> +		.name = "margin_only",
> +		.cmdline = "m",
> +	},
> +	{
> +		.name = "interlace_only",
> +		.cmdline = "i",
> +	},
> +	{
> +		.name = "res_missing_x",
> +		.cmdline = "x480",
> +	},
> +	{
> +		.name = "res_missing_y",
> +		.cmdline = "1024x",
> +	},
> +	{
> +		.name = "res_bad_y",
> +		.cmdline = "1024xtest",
> +	},
> +	{
> +		.name = "res_missing_y_bpp",
> +		.cmdline = "1024x-24",
> +	},
> +	{
> +		.name = "res_bad_bpp",
> +		.cmdline = "720x480-test",
> +	},
> +	{
> +		.name = "res_bad_refresh",
> +		.cmdline = "720x480@refresh",
> +	},
> +	{
> +		.name = "res_bpp_refresh_force_on_off",
> +		.cmdline = "720x480-24@60de",
> +	},
> +	{
> +		.name = "res_invalid_mode",
> +		.cmdline = "720x480f",
> +	},
> +	{
> +		.name = "res_bpp_wrong_place_mode",
> +		.cmdline = "720x480e-24",
> +	},
> +	{
> +		.name = "name_bpp_refresh",
> +		.cmdline = "NTSC-24@60",
> +	},
> +	{
> +		.name = "name_refresh",
> +		.cmdline = "NTSC@60",
> +	},
> +	{
> +		.name = "name_refresh_wrong_mode",
> +		.cmdline = "NTSC@60m",
> +	},
> +	{
> +		.name = "name_refresh_invalid_mode",
> +		.cmdline = "NTSC@60f",
> +	},
> +	{
> +		.name = "rotate_multiple",
> +		.cmdline = "720x480,rotate=0,rotate=90",
> +	},
> +	{
> +		.name = "rotate_invalid_val",
> +		.cmdline = "720x480,rotate=42",
> +	},
> +	{
> +		.name = "rotate_truncated",
> +		.cmdline = "720x480,rotate=",
> +	},
> +	{
> +		.name = "invalid_option",
> +		.cmdline = "720x480,test=42",
> +	},
> +};
> +
> +static void drm_cmdline_negative_desc(const struct drm_cmdline_negative_test *t,
> +				      char *desc)
> +{
> +	sprintf(desc, "%s", t->name);
> +}
> +
> +KUNIT_ARRAY_PARAM(drm_cmdline_negative, drm_cmdline_negative_tests, drm_cmdline_negative_desc);
> +
>  static struct kunit_case drm_cmdline_parser_tests[] = {
>  	KUNIT_CASE(drm_cmdline_test_force_d_only),
>  	KUNIT_CASE(drm_cmdline_test_force_D_only_dvi),
>  	KUNIT_CASE(drm_cmdline_test_force_D_only_hdmi),
>  	KUNIT_CASE(drm_cmdline_test_force_D_only_not_digital),
>  	KUNIT_CASE(drm_cmdline_test_force_e_only),
> -	KUNIT_CASE(drm_cmdline_test_margin_only),
> -	KUNIT_CASE(drm_cmdline_test_interlace_only),
>  	KUNIT_CASE(drm_cmdline_test_res),
> -	KUNIT_CASE(drm_cmdline_test_res_missing_x),
> -	KUNIT_CASE(drm_cmdline_test_res_missing_y),
> -	KUNIT_CASE(drm_cmdline_test_res_bad_y),
> -	KUNIT_CASE(drm_cmdline_test_res_missing_y_bpp),
>  	KUNIT_CASE(drm_cmdline_test_res_vesa),
>  	KUNIT_CASE(drm_cmdline_test_res_vesa_rblank),
>  	KUNIT_CASE(drm_cmdline_test_res_rblank),
>  	KUNIT_CASE(drm_cmdline_test_res_bpp),
> -	KUNIT_CASE(drm_cmdline_test_res_bad_bpp),
>  	KUNIT_CASE(drm_cmdline_test_res_refresh),
> -	KUNIT_CASE(drm_cmdline_test_res_bad_refresh),
>  	KUNIT_CASE(drm_cmdline_test_res_bpp_refresh),
>  	KUNIT_CASE(drm_cmdline_test_res_bpp_refresh_interlaced),
>  	KUNIT_CASE(drm_cmdline_test_res_bpp_refresh_margins),
>  	KUNIT_CASE(drm_cmdline_test_res_bpp_refresh_force_off),
> -	KUNIT_CASE(drm_cmdline_test_res_bpp_refresh_force_on_off),
>  	KUNIT_CASE(drm_cmdline_test_res_bpp_refresh_force_on),
>  	KUNIT_CASE(drm_cmdline_test_res_bpp_refresh_force_on_analog),
>  	KUNIT_CASE(drm_cmdline_test_res_bpp_refresh_force_on_digital),
>  	KUNIT_CASE(drm_cmdline_test_res_bpp_refresh_interlaced_margins_force_on),
>  	KUNIT_CASE(drm_cmdline_test_res_margins_force_on),
>  	KUNIT_CASE(drm_cmdline_test_res_vesa_margins),
> -	KUNIT_CASE(drm_cmdline_test_res_invalid_mode),
> -	KUNIT_CASE(drm_cmdline_test_res_bpp_wrong_place_mode),
>  	KUNIT_CASE(drm_cmdline_test_name),
>  	KUNIT_CASE(drm_cmdline_test_name_bpp),
> -	KUNIT_CASE(drm_cmdline_test_name_refresh),
> -	KUNIT_CASE(drm_cmdline_test_name_bpp_refresh),
> -	KUNIT_CASE(drm_cmdline_test_name_refresh_wrong_mode),
> -	KUNIT_CASE(drm_cmdline_test_name_refresh_invalid_mode),
>  	KUNIT_CASE(drm_cmdline_test_name_option),
>  	KUNIT_CASE(drm_cmdline_test_name_bpp_option),
>  	KUNIT_CASE(drm_cmdline_test_rotate_0),
>  	KUNIT_CASE(drm_cmdline_test_rotate_90),
>  	KUNIT_CASE(drm_cmdline_test_rotate_180),
>  	KUNIT_CASE(drm_cmdline_test_rotate_270),
> -	KUNIT_CASE(drm_cmdline_test_rotate_multiple),
> -	KUNIT_CASE(drm_cmdline_test_rotate_invalid_val),
> -	KUNIT_CASE(drm_cmdline_test_rotate_truncated),
>  	KUNIT_CASE(drm_cmdline_test_hmirror),
>  	KUNIT_CASE(drm_cmdline_test_vmirror),
>  	KUNIT_CASE(drm_cmdline_test_margin_options),
>  	KUNIT_CASE(drm_cmdline_test_multiple_options),
> -	KUNIT_CASE(drm_cmdline_test_invalid_option),
>  	KUNIT_CASE(drm_cmdline_test_bpp_extra_and_option),
>  	KUNIT_CASE(drm_cmdline_test_extra_and_option),
>  	KUNIT_CASE(drm_cmdline_test_freestanding_options),
>  	KUNIT_CASE(drm_cmdline_test_freestanding_force_e_and_options),
>  	KUNIT_CASE(drm_cmdline_test_panel_orientation),
> +	KUNIT_CASE_PARAM(drm_cmdline_test_negative, drm_cmdline_negative_gen_params),
>  	{}
>  };
>  

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2022-08-10 13:52 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-04 13:17 [PATCH 1/2] drm/cmdline-parser: Merge negative tests Michał Winiarski
2022-08-04 13:17 ` [PATCH 2/2] drm/cmdline-parser: Use assert when needed Michał Winiarski
2022-08-04 19:05   ` kernel test robot
2022-08-04 19:05     ` kernel test robot
2022-08-04 19:26   ` kernel test robot
2022-08-10 13:45   ` Maíra Canal
2022-08-10 13:51 ` [PATCH 1/2] drm/cmdline-parser: Merge negative tests Maíra Canal

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.