-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathpytest.ini
More file actions
313 lines (295 loc) · 19.9 KB
/
pytest.ini
File metadata and controls
313 lines (295 loc) · 19.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
; this is pytest configuration file
[pytest]
; All files with the following pattern will be evaluated to be tested
python_files = test_*.py
; All classes with the following pattern will be evaluated to be tested
; python_classes = Test
; All functions with the following pattern will be executed
python_functions = test_*
; Command line options, pytest --help for available options
addopts =
; PYTEST
; This enables html report
--html=.pytest_cache/html/tests/results.html
; to control verbosity (or --verbose)
--quiet
; COVERAGE
; This enables packages/directories coverage
--cov=icoco
; This enables coverage with html report
--cov-report=html:.pytest_cache/html/coverage
; This checks percent of converage test
--cov-fail-under=100
; XDIST
; This enables parallel execution
-n auto
; This enables marker to be run with "pytest -m <marker>" (deselect with '-m "not <marker>"')
markers =
linter: marks test as code linter
; pytest --help
; usage: pytest [options] [file_or_dir] [file_or_dir] [...]
; positional arguments:
; file_or_dir
; general:
; -k EXPRESSION only run tests which match the given substring expression. An expression is a python evaluatable expression where all names are
; substring-matched against test names and their parent classes. Example: -k 'test_method or test_other' matches all test functions
; and classes whose name contains 'test_method' or 'test_other', while -k 'not test_method' matches those that don't contain
; 'test_method' in their names. -k 'not test_method and not test_other' will eliminate the matches. Additionally keywords are matched
; to classes and functions containing extra names in their 'extra_keyword_matches' set, as well as functions which have names assigned
; directly to them. The matching is case-insensitive.
; -m MARKEXPR only run tests matching given mark expression.
; For example: -m 'mark1 and not mark2'.
; --markers show markers (builtin, plugin and per-project ones).
; -x, --exitfirst exit instantly on first error or failed test.
; --fixtures, --funcargs
; show available fixtures, sorted by plugin appearance (fixtures with leading '_' are only shown with '-v')
; --fixtures-per-test show fixtures per test
; --pdb start the interactive Python debugger on errors or KeyboardInterrupt.
; --pdbcls=modulename:classname
; specify a custom interactive Python debugger for use with --pdb.For example: --pdbcls=IPython.terminal.debugger:TerminalPdb
; --trace Immediately break when running each test.
; --capture=method per-test capturing method: one of fd|sys|no|tee-sys.
; -s shortcut for --capture=no.
; --runxfail report the results of xfail tests as if they were not marked
; --lf, --last-failed rerun only the tests that failed at the last run (or all if none failed)
; --ff, --failed-first run all tests, but run the last failures first.
; This may re-order tests and thus lead to repeated fixture setup/teardown.
; --nf, --new-first run tests from new files first, then the rest of the tests sorted by file mtime
; --cache-show=[CACHESHOW]
; show cache contents, don't perform collection or tests. Optional argument: glob (default: '*').
; --cache-clear remove all cache contents at start of test run.
; --lfnf={all,none}, --last-failed-no-failures={all,none}
; which tests to run with no previously (known) failures.
; --sw, --stepwise exit on test failure and continue from last failing test next time
; --sw-skip, --stepwise-skip
; ignore the first failing test but stop on the next failing test.
; implicitly enables --stepwise.
; reporting:
; --durations=N show N slowest setup/test durations (N=0 for all).
; --durations-min=N Minimal duration in seconds for inclusion in slowest list. Default 0.005
; -v, --verbose increase verbosity.
; --no-header disable header
; --no-summary disable summary
; -q, --quiet decrease verbosity.
; --verbosity=VERBOSE set verbosity. Default is 0.
; -r chars show extra test summary info as specified by chars: (f)ailed, (E)rror, (s)kipped, (x)failed, (X)passed, (p)assed, (P)assed with
; output, (a)ll except passed (p/P), or (A)ll. (w)arnings are enabled by default (see --disable-warnings), 'N' can be used to reset
; the list. (default: 'fE').
; --disable-warnings, --disable-pytest-warnings
; disable warnings summary
; -l, --showlocals show locals in tracebacks (disabled by default).
; --tb=style traceback print mode (auto/long/short/line/native/no).
; --show-capture={no,stdout,stderr,log,all}
; Controls how captured stdout/stderr/log is shown on failed tests. Default is 'all'.
; --full-trace don't cut any tracebacks (default is to cut).
; --color=color color terminal output (yes/no/auto).
; --code-highlight={yes,no}
; Whether code should be highlighted (only if --color is also enabled)
; --pastebin=mode send failed|all info to bpaste.net pastebin service.
; --junit-xml=path create junit-xml style report file at given path.
; --junit-prefix=str prepend prefix to classnames in junit-xml output
; --old-summary Show tests that failed instead of one-line tracebacks
; --force-sugar Force pytest-sugar output even when not in real terminal
; --html=path create html report file at given path.
; --self-contained-html
; create a self-contained html file containing all necessary styles, scripts, and images - this means that the report may not render
; or function where CSP restrictions are in place (see https://developer.mozilla.org/docs/Web/Security/CSP)
; --css=path append given css file content to report style file.
; pytest-warnings:
; -W PYTHONWARNINGS, --pythonwarnings=PYTHONWARNINGS
; set which warnings to report, see -W option of python itself.
; --maxfail=num exit after first num failures or errors.
; --strict-config any warnings encountered while parsing the `pytest` section of the configuration file raise errors.
; --strict-markers markers not registered in the `markers` section of the configuration file raise errors.
; --strict (deprecated) alias to --strict-markers.
; -c file load configuration from `file` instead of trying to locate one of the implicit configuration files.
; --continue-on-collection-errors
; Force test execution even if collection errors occur.
; --rootdir=ROOTDIR Define root directory for tests. Can be relative path: 'root_dir', './root_dir', 'root_dir/another_dir/'; absolute path:
; '/home/user/root_dir'; path with variables: '$HOME/root_dir'.
; collection:
; --collect-only, --co only collect tests, don't execute them.
; --pyargs try to interpret all arguments as python packages.
; --ignore=path ignore path during collection (multi-allowed).
; --ignore-glob=path ignore path pattern during collection (multi-allowed).
; --deselect=nodeid_prefix
; deselect item (via node id prefix) during collection (multi-allowed).
; --confcutdir=dir only load conftest.py's relative to specified dir.
; --noconftest Don't load any conftest.py files.
; --keep-duplicates Keep duplicate tests.
; --collect-in-virtualenv
; Don't ignore tests in a local virtualenv directory
; --import-mode={prepend,append,importlib}
; prepend/append to sys.path when importing test modules and conftest files, default is to prepend.
; --doctest-modules run doctests in all .py modules
; --doctest-report={none,cdiff,ndiff,udiff,only_first_failure}
; choose another output format for diffs on doctest failure
; --doctest-glob=pat doctests file matching pattern, default: test*.txt
; --doctest-ignore-import-errors
; ignore doctest ImportErrors
; --doctest-continue-on-failure
; for a given doctest, continue to run after the first failure
; test session debugging and configuration:
; --basetemp=dir base temporary directory for this test run.(warning: this directory is removed if it exists)
; -V, --version display pytest version and information about plugins. When given twice, also display information about plugins.
; -h, --help show help message and configuration info
; -p name early-load given plugin module name or entry point (multi-allowed).
; To avoid loading of plugins, use the `no:` prefix, e.g. `no:doctest`.
; --trace-config trace considerations of conftest.py files.
; --debug=[DEBUG_FILE_NAME]
; store internal tracing debug information in this log file.
; This file is opened with 'w' and truncated as a result, care advised.
; Defaults to 'pytestdebug.log'.
; -o OVERRIDE_INI, --override-ini=OVERRIDE_INI
; override ini option with "option=value" style, e.g. `-o xfail_strict=True -o cache_dir=cache`.
; --assert=MODE Control assertion debugging tools.
; 'plain' performs no assertion debugging.
; 'rewrite' (the default) rewrites assert statements in test modules on import to provide assert expression information.
; --setup-only only setup fixtures, do not execute tests.
; --setup-show show setup of fixtures while executing tests.
; --setup-plan show what fixtures and tests would be executed but don't execute anything.
; logging:
; --log-level=LEVEL level of messages to catch/display.
; Not set by default, so it depends on the root/parent log handler's effective level, where it is "WARNING" by default.
; --log-format=LOG_FORMAT
; log format as used by the logging module.
; --log-date-format=LOG_DATE_FORMAT
; log date format as used by the logging module.
; --log-cli-level=LOG_CLI_LEVEL
; cli logging level.
; --log-cli-format=LOG_CLI_FORMAT
; log format as used by the logging module.
; --log-cli-date-format=LOG_CLI_DATE_FORMAT
; log date format as used by the logging module.
; --log-file=LOG_FILE path to a file when logging will be written to.
; --log-file-level=LOG_FILE_LEVEL
; log file logging level.
; --log-file-format=LOG_FILE_FORMAT
; log format as used by the logging module.
; --log-file-date-format=LOG_FILE_DATE_FORMAT
; log date format as used by the logging module.
; --log-auto-indent=LOG_AUTO_INDENT
; Auto-indent multiline messages passed to the logging module. Accepts true|on, false|off or an integer.
; distributed and subprocess testing:
; -n numprocesses, --numprocesses=numprocesses
; Shortcut for '--dist=load --tx=NUM*popen'. With 'auto', attempt to detect physical CPU count. With 'logical', detect logical CPU
; count. If physical CPU count cannot be found, falls back to logical count. This will be 0 when used with --pdb.
; --maxprocesses=maxprocesses
; limit the maximum number of workers to process the tests when using --numprocesses=auto
; --max-worker-restart=MAXWORKERRESTART
; maximum number of workers that can be restarted when crashed (set to zero to disable this feature)
; --dist=distmode set mode for distributing tests to exec environments.
; each: send each test to all available environments.
; load: load balance by sending any pending test to any available environment.
; loadscope: load balance by sending pending groups of tests in the same scope to any available environment.
; loadfile: load balance by sending test grouped by file to any available environment.
; loadgroup: like load, but sends tests marked with 'xdist_group' to the same worker.
; (default) no: run tests inprocess, don't distribute.
; --tx=xspec add a test execution environment. some examples: --tx popen//python=python2.5 --tx socket=192.168.1.102:8888 --tx
; ssh=user@codespeak.net//chdir=testcache
; -d load-balance tests. shortcut for '--dist=load'
; --rsyncdir=DIR add directory for rsyncing to remote tx nodes.
; --rsyncignore=GLOB add expression for ignores when rsyncing to remote tx nodes.
; --testrunuid=TESTRUNUID
; provide an identifier shared amongst all workers as the value of the 'testrun_uid' fixture,
; ,if not provided, 'testrun_uid' is filled with a new unique string on every test run.
; -f, --looponfail run tests in subprocess, wait for modified files and re-run failing test set until all pass.
; coverage reporting with distributed testing support:
; --cov=[SOURCE] Path or package name to measure during execution (multi-allowed). Use --cov= to not do any source filtering and record everything.
; --cov-reset Reset cov sources accumulated in options so far.
; --cov-report=TYPE Type of report to generate: term, term-missing, annotate, html, xml, lcov (multi-allowed). term, term-missing may be followed by
; ":skip-covered". annotate, html, xml and lcov may be followed by ":DEST" where DEST specifies the output location. Use --cov-report=
; to not generate any output.
; --cov-config=PATH Config file for coverage. Default: .coveragerc
; --no-cov-on-fail Do not report coverage if test run fails. Default: False
; --no-cov Disable coverage report completely (useful for debuggers). Default: False
; --cov-fail-under=MIN Fail if the total coverage is less than MIN.
; --cov-append Do not delete coverage but append to current. Default: False
; --cov-branch Enable branch coverage.
; --cov-context=CONTEXT
; Dynamic contexts to use. "test" for now.
; custom options:
; --metadata=key value additional metadata.
; --metadata-from-json=METADATA_FROM_JSON
; additional metadata from a json string.
; [pytest] ini-options in the first pytest.ini|tox.ini|setup.cfg file found:
; markers (linelist): markers for test functions
; empty_parameter_set_mark (string):
; default marker for empty parametersets
; norecursedirs (args): directory patterns to avoid for recursion
; testpaths (args): directories to search for tests when no files or directories are given in the command line.
; filterwarnings (linelist):
; Each line specifies a pattern for warnings.filterwarnings. Processed after -W/--pythonwarnings.
; usefixtures (args): list of default fixtures to be used with this project
; python_files (args): glob-style file patterns for Python test module discovery
; python_classes (args):
; prefixes or glob names for Python test class discovery
; python_functions (args):
; prefixes or glob names for Python test function and method discovery
; disable_test_id_escaping_and_forfeit_all_rights_to_community_support (bool):
; disable string escape non-ascii characters, might cause unwanted side effects(use at your own risk)
; console_output_style (string):
; console output: "classic", or with additional progress information ("progress" (percentage) | "count").
; xfail_strict (bool): default for the strict parameter of xfail markers when not given explicitly (default: False)
; enable_assertion_pass_hook (bool):
; Enables the pytest_assertion_pass hook.Make sure to delete any previously generated pyc cache files.
; junit_suite_name (string):
; Test suite name for JUnit report
; junit_logging (string):
; Write captured log messages to JUnit report: one of no|log|system-out|system-err|out-err|all
; junit_log_passing_tests (bool):
; Capture log information for passing tests to JUnit report:
; junit_duration_report (string):
; Duration time to report: one of total|call
; junit_family (string):
; Emit XML for schema: one of legacy|xunit1|xunit2
; doctest_optionflags (args):
; option flags for doctests
; doctest_encoding (string):
; encoding used for doctest files
; cache_dir (string): cache directory path.
; log_level (string): default value for --log-level
; log_format (string): default value for --log-format
; log_date_format (string):
; default value for --log-date-format
; log_cli (bool): enable log display during test run (also known as "live logging").
; log_cli_level (string):
; default value for --log-cli-level
; log_cli_format (string):
; default value for --log-cli-format
; log_cli_date_format (string):
; default value for --log-cli-date-format
; log_file (string): default value for --log-file
; log_file_level (string):
; default value for --log-file-level
; log_file_format (string):
; default value for --log-file-format
; log_file_date_format (string):
; default value for --log-file-date-format
; log_auto_indent (string):
; default value for --log-auto-indent
; pythonpath (paths): Add paths to sys.path
; faulthandler_timeout (string):
; Dump the traceback of all threads if a test takes more than TIMEOUT seconds to finish.
; addopts (args): extra command line options
; minversion (string): minimally required pytest version
; required_plugins (args):
; plugins that must be present for pytest to run
; rsyncdirs (paths): list of (relative) paths to be rsynced for remote distributed testing.
; rsyncignore (paths): list of (relative) glob-style paths to be ignored for rsyncing.
; looponfailroots (paths):
; directories to check for changes. Default: current directory.
; render_collapsed (bool):
; Open the report with all rows collapsed. Useful for very large reports
; max_asset_filename_length (string):
; set the maximum filename length for assets attached to the html report.
; environment_table_redact_list (linelist):
; A list of regexes corresponding to environment table variables whose values should be redacted from the report
; environment variables:
; PYTEST_ADDOPTS extra command line options
; PYTEST_PLUGINS comma-separated plugins to load during startup
; PYTEST_DISABLE_PLUGIN_AUTOLOAD set to disable plugin auto-loading
; PYTEST_DEBUG set to enable debug tracing of pytest's internals
; to see available markers type: pytest --markers
; to see available fixtures type: pytest --fixtures
; (shown according to specified file_or_dir or current dir if not specified; fixtures with leading '_' are only shown with the '-v' option