157 lines
4.8 KiB
YAML
157 lines
4.8 KiB
YAML
# SPDX-License-Identifier: GPL-2.0
|
|
# Copyright(c) 2026: Mauro Carvalho Chehab <mchehab@kernel.org>.
|
|
|
|
# KDoc Test File Schema
|
|
|
|
# This schema contains objects and properties needed to run kernel-doc
|
|
# self-tests.
|
|
|
|
$schema: "http://json-schema.org/draft-07/schema#"
|
|
|
|
tests:
|
|
type: array
|
|
minItems: 1
|
|
description: |
|
|
A list of kernel-doc tests.
|
|
|
|
properties:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: |
|
|
Test name. Should be an unique identifier within the schema.
|
|
Don't prepend it with "test", as the dynamic test creation will
|
|
do it.
|
|
|
|
description:
|
|
type: string
|
|
description: |
|
|
Test description
|
|
|
|
source:
|
|
type: string
|
|
description: |
|
|
C source code that should be parsed by kernel-doc.
|
|
|
|
fname:
|
|
type: string
|
|
description: |
|
|
The filename that contains the element.
|
|
When placing real testcases, please use here the name of
|
|
the C file (or header) from where the source code was picked.
|
|
|
|
exports:
|
|
type: array
|
|
items: { type: string }
|
|
description: |
|
|
A list of export identifiers that are expected when parsing source.
|
|
|
|
expected:
|
|
type: array
|
|
minItems: 1
|
|
description: |
|
|
A list of expected values. This list consists on objects to check
|
|
both kdoc_parser and/or kdoc_output objects.
|
|
|
|
items:
|
|
type: object
|
|
properties:
|
|
#
|
|
# kdoc_item
|
|
#
|
|
kdoc_item:
|
|
type: object
|
|
description: |
|
|
Object expected to represent the C source code after parsed
|
|
by tools/lib/python/kdoc/kdoc_parser.py KernelDoc class.
|
|
See tools/lib/python/kdoc/kdoc_item.py for its contents.
|
|
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: |
|
|
The name of the identifier (function name, struct name, etc).
|
|
type:
|
|
type: string
|
|
description: |
|
|
Type of the object, as filled by kdoc_parser. can be:
|
|
- enum
|
|
- typedef
|
|
- union
|
|
- struct
|
|
- var
|
|
- function
|
|
declaration_start_line:
|
|
type: integer
|
|
description: |
|
|
The line number where the kernel-doc markup started.
|
|
The first line of the code is line number 1.
|
|
sections:
|
|
type: object
|
|
additionalProperties: { type: string }
|
|
description: |
|
|
Sections inside the kernel-doc markups:
|
|
- "description"
|
|
- "return"
|
|
- any other part of the markup that starts with "something:"
|
|
sections_start_lines:
|
|
type: object
|
|
additionalProperties: { type: integer }
|
|
description: |
|
|
a list of section names and the starting line of it.
|
|
parameterlist:
|
|
type: array
|
|
items: { type: string }
|
|
description: |
|
|
Ordered list of parameter names.
|
|
|
|
parameterdesc_start_lines:
|
|
type: object
|
|
additionalProperties: { type: integer }
|
|
description: |
|
|
Mapping from parameter name to the line where its
|
|
description starts.
|
|
parameterdescs:
|
|
type: object
|
|
additionalProperties: { type: string }
|
|
description: |
|
|
Mapping from parameter name to its description.
|
|
|
|
parametertypes:
|
|
type: object
|
|
additionalProperties: { type: string }
|
|
description: |
|
|
Mapping from parameter name to its type.
|
|
|
|
other_stuff:
|
|
type: object
|
|
additionalProperties: {}
|
|
description: |
|
|
Extra properties that will be stored at the item.
|
|
Should match what kdoc_output expects.
|
|
|
|
required:
|
|
- name
|
|
- type
|
|
- declaration_start_line
|
|
|
|
rst:
|
|
type: string
|
|
description: |
|
|
The expected output for RestOutput class.
|
|
|
|
man:
|
|
type: string
|
|
description: |
|
|
The expected output for ManOutput class.
|
|
|
|
anyOf:
|
|
required: kdoc_item
|
|
required: source
|
|
|
|
required:
|
|
- name
|
|
- fname
|
|
- expected
|