1FMF(1)                           User Commands                          FMF(1)
2
3
4

NAME

6       fmf - Flexible Metadata Format
7

DESCRIPTION

9       The fmf Python module and command line tool implement a flexible format
10       for defining metadata in plain text files which can be stored close  to
11       the  source  code and structured in a hierarchical way with support for
12       inheritance.
13
14       Although the proposal initially originated from user  stories  centered
15       around  test  execution,  the format is general and thus can be used in
16       broader scenarios, e.g. test coverage mapping.
17
18       Using this approach it's also possible to combine both  test  execution
19       metadata  and test coverage information. Thanks to elasticity and hier‐
20       archy it provides ability to organize data into well-sized  text  docu‐
21       ments while preventing duplication.
22

SYNOPSIS

24       Command line usage is straightforward:
25
26          fmf command [options]
27
28       There are following commands available:
29
30          fmf ls      List identifiers of available objects
31          fmf show    Show metadata of available objects
32          fmf init    Initialize a new metadata tree
33          fmf clean   Remove cache directory and its content
34

EXAMPLES

36       List names of all objects stored in the metadata tree:
37
38          fmf ls
39
40       Show all test metadata (with 'test' attribute defined):
41
42          fmf show --key test
43
44       Show metadata for all tree nodes (not only leaves):
45
46          fmf show --key test --whole
47
48       List all attributes for the /recursion tests:
49
50          fmf show --key test --name /recursion
51
52       Show all covered requirements:
53
54          fmf show --key requirement --key coverage
55
56       Search  for  all tests with the Tier1 tag defined and show a brief sum‐
57       mary of what was found:
58
59          fmf show --key test --filter tags:Tier1 --verbose
60
61       Use arbitrary Python expressions to access deeper  objects  and  create
62       more complex conditions:
63
64          fmf show --condition "execute['how'] == 'shell'"
65
66       Initialize a new metadata tree in the current directory:
67
68          fmf init
69
70       Check  help  message of individual commands for the full list of avail‐
71       able options.
72

OPTIONS

74       Here is the list of the most frequently used options.
75
76   Select
77       Limit which metadata should be listed.
78
79       --key=KEYS
80              Key content definition (required attributes)
81
82       --name=NAMES
83              List objects with name matching regular expression
84
85       --filter=FLTRS
86              Apply advanced filter when selecting objects
87
88       --condition=EXPR
89              Use arbitrary Python expression for filtering
90
91       --whole
92              Consider the whole tree (leaves only by default)
93
94       For filtering regular expressions  can  be  used  as  well.  See  pydoc
95       fmf.filter for advanced filtering options.
96
97   Format
98       Choose the best format for showing the metadata.
99
100       --format=FMT
101              Custom output format using the {} expansion
102
103       --value=VALUES
104              Values for the custom formatting string
105
106       See online documentation for details about custom format.
107
108   Utils
109       Various utility options.
110
111       --path PATHS
112              Path to the metadata tree (default: current directory)
113
114       --verbose
115              Print additional information standard error output
116
117       --debug
118              Turn on debugging output, do not catch exceptions
119
120       Check  help  message of individual commands for the full list of avail‐
121       able options.
122

INSTALL

124       The fmf package is available in Fedora and EPEL:
125
126          dnf install fmf
127
128       Install the latest version from the Copr repository:
129
130          dnf copr enable @teemtee/fmf
131          dnf install fmf
132
133       or use PIP:
134
135          pip install fmf
136
137       See documentation for more details about installation options.
138

VARIABLES

140       Here is the list of environment variables understood by fmf:
141
142       FMF_CACHE_DIRECTORY
143              Directory used to cache git clone calls for fmf identifiers.
144
146       Git: https://github.com/teemtee/fmf
147
148       Docs: http://fmf.readthedocs.io/
149
150       Issues: https://github.com/teemtee/fmf/issues
151
152       Releases: https://github.com/teemtee/fmf/releases
153
154       Copr: http://copr.fedoraproject.org/coprs/g/teemtee/fmf
155
156       PIP: https://pypi.org/project/fmf/
157

AUTHORS

159       Petr Šplíchal, Miro Hrončok, Jakub Krysl,  Jan  Ščotka,  Alois  Mahdal,
160       Cleber  Rosa,  Miroslav Vadkerti, Lukáš Zachar, František Nečas, Evgeny
161       Fedin, Pablo Martin, Zhaojuan Guo, Laura  Barcziová,  Petr  Matyáš  and
162       Filip Vágner.
163
165       Copyright (c) 2018-2021 Red Hat, Inc.
166
167       This program is free software; you can redistribute it and/or modify it
168       under the terms of the GNU General Public License as published  by  the
169       Free  Software Foundation; either version 2 of the License, or (at your
170       option) any later version.
171
172
173
174
175                                 January 2018                           FMF(1)
Impressum