Florian Bruhin
0d2668017d
Fix spelling mistake in #1207 .
2015-11-30 17:33:34 +01:00
Florian Bruhin
aba55a0fb2
Fix terminal output if no tests were run.
...
Before:
==== in 0.00 seconds ====
After:
==== no tests run in 0.00 seconds ====
2015-11-30 17:24:40 +01:00
Gabriel Reis
f3f61fb5d1
Color highlight on the name of the failed tests
2015-10-28 08:12:57 +00:00
Bruno Oliveira
79ebca3f30
(w)warnings -> (w)pytest-warnings in "-r chars" help
2015-09-23 01:09:09 -03:00
Bruno Oliveira
a13f23d218
Merge branch 'master' into vendor-pluggy
2015-09-14 12:22:18 -03:00
Bruno Oliveira
41d2faccea
Merge branch 'issue_960' of https://github.com/Akasurde/pytest
2015-09-12 10:57:23 -03:00
Abhijeet Kasurde
dd69394598
Added testcase and help for report option
...
Fix added to show help of new reporting option 'a'.
Also, added testcase for checking reporting functionality
with option 'a'.
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2015-09-11 12:24:45 +05:30
Abhijeet Kasurde
c40947e651
Added fix for specifying every option for reporting
...
The fix will add option 'a' to reporting which will ease task of
adding all options or reporting at once.
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2015-09-10 15:43:43 +05:30
Bruno Oliveira
0b3f1b4a7c
Create `_pytest.vendored_packages` and _pytest._pluggy
...
- Replace imports from "pluggy" to "_pytest._pluggy"
- Fallback to import "pluggy" from global namespace if
not found in _pytest.vendored_packges
2015-09-07 13:01:54 -03:00
Bruno Oliveira
e59471766a
Rename "warnings" to "pytest-warnings" in terminal output
...
Fix #970
2015-08-27 19:59:52 -03:00
Ronny Pfannschmidt
287df16c9c
Merge pull request #817 from nicoddemus/non-collection-exit-error
...
return non-zero exit code if no tests are collected
2015-08-21 18:30:57 +02:00
Bruno Oliveira
2ffd37b816
return non-zero exit code if no tests are collected
...
Fix #812
Fix #500
2015-08-18 07:35:02 -03:00
Ronny Pfannschmidt
7758bcd141
terminalwriter: extract plugin printing logic and add positive unittests
2015-08-17 09:10:01 +02:00
Ronny Pfannschmidt
740a97a8cc
terinalwriter: use dash between plugin name and version
2015-08-17 08:48:38 +02:00
Ronny Pfannschmidt
2c42f15e00
adapt plugin printing
...
* print each distribution only once(xdist now has 3 entrypoints)
* include the distribution version
2015-08-17 08:41:24 +02:00
Bruno Oliveira
df29120abe
Merge branch 'pytest-2.7'
...
Conflicts:
_pytest/config.py
_pytest/genscript.py
_pytest/mark.py
tox.ini
2015-07-23 22:35:51 -03:00
Bruno Oliveira
2f7d0f8bd9
Consider --color option in more places which deal with TerminalWriters
2015-07-18 16:39:55 -03:00
Eric Siegerman
6c395cb58c
Default color is now yellow
...
Passing tests override that default, making the color green; but several other
"boring" statuses (xfailed, xpassed, deselected, skipped) have no effect.
Net effect: if only "boring" tests are seen, or no tests at all, the summary
bar is yellow.
2015-07-02 13:39:05 -04:00
Eric Siegerman
044d874c5b
If there are warnings, make the status bar yellow
...
Also if we see any statuses the code doesn't know about.
2015-07-02 13:39:05 -04:00
Eric Siegerman
cb21d844d9
Add missing "error" status to the list
2015-07-02 13:39:05 -04:00
Eric Siegerman
0282da9ddf
Refactor slightly
...
Check for the empty-key special case in the first loop,
not the second.
2015-07-02 13:39:05 -04:00
Eric Siegerman
bfc3e48fd5
Factor out build_summary_stats_line(), and add tests
...
--HG--
branch : esiegerman/summary_colors
2015-07-02 13:39:04 -04:00
Floris Bruynooghe
d220be8468
Use platform.python_version() to show Python version number
...
This results in something like "3.5.0b2" for non-final releases
while still being "3.5.0" for final releases.
2015-05-31 20:31:31 +01:00
holger krekel
bddc88f09e
adapt to pluggy naming, rename pytest.hookspec_opts to pytest.hookspec,s ame with hookimpl_opts
...
--HG--
branch : pluggy1
2015-05-06 10:08:08 +02:00
holger krekel
23538bcd31
- some more adaptation to most recent pluggy API
...
- avoid using pluggin underscore api
- show pluggy version in header
--HG--
branch : pluggy1
2015-05-05 21:53:04 +02:00
holger krekel
c54afbe42e
deprecate and warn about __multicall__ usage in hooks, refine docs about hook ordering,
...
make hookwrappers respect tryfirst/trylast
--HG--
branch : more_plugin
2015-04-27 12:50:34 +02:00
holger krekel
d2a5c7f99b
add documented hookimpl_opts and hookspec_opts decorators
...
so that one doesn't have to use pytest.mark or function-attribute setting anymore
--HG--
branch : more_plugin
2015-04-25 11:29:11 +02:00
holger krekel
d73e689991
fix issue616 - conftest visibility fixes. This is achieved by
...
refactoring how nodeid's are constructed. They now are always
relative to the "common rootdir" of a test run which is determined by
finding a common ancestor of all testrun arguments.
--HG--
branch : issue616
2015-02-26 21:56:44 +01:00
Bruno Oliveira
d62ec2985d
Adding "auto" to help for "--tb" option
2014-10-10 20:43:33 +00:00
holger krekel
0253f7b8d5
remove all occurences of "__multicall__" on hook impls in pytest/*.
...
also simplify pytest_runtest_markereport hook in _pytest/skipping.py
while touching the code anyway.
2014-10-08 20:23:40 +02:00
Floris Bruynooghe
3e875178ad
Merge default
2014-08-01 23:06:24 +01:00
Floris Bruynooghe
4e8438afc8
Simply show the node ID for verbose output
...
This strips the line number, /@\d/, from the verbose output so it is
directly the node ID of the test. This in turn means no special logic
for accepting the line number as part of the node ID is needed when
parsing the command line.
2014-08-01 00:29:35 +01:00
Bruno Oliveira
5603a0cd4b
Removing py.std usage from _pytest
2014-07-31 19:13:40 -03:00
holger krekel
07e76cbef2
fix issue364: shorten and enhance tracebacks representation by default.
...
The new "--tb=auto" option (default) will only display long tracebacks
for the first and last entry. You can get the old behaviour of printing
all entries as long entries with "--tb=long". Also short entries by
default are now printed very similarly to "--tb=native" ones.
2014-06-29 13:32:53 +02:00
Andy Freeland
2ba23e8d08
issue504: verbose output displays node IDs for each test
...
Replace the verbose per-test reporting format of `file:line test_name RESULT`
with the node ID of the test, i.e. `file@line::class::method[param] RESULT`.
This patch does not update the examples in the docs; @hpk42 has a script
to regenerate those.
--HG--
branch : issue504
2014-04-14 17:42:02 -04:00
holger krekel
3b8935c533
remove dupped_stdout logic and related changes, also simplify pytest_runtest_* calls to not use a contextlib with-decorator anymore.
2014-04-01 15:03:17 +02:00
holger krekel
9d716a39d6
fix issue412 and other encoding issues. Streamline dupfile() into
...
a new more thoughtful safe_text_dupfile helper.
2014-03-28 11:27:02 +01:00
holger krekel
9777703e03
- turn on capturing before early conftest loading and make terminal writer
...
use the original stream.
- avoid resetting capture FDs/sys.stdout for each test by keeping capturing
always turned on and looking at snapshotted capturing data during runtest
and collection phases.
2014-03-14 12:49:36 +01:00
holger krekel
ebd10aa6b4
shrink and merge the somewhat obscure and undocumented internal hinting
...
system with the new warnings one
2014-03-11 22:10:51 +01:00
holger krekel
24db492f53
warn if instances are callable and have a test name
2014-03-11 22:10:18 +01:00
holger krekel
1b387bea62
introduce warning system with this API:
...
- node.warn() for a node-specific warning
- config.warn() for a global non-node specific warning
Each warning is accompanied by a "warning number" so that we can later
introduce mechanisms for surpressing them.
Each warning will trigger a call to pytest_report_warn(number, node, message)
which is by default implemented by the TerminalReporter which introduces
a new option "-rw" to show details about warnings.
2014-03-11 22:10:17 +01:00
Floris Bruynooghe
e12fe64b54
Include py version in the terminal output
...
This can help to reproduce bugs when looking at the output pasted into
bug reports.
2014-01-22 11:27:15 +01:00
Jurko Gospodnetić
9fb2079458
replace py.test module references with pytest
...
The only remaining 'py.test' references are:
* those referring to the 'py.test' executable
* those in code explicitly testing py.test/pytest module compatibility
* those in old CHANGES documentation
* those in documentation generated based on external data
* those in seemingly unfinished & unmaintained Japanese documentation
Minor stylistic changes and typo corrections made to documentation next to
several applied py.test --> pytest content changes.
2014-01-18 12:31:33 +01:00
holger krekel
7d9297e929
add changelog entry: PR90: add --color=yes|no|auto option to force terminal coloring
...
mode ("auto" is default). Thanks Marc Abramowitz.
2013-12-08 20:25:36 +01:00
Marc Abramowitz
23fa4cec61
Add option: --color=(yes/no/auto)
...
--HG--
branch : color_option
2013-12-06 11:49:48 -08:00
holger krekel
8ac5af2896
fix flakes issues and make --flakes run part of tox runs
2013-10-12 15:39:22 +02:00
holger krekel
cec7d47c1f
remove fd-fixing attempt at startup of pytest. It's
...
not clear it's actually needed and it's not nice
to still do FD-dupping when "-s" is specified.
2013-10-03 18:53:40 +02:00
holger krekel
3d00cd35fc
fix python2.5 issues
2013-10-03 18:25:03 +02:00
holger krekel
ae090740c5
always dupfile if os.dup is available
2013-10-03 16:47:55 +02:00
holger krekel
071960250f
avoid "IOError: Bad Filedescriptor" on pytest shutdown by not closing
...
the internal dupped stdout (fix is slightly hand-wavy but work).
2013-10-02 12:39:01 +02:00
holger krekel
4b709037ab
some more separation of core pluginmanager from pytest specific functionality.
...
Idea is to have the PluginManager be re-useable from other projects at some point.
2013-09-30 13:14:14 +02:00
holger krekel
1fc466e8ac
add terminalreporter.section|line methods to print extra information.
2013-09-27 15:48:03 +02:00
holger krekel
030c337c68
don't manipulate FDs at all if output capturing is turned off.
2013-09-27 09:49:39 +02:00
Andreas Pelme
afa88a479b
Added color to the quite mode summary. Also changed the output format
...
slightly to match the output of the standard summary.
--HG--
branch : quiet-color-summary
2013-08-05 09:45:10 +02:00
Anthon van der Neut
e96da76c3b
changes to addoption() for hyphenated long-options
...
--HG--
branch : opt-drop-non-hyphened-long-options
2013-08-01 16:49:26 +02:00
Anthon van der Neut
15ec5a898c
moving from optparse to argparse. Major difficulty is
...
that argparse does not have Option objects -> added class Argument
Needed explicit call of MyOptionParser.format_epilog as argparse
does not have that. The parse_arg epilog argument wraps the text,
which is not the same (could be handled with a special formatter).
- parser.parse() now returns single argument (with positional args in
.file_or_dir)
- "file_or_dir" made a class variable Config._file_or_dir and used in help and tests
- added code for argcomplete (because of which this all started!)
addoption:
- if option type is a string ('int' or 'string', this converted to
int resp. str
- if option type is 'count' this is changed to the type of choices[0]
testing:
- added tests for Argument
- test_mark.test_keyword_extra split as ['-k', '-mykeyword'] generates argparse
error test split in two and one marked as fail
- testing hints, multiline and more strickt (for if someone moves format_epilog
to epilog argument of parse_args without Formatter)
- test for destination derived from long option with internal dash
- renamed second test_parseopt.test_parse() to test_parse2 as it was
not tested at all (the first was tested.)
--HG--
branch : argparse
2013-07-25 15:33:43 +02:00
holger krekel
c53556b88d
paint last line red if "failures" or "errors" occured, attribute theuni
2013-07-17 09:31:55 +02:00
Katarzyna Jachim
87df85f12d
improved reporting
...
added intermediate level of quiet reporting:
* -q now shows short summary (# passed/failed tests + time)
* the former -q is now -qq
2013-07-06 15:43:59 +02:00
Christian Theune
d9f0a28da2
Compatibility with my spinal cord reflexes: colorize last summary line.
...
Provide a red bar if there are any 'failures'. Otherwise make it green.
2013-07-03 19:43:18 +02:00
Ronny Pfannschmidt
69ef750091
fix issue134 - print the collect errors that prevent running specified test items
2013-02-14 12:21:42 +01:00
holger krekel
30b10a6950
- fix doc references, refactor fixtures docs to more quickly start
...
with examples instead of big text blobgs
- also silence -q and -qq reporting some more
2012-10-07 13:06:17 +02:00
holger krekel
5173647b4d
fixes to against python3.3
2012-10-01 10:14:54 +02:00
Johannes
b902c36bfc
Fix typo in terminal help text
2012-07-12 17:00:48 +01:00
holger krekel
227d847216
fix problem with unicode in writing failure representations to terminal, thanks ThomasWaldmann
2012-06-24 16:42:31 +02:00
holger krekel
ccc04b9fc4
some refinements to reporting and hook order
2012-06-21 11:07:22 +02:00
holger krekel
18306a4644
add header info: always report 3rd party plugins in test runs
2012-06-20 00:16:47 +02:00
Ronny Pfannschmidt
78e7d7aed0
more quit collectonly shows only files and the number of tests in them
2012-02-03 16:56:06 +01:00
holger krekel
8307270cec
yay! now that we have perfect teardowns we don't need some ugly internal hooks anymore.
2011-12-02 21:00:21 +00:00
holger krekel
36c42b5c15
introduce a new -m mark_expression option
2011-11-11 23:02:06 +00:00
holger krekel
29bf205f3a
make --durations also show the execution times of setup/teardown calls. This requires a slight incompatibility - pytest_runtest_logreport now sees setup/teardown reports even if the tests passed.
2011-11-08 17:53:46 +00:00
holger krekel
a2f4a11301
refine lsof/FD leakage testing and rework test setup and some of pytest own tests. Note that the actual diff to non-test code is small. Also remove some redundant tests (introduced by a copy-paste-error apparently in test_mark.py).
2011-11-07 18:08:41 +00:00
Ronny Pfannschmidt
6ac638ba87
add a reportchar for reporting errors, fixes #76
2011-09-29 23:44:26 +02:00
holger krekel
f3bc197afb
fix #59 : provide better Jenkins stdout and stderr sections
2011-07-12 23:09:03 +02:00
holger krekel
d1684e8052
report keyboardintterupt even if inteerrupted during sessionstartup
2011-07-07 21:24:09 +02:00
holger krekel
92f8eef836
show release level info for pypy
2011-07-06 10:18:11 +02:00
holger krekel
55657d6c51
simplify _locationline helper
2011-03-08 13:44:53 +01:00
holger krekel
1a7c6ecc42
fix slightly wrong verbose output for non subclasses on windows
2011-03-08 13:37:00 +01:00
holger krekel
c552b58dc5
fix issue27 - --collectonly and -k keyword selection now work together.
...
internally, collectonly and terminal reporting has been unified.
2011-03-06 18:32:00 +01:00
holger krekel
f1b5dae1fb
fix help string
2011-02-27 12:52:27 +01:00
holger krekel
d894bae281
bumping version to a dev version, run tests by using python PyPI by default
2010-11-26 13:37:00 +01:00
holger krekel
b622c85bbf
last changes, preparing 2.0.0
2010-11-25 20:06:42 +01:00
holger krekel
4fa7a2e8ce
fix #128 show tracebacks for all failures and errors that haven't beed PDB-debugged
2010-11-23 16:10:47 +01:00
holger krekel
0357d3afda
refine initialization and collection reporting, introduce a progress bar
2010-11-22 11:59:56 +01:00
holger krekel
0323c5247f
perform represenation of short paths at test execution site
2010-11-13 23:33:38 +01:00
holger krekel
82ba645a2e
fix skip reporting over distributed testing. if we have a "skip" report
...
rep.longrepr will now be a 3-tuple (path, lineno, message)
2010-11-13 21:03:28 +01:00
holger krekel
929291775e
flat is better than nested (cont'd):
...
- pytest.py is new module, making "python -m pytest" work always
- _pytest/*.py now contains core.py, hookspec and the plugins, no sub packages
2010-11-13 11:10:45 +01:00