[igt-dev] [i-g-t 2/3] testplan: Add testplan support for kms tests

Mauro Carvalho Chehab mauro.chehab at linux.intel.com
Fri May 5 04:53:07 UTC 2023


On Thu,  4 May 2023 15:54:50 +0530
Bhanuprakash Modem <bhanuprakash.modem at intel.com> wrote:

> Add testplan support for kms tests.
> The documentation for kms tests will be like:
> 
> 	/**
> 	 * TEST: Test foo.
> 	 * Category: Display
> 	 *
> 	 * SUBTEST: bar
> 	 * Description: bar description
> 	 * Test category: functionality test
> 	 * Run type: BAT
> 	 * Functionality: dp
> 	 * Mega feature: DP 2.0
> 	 */
> 
> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem at intel.com>
> ---
>  docs/testplan/meson.build  |  6 ++++--
>  tests/kms_test_config.json | 41 ++++++++++++++++++++++++++++++++++++++
>  2 files changed, 45 insertions(+), 2 deletions(-)
>  create mode 100644 tests/kms_test_config.json
> 
> diff --git a/docs/testplan/meson.build b/docs/testplan/meson.build
> index e36713960..4e3565cf8 100644
> --- a/docs/testplan/meson.build
> +++ b/docs/testplan/meson.build
> @@ -7,6 +7,7 @@ rst2pdf = find_program('rst2pdf', required: false)
>  stylesheet = join_paths(meson.current_source_dir(), 'testplan.css')
>  
>  xe_test_config = join_paths(source_root, 'tests', 'xe', 'xe_test_config.json')
> +kms_test_config = join_paths(source_root, 'tests', 'kms_test_config.json')
>  
>  check_testlist = []
>  if build_tests
> @@ -22,8 +23,9 @@ else
>  	doc_dependencies = []
>  endif
>  
> -test_dict = { 'xe_tests':
> -		{ 'input': xe_test_config, 'extra_args': check_testlist }
> +test_dict = {
> +	      'xe_tests': { 'input': xe_test_config, 'extra_args': check_testlist },
> +	      'kms_tests': { 'input': kms_test_config, 'extra_args': check_testlist }

As you're not planning to document all tests at once, please replace it
to:

      'kms_tests': { 'input': kms_test_config, 'extra_args': [] }

As otherwise the build will complain that the documentation is
incomplete.

>  	    }
>  
>  foreach testplan, fields: test_dict
> diff --git a/tests/kms_test_config.json b/tests/kms_test_config.json
> new file mode 100644
> index 000000000..4faecb7a7
> --- /dev/null
> +++ b/tests/kms_test_config.json
> @@ -0,0 +1,41 @@
> +{
> +    "description": "JSON file to be used to parse KMS documentation",
> +    "files": [ "chamelium/kms_chamelium_edid.c", "chamelium/kms_chamelium_frames.c",
> +               "chamelium/kms_chamelium_hpd.c", "i915/kms_psr.c",
> +               "kms_addfb_basic.c", "kms_cursor_legacy.c", "kms_flip.c",
> +               "kms_force_connector_basic.c", "kms_pipe_crc_basic.c",
> +               "kms_prop_blob.c", "kms_color.c"
> +             ],

It probably makes sense to use wildcards like "kms_*.c" and "i915/kms_*.c".

> +    "fields": {
> +        "Category": {
> +            "_properties_": {
> +                "description": "Contains the major group for the tested functionality 'Display'"
> +            }
> +        },
> +        "Mega feature": {
> +            "_properties_": {
> +                "description": "Contains the mega feature for end to end use case, e.g. the 'PSR' feature."
> +            },
> +            "Functionality": {
> +                "_properties_": {
> +                    "description": "Groups tests on buckets containg more detailed functionality"
> +                }
> +            }
> +        },
> +        "Run type": {
> +            "_properties_": {
> +                "description": "Defines what category of testlist it belongs"
> +            }
> +        },
> +        "Test category": {
> +            "_properties_": {
> +                "description": "Defines the test category. Usually used at subtest level."
> +            }
> +        },
> +        "Description" : {
> +            "_properties_": {
> +                "description": "Provides a description for the test/subtest."
> +            }
> +        }
> +    }
> +}


More information about the igt-dev mailing list