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
35 List names of all objects stored in the metadata tree:
36
37 fmf ls
38
39 Show all test metadata (with 'test' attribute defined):
40
41 fmf show --key test
42
43 Show metadata for all tree nodes (not only leaves):
44
45 fmf show --key test --whole
46
47 List all attributes for the /recursion tests:
48
49 fmf show --key test --name /recursion
50
51 Show all covered requirements:
52
53 fmf show --key requirement --key coverage
54
55 Search for all tests with the Tier1 tag defined and show a brief sum‐
56 mary of what was found:
57
58 fmf show --key test --filter tags:Tier1 --verbose
59
60 Use arbitrary Python expressions to access deeper objects and create
61 more complex conditions:
62
63 fmf show --condition "execute['how'] == 'shell'"
64
65 Initialize a new metadata tree in the current directory:
66
67 fmf init
68
69 Check help message of individual commands for the full list of avail‐
70 able options.
71
73 Here is the list of the most frequently used options.
74
75 Select
76 Limit which metadata should be listed.
77
78 --key=KEYS
79 Key content definition (required attributes)
80
81 --name=NAMES
82 List objects with name matching regular expression
83
84 --filter=FLTRS
85 Apply advanced filter when selecting objects
86
87 --condition=EXPR
88 Use arbitrary Python expression for filtering
89
90 --whole
91 Consider the whole tree (leaves only by default)
92
93 For filtering regular expressions can be used as well. See pydoc
94 fmf.filter for advanced filtering options.
95
96 Format
97 Choose the best format for showing the metadata.
98
99 --format=FMT
100 Custom output format using the {} expansion
101
102 --value=VALUES
103 Values for the custom formatting string
104
105 See online documentation for details about custom format.
106
107 Utils
108 Various utility options.
109
110 --path PATHS
111 Path to the metadata tree (default: current directory)
112
113 --verbose
114 Print additional information standard error output
115
116 --debug
117 Turn on debugging output, do not catch exceptions
118
119 Check help message of individual commands for the full list of avail‐
120 able options.
121
123 The fmf package is available in Fedora and EPEL:
124
125 dnf install fmf
126
127 Install the latest version from the Copr repository:
128
129 dnf copr enable psss/fmf
130 dnf install fmf
131
132 or use PIP:
133
134 pip install fmf
135
136 See documentation for more details about installation options.
137
139 Git: https://github.com/psss/fmf
140
141 Docs: http://fmf.readthedocs.io/
142
143 Issues: https://github.com/psss/fmf/issues
144
145 Releases: https://github.com/psss/fmf/releases
146
147 Copr: http://copr.fedoraproject.org/coprs/psss/fmf
148
149 PIP: https://pypi.org/project/fmf/
150
151 Travis: https://travis-ci.org/psss/fmf
152
153 Coveralls: https://coveralls.io/github/psss/fmf
154
156 Petr Šplíchal, Jakub Krysl, Jan Ščotka, Alois Mahdal and Cleber Rosa.
157
159 Copyright (c) 2018 Red Hat, Inc.
160
161 This program is free software; you can redistribute it and/or modify it
162 under the terms of the GNU General Public License as published by the
163 Free Software Foundation; either version 2 of the License, or (at your
164 option) any later version.
165
166
167
168
169 January 2018 FMF(1)