Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v6.3-rc4 76 lines 2.1 kB view raw
1// SPDX-License-Identifier: GPL-2.0 2/* 3 * Kunit test for drm_modes functions 4 */ 5 6#include <drm/drm_connector.h> 7 8#include <kunit/test.h> 9 10struct drm_get_tv_mode_from_name_test { 11 const char *name; 12 enum drm_connector_tv_mode expected_mode; 13}; 14 15#define TV_MODE_NAME(_name, _mode) \ 16 { \ 17 .name = _name, \ 18 .expected_mode = _mode, \ 19 } 20 21static void drm_test_get_tv_mode_from_name_valid(struct kunit *test) 22{ 23 const struct drm_get_tv_mode_from_name_test *params = test->param_value; 24 25 KUNIT_EXPECT_EQ(test, 26 drm_get_tv_mode_from_name(params->name, strlen(params->name)), 27 params->expected_mode); 28} 29 30static const 31struct drm_get_tv_mode_from_name_test drm_get_tv_mode_from_name_valid_tests[] = { 32 TV_MODE_NAME("NTSC", DRM_MODE_TV_MODE_NTSC), 33 TV_MODE_NAME("NTSC-443", DRM_MODE_TV_MODE_NTSC_443), 34 TV_MODE_NAME("NTSC-J", DRM_MODE_TV_MODE_NTSC_J), 35 TV_MODE_NAME("PAL", DRM_MODE_TV_MODE_PAL), 36 TV_MODE_NAME("PAL-M", DRM_MODE_TV_MODE_PAL_M), 37 TV_MODE_NAME("PAL-N", DRM_MODE_TV_MODE_PAL_N), 38 TV_MODE_NAME("SECAM", DRM_MODE_TV_MODE_SECAM), 39}; 40 41static void 42drm_get_tv_mode_from_name_valid_desc(const struct drm_get_tv_mode_from_name_test *t, 43 char *desc) 44{ 45 sprintf(desc, "%s", t->name); 46} 47 48KUNIT_ARRAY_PARAM(drm_get_tv_mode_from_name_valid, 49 drm_get_tv_mode_from_name_valid_tests, 50 drm_get_tv_mode_from_name_valid_desc); 51 52static void drm_test_get_tv_mode_from_name_truncated(struct kunit *test) 53{ 54 const char *name = "NTS"; 55 int ret; 56 57 ret = drm_get_tv_mode_from_name(name, strlen(name)); 58 KUNIT_EXPECT_LT(test, ret, 0); 59}; 60 61static struct kunit_case drm_get_tv_mode_from_name_tests[] = { 62 KUNIT_CASE_PARAM(drm_test_get_tv_mode_from_name_valid, 63 drm_get_tv_mode_from_name_valid_gen_params), 64 KUNIT_CASE(drm_test_get_tv_mode_from_name_truncated), 65 { } 66}; 67 68static struct kunit_suite drm_get_tv_mode_from_name_test_suite = { 69 .name = "drm_get_tv_mode_from_name", 70 .test_cases = drm_get_tv_mode_from_name_tests, 71}; 72 73kunit_test_suite(drm_get_tv_mode_from_name_test_suite); 74 75MODULE_AUTHOR("Maxime Ripard <maxime@cerno.tech>"); 76MODULE_LICENSE("GPL");