1FMF(1) User Commands FMF(1)
2
3
4
6 fmf - Flexible Metadata Format
7
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
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
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
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
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
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
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)