Skip to content

Holistic solution for tmt lint failing due to missing required keys in schema #4483

@tcornell-bus

Description

@tcornell-bus

This is an umbrella issue for #3618 and #4178.

The first issue #3618 requested for tmt lint to fail when schema checking emits warnings.
The Second issue #4178 is requesting for tmt lint to not fail when schema checking emits warnings.

Both issues are legitimate; we should try to solve them with a more holistic solution.

As decided in the tmt hacking session (comment):
The proper fix for #4178 is to ignore the schema during linting for required keys, use the step data of the plugin for validation of the required keys, and drop the required keys from the schema. Then tmt lint can confidently fail when it finds any other schema errors.

Or another possibility suggested by @happz is something like:

tmt needs some help from the user. We can identify missing keys, easily, the question is whether it's an omission or on purpose, and we can only guess. A comment in the fmf file would be nice, right?

 report:
   - how: reportportal

     # `project` is supplied either on command line when running locally, or via envvar in TF
     # lint: ignore=C000(project)
 adjust+:

with a hint of some kind, we can get back to FAIL (#3618) and confidently state that a missing key is missing without the user being aware, as they did not acknowledge its absence. by a # lint hint, for example.

Sub-issues

Metadata

Metadata

Assignees

Labels

code | schemaSchema used for validating config filescommand | linttmt lint command

Type

No type

Projects

Status

backlog

Status

triaged

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions