From Fedora Project Wiki

(Extra section for specification)
mNo edit summary
 
Line 16: Line 16:


* [https://fmf.readthedocs.io/en/latest/features.html#simple Simple] ... common use cases super simple to read & write
* [https://fmf.readthedocs.io/en/latest/features.html#simple Simple] ... common use cases super simple to read & write
* [https://fmf.readthedocs.io/en/latest/features.html#hierarchy Hiearchy] ... metadata structured in a hierarchy
* [https://fmf.readthedocs.io/en/latest/features.html#hierarchy Hierarchy] ... metadata structured in a hierarchy
* [https://fmf.readthedocs.io/en/latest/features.html#inheritance Inheritance] ... data inheritance prevent duplication
* [https://fmf.readthedocs.io/en/latest/features.html#inheritance Inheritance] ... data inheritance prevent duplication
* [https://fmf.readthedocs.io/en/latest/features.html#elasticity Elasticity] ... single file or data scattered across hierarchy
* [https://fmf.readthedocs.io/en/latest/features.html#elasticity Elasticity] ... single file or data scattered across hierarchy

Latest revision as of 12:00, 3 March 2023

Introduction

In order to keep test execution efficient when number of test cases grows, it is crucial to maintain corresponding metadata, which define some aspects of how the test coverage is executed.

This concept proposes a flexible format for defining metadata in plain text files which can be stored close to the test code and structured in a hiearchical way with support for inheritance.

Contact: Petr Šplíchal

Features

Here are some of the key features of the Flexible Metadata Format:

  • Simple ... common use cases super simple to read & write
  • Hierarchy ... metadata structured in a hierarchy
  • Inheritance ... data inheritance prevent duplication
  • Elasticity ... single file or data scattered across hierarchy
  • Virtual ... support for maintaining virtual test cases

Specification

We are currently working on a Metadata specification which describes in detail individual attributes to be used for selecting and executing tests in the Fedora CI (L1 metadata) and additional information which is necessary for executing multiple test cases (L2 metadata):

Links

A Python module and a simple command line tool are available for experimenting. Detailed documentation is included as well: