| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886 |
- 1.3.7
- - Fix loading packages from capitalised package on Windows
- Patch by Thomas Kluyver
- 1.3.6
- - Re-release of 1.3.5 with wheels fixed.
- 1.3.5
- - Fix #875: nose doesn't collect tests when subpackage is given as arg
- - Fix #809: tests not discovered for namespace packages on Windows
- - Fix #815: "ValueError: unsupported pickle protocol" with --with-id
- - Wrap the working dir path name in quotes when reporting an error.
- Patch by Őry Máté.
- - Fix #887: Fix a discrepancy in test names between Python 2 and Python 3
- - Fix #131: Use os.stat() to check if file is executable
- Patch by Arnon Yaari.
- - Fix #820 and #719: Fix coverage plugin with multiprocess
- Patch by Nicolas Grasset.
- 1.3.4
- - Recognize doctest options defined in other plugins
- Patch by Daniel Lepage
- - Another fix for Python 3.4: Call super in LazySuite to access
- _removed_tests variable
- Patch by Robert Kuska
- - Fix for try_run when using bound methods
- Patch by Christian Lyder Jacobsen
- 1.3.3
- - Fixed a minor issue with the reported version number.
- 1.3.2
- - Fixed an issue where build_ext was not working under setup.py nosetest
- Patch by Michael Crusoe
- - Fixed #786: generator method fails with callable instance
- Patch by Antoine Dechaume
- - Fixed a traceback when using string exceptions
- - Fixed #792: "Not a directory" error when using python setup.py nosetests
- - Fixed #779: xunit report file is written in --where directory
- - Fixed #782: Test failures with Python >= 3.3
- Patch by Dmitry Shachnev
- - Fixed #780: Fix a regression with Python 3
- - Fixed #783: try_run is broken with Python 3.4
- 1.3.1
- - The log capture plugin now correctly applies filters that were added
- using `addFilter`.
- Patch by Malthe Borch.
- - Corrected a reference to the multiprocessing plugin in the documentation.
- Patch by Nick Loadholtes.
- - Fixed #447: doctests fail when getpackage() returns None
- Patch by Matthew Brett.
- - Fixed #749: xunit exceeds recursion limit
- Patch by André Caron.
- - Fixed a number of unicode-related issues.
- Patch by John Szakmeister.
- - Added the ability to ignore config files via an environment variable
- Patch by Lukasz Balcerzak
- - Fixed #720: nose with detailed errors raises encoding error
- Patch by John Szakmeister. Thanks to Guillaume Ayoub for the test case.
- - Fixed #692: UnicodeDecodeError in xunit when capturing stdout and stderr
- Patch by John Szakmeister.
- - Fixed #693: Python 2.4 incompatibilities
- Patch by John Szakmeister.
- - Don't save zero-byte xunit test reports
- Patch by Dan Savilonis.
- - Fix Importer.importFromPath to be able to import modules whose names start
- with __init__
- Patch by Paul Bonser.
- - Add a fake isatty() method to Tee
- Patch by Jimmy Wennlund.
- - Fix #700: Tee is missing the writelines() method
- Patch by John Szakmeister.
- - Fix #649: UnicodeDecodeError when an exception contains encoded strings
- Patch by John Szakmeister.
- - Fix #687: verbosity is not a flag
- Patch by John Szakmeister.
- - Fixed a suppressed deprecation warning
- Patch by Arnon Yaari.
- - Fixed some broken links in the documentation
- Patch by Arnon Yaari.
- - Add missing format parameter in error message
- Patch by Etienne Millon.
- - Switched docs to point at the GitHub site for the issue tracker
- Patch by Daniel Beck.
- - Fix #447: doctests fail when getpackage() returns None
- Patch by Matthew Brett.
- - Fix #366: make --pdb report on errors and failures. Use --pdb-error to get
- the old behavior.
- Patch by Arnon Yaari.
- - Fix #501: Imported test generators are misrecognized as simple test
- functions
- Patch by John Szakmeister.
- - Added a test for issue #501
- Patch by Michael Killough.
- - Use SkipTest from unittest2, if available, for better integration with
- testtools
- Patch by Ian Wienand.
- - Fix #759: Test failures with Python 3.4
- Patch by Barry Warsaw.
- - Add a note about executable files in the usage, and how to workaround it
- Patch by Michael Dunn.
- - Fix #743: fix an incorrect regex in writing_tests.rst
- Patch by Anne Moroney.
- - Fix #690: Don't traceback when coverage reports fail.
- Patch by John Szakmeister.
- - Display the report summary and stack traces even if Ctrl-C was pressed
- during the test run.
- Patch by Kevin Qiu.
- - Fix #771: attr plugin is broken when parent and child share same method
- name with different attributes
- Patch by John Szakmeister. Test case provided by Thomas Grainger.
- - Fix #728: attrib plugin rejects any staticmethod
- Patch by John Szakmesiter. Test case provided by Thomas Kluyver.
- - Fix the plugin testing example.
- Patch by Charlie Dominio.
- - Instruct coverage instance to cover requested packages only.
- 1.3.0
- - Fix #556: fix selecting specific tests in the setuptools command.
- Patch by Andrey Golovizin.
- - Fixed timed decorator to return the result of the wrapped function.
- Patch by Praful Mathur.
- - Fixed #513: exception in test generator leads to a TypeError.
- Patch by Dmitry Shachnev.
- - Fixed #535: nose.importer causes bizarre import errors if sys.path includes
- symlinks.
- Patch by Antoine Pitrou.
- - Added support for Python 3.3.
- Patch by John Szakmeister and Bradley Froehle.
- - Added the ability to skip generating .pyc files with --no-byte-complie.
- Patch by John Szakmeister.
- - Suppress tracebacks caused by configuration errors (#401).
- Patch by Andrea Corbellini.
- - Fixed doctest failures under Python 3 (#519).
- Patch by John Szakmeister.
- - Fixed test_address's checking for builtins to work with Python 2 and 3.
- Patch by Joe Mathes and John Szakmeister.
- - Fixed a bug where nose.tools was not being installed on systems without
- setuptools. (#554)
- Patch by Bradley Froehle.
- - Fixed a bug in xunit that was causing it to die ungracefully under
- Python 3. (#134)
- Patch by John Szakmeister.
- - Fixed #561: logcapture shouldn't buffer records, breaks %r point-in-time
- formatting.
- Patch by Santeri Paavolainen.
- - Taught xunit to capture stdout and stderr in the xunit report.
- Patch by John Szakmeister.
- - Repopulate nose.tools.__all__ so that the autodocs generate correctly.
- Patch by Taavi Burns.
- - Fixed a bug where nose was failing to parse the NOSE_COVER_PACKAGE
- environment variable correctly. (#109)
- Patch by Churkin Oleg.
- - Taught nose to lookup it's usage text according to PEP-302.
- Patch by Bradely Froehle.
- - Fixed an ugly traceback when a test class was imported from another module,
- but was missing a method. (#595)
- Patch by Michael Williamson.
- - Fix formatFailure expection if missing tb in exc_info. (#603)
- Patch by Sascha Peilicke.
- - Taught the test suite to skip coverage tests if the coverage module is not
- available. (#597)
- Patch by Dmitry Shachnev.
- - Fix #135: ResultProxy._prepareErr mangles error output in some cases.
- Patch by Arnon Yaari.
- - Updated plugin documentation to fix numerous typos and incorrect names.
- Patch by Arnon Yaari.
- - Added the ability to run nose as a module.
- Patch by Stefano Rivera.
- - Fix installing Nose under Windows with Python 3.3.
- Patch by John Szakmeister.
- - Added documentation for --processes=0 and the default value of
- --process-timeout.
- Patch by Takafumi Arakaki.
- - Fixed broken references to non-existent documentation.
- Patch by Dmitry Shachnev.
- - Fix --cover-min-percentage with --cover-branches. (#626)
- Patch by B. W. Baugh.
- - Fix --cover-min-percentage with single packages.
- Patch by John Szakmeister.
- - Fixed reference to PEP 8 to use Sphinx construct for better linking.
- Patch by Mahhtijs van der Vleuten.
- - Fixed a reference to --cover-packages to use the correct option name.
- Patch by Wesley Baugh.
- - Updated Nose to avoid using the deprecated compiler module when possible.
- Patch by Kim Scheilbel.
- - Updated docstrings of formatFailure() and formatError().
- Patch by Daniel Abel.
- - Several man page fixes for better formatting.
- Patches by Dmitry Shachnev.
- - Fixed a bug causing Nose to crash in directories that end in '.py'. (#612)
- Patch by Arnon Yaari.
- - Fixed a traceback when a test raises SystemExit and has captured
- output. (#526)
- Patch by Arnon Yaari.
- - Fixed ImportError running nosetests on namespace package in a subdirectory
- on Windows. (#19)
- Patch by Arnon Yaari.
- 1.2.1
- - Correct nose.__version__ (#549). Thanks to Chris Withers for the bug report.
- 1.2.0
- - Fixed issue where plugins included with `addplugins` keyword could
- be overridden by built-in plugins (or third-party plugins registered
- with setuptools) of the same name (#466).
- Patch by Brendan McCollam
- - Adds :option:`--cover-xml` and :option:`--cover-xml-file` (#311).
- Patch by Timothée Peignier.
- - Adds support for :option:`--cover-branches` (related to #370).
- Patch by Timothée Peignier.
- - Fixed Unicode issue on Python 3.1 with coverage (#442)
- - fixed class level fixture handling in multiprocessing plugin
- - Clue in the ``unittest`` module so it no longer prints traceback frames for
- our clones of their simple assertion helpers (#453). Patch by Erik Rose.
- - Stop using the ``assert`` statement in ``ok_`` and ``eq_`` so they work under
- ``python -O`` (#504). Patch by Erik Rose.
- - Add loglevel option to logcapture plugin (#493). Patch by Arach Tchoupani.
- - Add doctest options flag (#7 from google code tracker). Patch by Michael
- Forbes.
- - Add support for using 2to3 with the nosetests setuptools command. Patch by
- Andrey Golovizin.
- - Add --cover-min-percentage flag to force test runs without sufficient
- coverage to fail (#540). Patch by Domen Kožar.
- - Add travis-ci configuraion (#545). Patch by Domen Kožar.
- - Call reactor.stop from twisted thread (#301). Patch by Adi Roiban.
- 1.1.2
- - Fixed regression where the .coverage file was not saved (#439).
- Patch by Timothée Peignier.
- 1.1.1
- - Fixed missing nose.sphinx module in source distribution (#436).
- 1.1.0
- - Revised multiprocessing implementation so that it works for test generators
- (#399). Thanks to Rosen Diankov for the patch.
- - More fixes to multiprocessing implemented by Buck Golemon and Gary Donovan
- (also part of #399).
- - Lots of improvements to the attrib plugin by Bobby Impollonia (#412, #411,
- #324 and #381)
- - Code coverage plugin now uses native HTML generation when coverage 3 is
- installed (#264). Thanks to Timothée Peignier for the patch.
- - Xunit plugin now shows test run time in fractions of a second (#317)
- - @attr (from nose.plugins.attrib) can now be used as a class decorator (#292)
- - Fixes Xunit plugin to handle non-UTF8 characters (#395)
- - Fixes Xunit plugin for reporting generator tests (#369)
- - Fixed problems with SkipTest in Python 3.2 (#389)
- - Fixed bug in doctest plugin under python 3. Thanks to Thomas Kluyver
- for the patch. (#391)
- - Fixes mishandling of custom exceptions during failures (#405)
- - Fixed subtle bug in :option:`--first-package-wins` that made it
- unpredictable (#293)
- - Fixes case where teardown_class() was called more than once (#408). Thanks
- to Heng Liu for the patch.
- - Fixes coverage module names -- 'cal' used to also match calendar which was a
- bug (#433)
- - Fixes capture plugin when exception message contains non-ascii chars (#402)
- - Fixed bug in tests for twisted tools. Thanks to Thomas Kluyver
- for the patch.
- - Makes :option:`--plugins` more succinct when there are no options (#235)
- 1.0.0
- - Made nose compatible with python 3. **Huge** thanks to Alex "foogod"
- Stewart!
- 0.11.4
- - Made nose compatible with Python 2.7.
- 0.11.3
- - Fixed default plugin manager's use of plugin overriding. Thanks to
- rob.daylife for the bug report and patch. (#323).
- 0.11.2
- - Changed plugin loading so that external plugins loaded via extension
- points can override builtin plugins with the same name.
- - Updated multiprocess plugin and nose's packaging to allow multiprocess
- plugin to work on Windows (#265).
- - Fixed bug in xunit plugin's interaction with suites and errors in
- module-level setup. Thanks to Mark McCague for the bug report (#279).
- - Fixed bug in nose.loader.TestLoader that allowed Test classes that raise
- exceptions in __init__ to crash the test run (#269).
- - Fixed bugs in nose's test suite that caused spurious failures on Windows.
- - Fixed bug in twisted tools: delayed calls were not shut down on
- reactor stop. Thanks to abbeyj for the patch (#278).
- - Fixed bug where root log handlers were not cleared. For example, this was
- emitting unwanted messages when testing Google App Engine websites.
- - Fixed bug in test names output by xunit plugin. Thanks to Philip
- Jenvey for the bug report and patch (#280).
- - Fixed bug in profile plugin that caused stats to fail to print under Python
- 2.5 and later. Thanks to djs at n-cube dot org for the bug report (#285).
- - Improved logcapture filtering, with default setting to filter out log
- messages from nose itself. Thanks to gfxmonk for the patch (#277).
- - The xunit plugin now tags skipped tests with a <skipped> testcase tag, and
- prevents the XML from containing invalid control characters.
- - Updated nose to be compatible with python 2.7 (#305).
- - Updated loading of usage document to allow nose to run from within
- an egg archive (#288).
- - Fixed IronPython checks to make nose compatible with more versions
- of IronPython. Thanks to Kevin Mitchell for the patch (#316).
- 0.11.1
- - Fixed bug in xunit plugin xml escaping. Thanks to Nat Williams for the bug
- report (#266).
- - Fixed bug in xunit plugin that could cause test run to crash after certain
- types of errors or actions by other plugins.
- - Fixed bug in testid plugin that could cause test run to crash after certain
- types of errors or actions by other plugins.
- - Fixed bug in collect only plugin that caused it to fail when collecting from
- test generators.
- - Fixed some broken html in docs.
- 0.11
- - **All new documentation!** nose's documentation is now generated by
- Sphinx. And thanks to Pam Zerbinos, it is much better organized and easier
- to use and read.
- - Two new core commandline options can help with testing namespace
- packages. :option:`--first-package-wins` is useful when you want to test one
- part of a namespace package that uses another part; in previous versions of
- nose, the other part of the namespace package would be evicted from
- sys.modules when the 2nd loaded. :option:`--traverse-namespace` is useful if
- you want nose to discover tests across entries in a package's
- __path__. (This was formerly the default behavior).
- - To make it easier to use custom plugins without needing setuptools,
- :func:`nose.core.main` and :func:`nose.core.run` now support an
- :doc:`addplugins <doc_tests/test_addplugins/test_addplugins>` keyword
- argument that takes a list of additional plugins to make available. **Note**
- that adding a plugin to this list **does not** activate or enable the
- plugin, only makes it available to be enabled via command-line or
- config file settings.
- - Thanks to Kevin Mitchell, nose is now more compatible with
- IronPython. IronPython is still not fully supported, but it should work. If
- you'd like to improve nose's support for IronPython further, please join the
- nose developer's list and volunteer to become the IronPython maintainer for
- nose!
- - Added multiprocess plugin that allows tests to be run in parallel
- across multiple processes.
- - Added logcapture plugin that captures logging messages and prints them with
- failing tests. Thanks to Max Ischenko for the implementation.
- - Added optional HTML coverage reports to coverage plugin. Thanks to Augie
- Fackler for the patch.
- - Added plugin that enables collection of tests in all modules. Thanks to
- Peter Fein for the patch (#137).
- - Added --failed option to testid plugin. When this option is in effect, if
- any tests failed in the previous test run (so long as testid was active for
- that test run) only the failed tests will run.
- - Made it possible to 'yield test' in addition to 'yield test,' from test
- generators. Thanks to Chad Whitacre for the patch (#230).
- - Fixed bug that caused traceback inspector to fail when source code file
- could not be found. Thanks to Philip Jenvey for the bug report and patch
- (#236).
- - Fixed some issues limiting compatibility with IronPython. Thanks to Kevin
- Mitchell for the patch.
- - Added support for module and test case fixtures in doctest files (#60).
- - Added --traverse-namespace commandline option that restores old default
- behavior of following all package __path__ entries when loading tests from
- packages. Thanks to Philip Jenvey for the patch (#167).
- - Added --first-package-wins commandline option to better support testing
- parts of namespace packages. Thanks to Jason Coombs for the bug report
- (#197).
- - Added versioned nosetests scripts (#123).
- - Fixed bug that would cause context teardown to fail to run in some
- cases. Thanks to John Shaw for the bug report and patch (#234).
- - Enabled doctest plugin to use variable other than "_" as the default result
- variable. Thanks to Matt Good for the patch (#163).
- - Fixed bug that would cause unicode output to crash output capture. Thanks to
- schickb for the bug report (#227).
- - Added setUp and tearDown as valid names for module-level fixtures. Thanks to
- AgilityNerd for the patch (#211).
- - Fixed bug in list of valid names for package-level fixtures. Thanks to
- Philip Jenvey for the patch (#237).
- - Updated man page generation using hacked up manpage writer from
- docutils sandbox. Thanks grubert@users.sourceforge.net for the
- original module.
- 0.10.4
- - nose is now compatible with python 2.6.
- 0.10.3
- - Fixed bug in nosetests setup command that caused an exception to be raised
- if run with options. Thanks to Philip Jenvey for the bug report (#191).
- - Raised score of coverage plugin to 200, so that it will execute before
- default-score plugins, and so be able to catch more import-time code. Thanks
- to Ned Batchelder for the bug report and patch (#190).
- 0.10.2
- - nose now runs under jython (jython svn trunk only at this time). Thanks to
- Philip Jenvey, Pam Zerbinos and the other pycon sprinters (#160).
- - Fixed bugs in loader, default plugin manager, and other modules that
- caused plugin exceptions to be swallowed (#152, #155). Thanks to John J
- Lee for the bug report and patch.
- - Added selftest.py script, used to test a non-installed distribution of
- nose (#49). Thanks to Antoine Pitrou and John J Lee for the bug report and
- patches.
- - Fixed bug in nose.importer that caused errors with namespace
- packages. Thanks to Philip Jenvey for the bug report and patch (#164).
- - Fixed bug in nose.tools.with_setup that prevented use of multiple
- @with_setup decorators. Thanks to tlesher for the bug report (#151).
- - Fixed bugs in handling of context fixtures for tests imported into a
- package. Thanks to Gary Bernhardt for the bug report (#145).
- - Fixed bugs in handling of config files and config file options for plugins
- excluded by a RestrictedPluginManager. Thanks to John J Lee and Philip
- Jenvey for the bug reports and patches (#158, #166).
- - Updated ErrorClass exception reporting to be shorter and more clear. Thanks
- to John J Lee for the patch (#142).
- - Allowed plugins to load tests from modules starting with '_'. Thanks to John
- J Lee for the patch (#82).
- - Updated documentation about building as rpm (#127).
- - Updated config to make including executable files the default on
- IronPython as well as on Windows. Thanks to sanxiyn for the bug
- report and patch (#183).
- - Fixed a python 2.3 incompatibility in errorclass_failure.rst
- (#173). Thanks to Philip Jenvey for the bug report and patch.
- - Classes with metaclasses can now be collected as tests (#153).
- - Made sure the document tree in the selector plugin test is accurate
- and tested (#144). Thanks to John J Lee for the bug report and
- patch.
- - Fixed stack level used when dropping into pdb in a doctest
- (#154). Thanks to John J Lee for the bug report and patch.
- - Fixed bug in ErrorClassPlugin that made some missing keyword
- argument errors obscure (#159). Thanks to Philip Jenvey for the bug
- report and patch.
- 0.10.1
- - Fixed bug in capture plugin that caused it to record captured output
- on the test in the wrong attribute (#113).
- - Fixed bug in result proxy that caused tests to fail if they accessed
- certain result attibutes directly (#114). Thanks to Neilen Marais
- for the bug report.
- - Fixed bug in capture plugin that caused other error formatters
- changes to be lost if no output was captured (#124). Thanks to
- someone at ilorentz.org for the bug report.
- - Fixed several bugs in the nosetests setup command that made some
- options unusable and the command itself unusable when no options
- were set (#125, #126, #128). Thanks to Alain Poirier for the bug
- reports.
- - Fixed bug in handling of string errors (#130). Thanks to schl... at
- uni-oldenburg.de for the bug report.
- - Fixed bug in coverage plugin option handling that prevented
- --cover-package=mod1,mod2 from working (#117). Thanks to Allen
- Bierbaum for the patch.
- - Fixed bug in profiler plugin that prevented output from being
- produced when output capture was enabled on python 2.5
- (#129). Thanks to James Casbon for the patch.
- - Fixed bug in adapting 0.9 plugins to 0.10 (#119 part one). Thanks to
- John J Lee for the bug report and tests.
- - Fixed bug in handling of argv in config and plugin test utilities
- (#119 part two). Thanks to John J Lee for the bug report and patch.
- - Fixed bug where Failure cases due to invalid test name
- specifications were passed to plugins makeTest (#120). Thanks to
- John J Lee for the bug report and patch.
- - Fixed bugs in doc css that mangled display in small windows. Thanks
- to Ben Hoyt for the bug report and Michal Kwiatkowski for the fix.
- - Made it possible to pass a list or comma-separated string as
- defaultTest to main(). Thanks to Allen Bierbaum for the suggestion
- and patch.
- - Fixed a bug in nose.selector and nose.util.getpackage that caused
- directories with names that are not legal python identifiers to be
- collected as packages (#143). Thanks to John J Lee for the bug
- report.
- 0.10.0
- - Fixed bug that broke plugins with names containing underscores or
- hyphens. Thanks to John J Lee for the bug report and patch (Issue
- #81).
- - Fixed typo in nose.__all__. Thanks to John J Lee for the bug report.
- - Fixed handling of test descriptions that are multiline
- docstrings. Thanks to James Casbon for the patch (Issue #50).
- - Improved documentation of doctest plugin to make it clear that
- entities may have doctests, or themselves be tests, but not
- both. Thanks to John J Lee for the bug report and patch (Issue #84).
- - Made __file__ available in non-python-module doctests.
- - Fixed bug that made it impossible for plugins to exclude package
- directories from test discovery (Issue #89). Thanks to John J Lee
- for the bug report and patch.
- - Fixed bug that swallowed TypeError and AttributeError exceptions
- raised in some plugin calls (Issue #95). Thanks to John J Lee for
- the bug report.
- - Fixed inconsistencies in many interfaces and docs. Thanks to John J
- Lee for many bug reports.
- - Fixed bugs in rpm generation (Issue #96). Thanks to Mike Verdone for
- the bug report and http://bugs.python.org/issue644744 for the fix.
- - Fixed inconsisent use of os.environ in plugin testing
- utilities. Thanks to John J Lee for the bug report and patch (Issue
- #97).
- - Fixed bug in test_address that prevented use of nose.case.Test in
- doctests (Issue #100). Thanks to John J Lee for the bug report.
- - Fixed bug in error class plugin that caused string exceptions to be
- masked (#Issue 101). Thanks to depaula for the bug report.
- - Fixed bugs in tests and the profiler plugin when running under
- Windows (Issue #103). Thanks to Sidnei Da Silva for the bug report.
- - Fixed bugs in plugin calls that caused exception swallowing (Issue
- #107). Thanks to John L Lee for the bug report and patch.
- - Added more plugin example doctests. Thanks to Kumar McMillan and
- John L Lee for patches and lots of help.
- - Changed default location of id file for TestId plugin from ~/.noseids to
- .noseids in the configured working directory.
- 0.10.0b1
- - Added support for a description attribute on tests in function and
- method test cases. Most useful for generators: set the description
- attribute on the yielded function.
- - Fixed incorrect signature of addSuccess() method in
- IPluginInterface. Thanks to nosexunit for the bug report. (Issue
- #68).
- - Fixed isclass() function in nose.util so that it will not raise an
- exception when examining instances that have no accessible __bases__
- attribute. (Issue #65).
- - Fixed passing of tests to result; the test itself and not the
- wrapper was being passed, resulting in test description plugin hooks
- not being called. (Issue #71).
- - Fixed bugs in FailureDetail and Capture plugins, and plugin manager
- and proxy uses of chainable plugin calls. Thanks to Ian Bicking for
- the bug report (Issue #72).
- - Improved documentation.
- 0.10.0a2
- - Changed entry point name to nose.plugins.0.10 -- dashes and other
- non-word characters besides . are not allowed in entry point names.
- (Issue #67)
- - Fixed loading of plugins from that entry point.
- - Fixed backwards-compatibility issue in nose.util (is_generator was
- renamed isgenerator). (Issue #64)
- - Fixed bug in --logging-config option. Thanks to anton_kr... at yahoo
- com for the bug report. (Issue #62)
- - Fixed bug in handling of --where argument: first --where was not
- passed to loader as workingDir. Thanks to nosexunit for the bug
- report. (Issue #63).
- 0.10.0a1
- - Rewrote test loader to be more drop-in compatible with
- unittest.TestLoader and to support a more user-friendly command
- line.
- - Rewrote test runner and result classes to reduce duplication of effort.
- - Revised configuration system to be less convoluted.
- - Added nose.case.TestCase as universal wrapper for all
- testcases. Plugins always see instances of this class.
- - Added a management layer to the plugin system, allowing for easy use
- of different plugin loading schemes. The default manager loads
- builtin plugins, 0.10 plugins under the setuptools entrypoint
- nose.plugins.0-10 and provides limited support for legacy plugins
- loaded under the entrypoint nose.plugins.
- - Added plugin hooks in all phases of discovery, running and description.
- - Converted several formely core features to plugins: output capture,
- assert introspection, pdb, and skipped and deprecated test support.
- - Added id plugin that allows for easier specification of tests on the
- command line.
- - Added ErrorClassPlugin base class to allow for easier authoring of
- plugins that handle errors, like the builtin skipped and deprecated
- test plugins.
- - Added support for loading doctests from non-module files for all
- supported python versions.
- - Added score property to plugins to allow plugins to execute in a
- defined order (higher score execute first).
- - Expanded nose's own test suite to include a variety of functional tests.
- - Fixed many bugs.
- 0.9.3
- - Added support for user configuration files. Thanks to Antoine Pitrou for the
- patch.
- - Fixed bug that caused profiler plugin to leak 0-byte temp files. Thanks to
- Antoine Pitrou for the patch.
- - Made usage of temp files in profiler plugin more sensible. Thanks to Michael
- Sclenker for the bug report.
- - Fixed bug that stopped loading of twisted TestCase tests. Thanks to Kumar
- McMillan for the bug report.
- - Corrected man page location. Thanks to luke macken for the bug report and
- patch.
- - Added with_setup to nose.tools.__all__. Thanks to Allen Bierbaum for the bug
- report.
- - Altered plugin loading so that builtin plugins can be loaded without
- setuptools. Thanks to Allen Bierbaum for the suggestion.
- - Fixed a bug in the doctests plugin that caused an error when multiple
- exclude arguments were specified. Thanks to mbeachy for the bug report and
- patch.
- 0.9.2
- - Added nosetests setuptools command. Now you can run python setup.py
- nosetests and have access to all nose features and plugins. Thanks to James
- Casbon for the patch.
- - Added make_decorator function to nose.tools. Used to construct decorator
- functions that are well-behaved and preserve as much of the original
- function's metadata as possible. Thanks to Antoine Pitrou for the patch.
- - Added nose.twistedtools, contributed by Antoine Pitrou. This module adds
- @deferred decorator that makes it simple to write deferred tests, with or
- without timeouts.
- - Added monkeypatch to doctests that keeps doctest from stepping on coverage
- when the two plugins are used together. Thanks to David Avraamides for the
- bug report.
- - Added isolation plugin. Use this plugin to automatically restore sys.modules
- after each test module or package. Thanks to Michal Kwiatkowski for the
- feature request.
- - Fixed bug where -vvvv turned off verbose logging instead of making it even
- more verbose. Thanks to Ian Bicking for the bug report.
- - Fixed bug where assert inspection would fail when the trailing """ of a
- docstring was one of the inspected lines. Thanks to cito at online dot de
- for the bug report.
- - Updated attrib plugin to allow selection of test methods by attributes of
- the test case class. Thanks to Jason Hildebrand for the patch.
- - Improved compatibility with python 2.2. Thanks to Chad Whitacre for the
- patch.
- - Fixed bug in handling of options from setup.cfg. Thanks to Kumar McMillan for
- the patch.
- - Fixed bug in generator methods, where a generator method using an inline
- funciton would result in an AttributeError. Thanks to Antoine Pitrou for the
- bug report.
- - Updated coverage plugin to ignore lines tagged with #pragma: no cover,
- matching the behavior of coverage.py on the command line. Thanks to Bill
- Zingler for the bug report.
- - Added a man page for nosetests. Thanks to Gustavo Noronha Silva for the
- request and providing an example.
- 0.9.1
- - New function nose.runmodule() finds and runs tests only in a
- single module, which defaults to __main__ (like unittest.main() or
- doctest.runmodule()). Thanks Greg Wilson for the suggestion.
- - Multiple -w (--where) arguments can now be used in one command line,
- to find and run tests in multiple locations. Thanks Titus Brown for
- the suggestion.
- - Multiple --include and --exclude arguments are now accepted in one command
- line. Thanks Michal Kwiatkowski for the feature request.
- - Coverage will now include modules not imported by any test when
- using the new --cover-inclusive switch. Thanks James Casbon for the
- patch.
- - module:TestClass test selections now properly select all tests in the test
- class.
- - startTest and stopTest are now called in plugins at the beginning and end of
- test suites, including test modules, as well as individual tests. Thanks
- Michal Kwiatkowski for the suggestion.
- - Fix bug in test selection when run as ``python setup.py test``: 'test' was
- passing through and being used as the test name selection. Thanks Kumar
- McMillan for the bug report.
- - Fix bug in handling of -x/--stop option where the test run would stop on
- skipped or deprecated tests. Thanks Kumar McMillan for the bug report.
- - Fix bug in loading tests from projects with layouts that place modules in
- /lib or /src dirs and tests in a parallel /tests dir.
- - Fix bug in python version detection. Thanks Kevin Dangoor for the bug report
- and fix.
- - Fix log message in selector that could raise IndexError. Thanks Kumar
- McMillan for the bug report and patch.
- - Fix bug in handling doctest extension arguments specified in environment and
- on command line. Thanks Ian Bicking for the bug report.
- - Fix bug in running fixtures (setup/teardown) that are not functions, and
- report a better error message when a fixture is not callable. Thanks Ian
- Bicking for the bug report.
- 0.9.0
- - More unit tests and better test coverage. Numerous bugfixes deriving from
- same.
- - Make --exe option do what it says, and turn it on by default on
- Windows. Add --noexe option so windows users can turn if off.Thanks
- richard at artsalliancemedia dot com for the bug reports.
- - Handle a working directory that happens to be in the middle of a package
- more gracefully. Thanks Max Ischenko for the bug report and test case.
- - Fix bugs in test name comparison when a test module is specified whose name
- overlaps that of a non-test module. Thanks Max Ischenko for the bug report
- and test case.
- - Fix warning spam when a non-existent test file is requested on the command
- line. Thanks Max Ischenko for the bug report.
- 0.9.0b2
- - Allow --debug to set any logger to DEBUG. Thanks to casbon at gmail dot com
- for the patch.
- - Fix doctest help, which was missing notes about the environment variables
- that it accepts. Thanks to Kumar McMillan for the patch.
- - Restore sys.stdout after run() in nose.core. Thanks to Titus Brown for the
- bug report.
- - Correct handling of trailing comma in attrib plugin args. Thanks Titus Brown
- for the patch.
- 0.9.0b1
- - Fix bug in handling of OR conditions in attrib plugin. Thanks to Titus
- Brown for the bug report.
- - Fix bug in nose.importer that would cause an attribute error when a local
- module shadowed a builtin, or other object in sys.modules, without a
- __file__ attribute. Thanks to casbon at gmail dot com for the bug report.
- - Fix bug in nose.tools decorators that would cause decorated tests to appear
- with incorrect names in result output.
- 0.9.0a2
- - In TestLoader, use inspect's isfunction() and ismethod() to filter functions
- and methods, instead of callable(). Thanks to Kumar McMillan for reporting
- the bug.
- - Fix doctest plugin: return an empty iterable when no tests are found in a
- directory instead of None. Thanks to Kumar McMillan for the bug report and
- patch.
- - Ignore executable python modules, unless run with --exe file. This is a
- partial defense against nose causing trouble by loading python modules that
- are not import-safe. The full defense: don't write modules that aren't
- import safe!
- - Catch and warn about errors on plugin load instead of dying.
- - Renamed builtin profile module from nose.plugins.profile to
- nose.plugins.prof to avoid shadowing stdlib profile.py module.
- 0.9.0a1
- - Add support for plugins, with hooks for selecting, loading and reporting on
- tests. Doctest and coverage are now plugins.
- - Add builtin plugins for profiling with hotshot, selecting tests by
- attribute (contributed by Mika Eloranta), and warning of missed tests
- specified on command line.
- - Change command line test selection syntax to match unittest. Thanks to Titus
- Brown for the suggestion.
- - Option to drop into pdb on error or failure.
- - Option to stop running on first error or failure. Thanks to Kevin Dangoor
- for the suggestion.
- - Support for doctests in files other than python modules (python 2.4 only)
- - Reimplement base test selection as single self-contained class.
- - Reimplement test loading as unittest-compatible TestLoader class.
- - Remove all monkeypatching.
- - Reimplement output capture and assert introspection support in
- unittest-compatible Result class.
- - Better support for multiline constructions in assert introspection.
- - More context output with assert introspections.
- - Refactor setuptools test command support to use proxied result, which
- enables output capture and assert introspection support without
- monkeypatching. Thanks to Philip J. Eby for the suggestion and skeleton
- implementation.
- - Add support for generators in test classes. Thanks to Jay Parlar for the
- suggestion and patch.
- - Add nose.tools package with some helpful test-composition functions and
- decorators, including @raises, contributed by Scot Doyle.
- - Reimplement nose.main (TestProgram) to have unittest-compatible signature.
- - All-new import path handling. You can even turn it off! (If you don't,
- nose will ensure that all directories from which it imports anything are on
- sys.path before the import.)
- - Logging package used for verbose logging.
- - Support for skipped and deprecated tests.
- - Configuration is no longer global.
- 0.8.7
- - Add support for py.test-style test generators. Thanks to Jay Parlar for
- the suggestion.
- - Fix bug in doctest discovery. Thanks to Richard Cooper for the bug report.
- - Fix bug in output capture being appended to later exceptions. Thanks to
- Titus Brown for the patch that uncovered the bug.
- - Fix bug(?) in Exception patch that caused masked hasattr/__getattr__ loops
- to either become actual infinite loops, or at least take so long to finally
- error out that they might as well be infinite.
- - Add -m option to restrict test running to only tests in a particular package
- or module. Like the -f option, -m does not restrict test *loading*, only
- test *execution*.
- - When loading and running a test module, ensure that the module's path is in
- sys.path for the duration of the run, not just while importing the module.
- - Add id() method to all callable test classes, for greater unittest
- compatibility.
- 0.8.6
- - Fix bug with coverage output when sys.modules contains entries without
- __file__ attributes
- - Added -p (--cover-packages) switch that may be used to restrict coverage
- report to modules in the indicated package(s)
- 0.8.5
- - Output capture and verbose assertion errors now work when run like
- 'python setup.py test', as advertised.
- - Code coverage improvements: now coverage will be output for all modules
- imported by any means that were not in sys.modules at the start of the test
- run. By default, test modules will be excluded from the coverage report, but
- you can include them with the -t (--cover-tests) option.
- 0.8.4
- - Fix bugs in handling of setup/teardown fixtures that could cause TypeError
- exceptions in fixtures to be silently ignored, or multiple fixtures of the
- same type to run. Thanks to Titus Brown for the bug report.
- 0.8.3
- - Add -V (--version) switch to nosetests
- - Fix bug where sys.path would not be set up correctly when running some
- tests, producing spurious import errors (Thanks to Titus Brown and Mike
- Thomson for the bug reports)
- - For test classses not derived from unittest.TestCase, output (module.Class)
- "doc string" as test description, when method doc string is available
- (Thanks to David Keeney for the suggestion, even if this isn't quite what he
- meant)
- 0.8.2
- - Revise import to bypass sys.path and manipulate sys.modules more
- intelligently, ensuring that the test module we think we are loading is the
- module we actually load, and that modules loaded by other imports are not
- reloaded without cause
- - Allow test directories inside of packages. Formerly directories matching
- testMatch but lacking an __init__.py would cause an ImportError when located
- inside of packages
- - Fix bugs in different handling of -f switch in combination with -w and -o
- 0.8.1
- - Fix bug in main() that resulted in incorrect exit status for nosetests
- script when tests fail
- - Add missing test files to MANIFEST.in
- - Miscellaneous pylint cleanups
- 0.8
- - Add doctest support
- - Add optional code coverage support, using Ned Batchelder's coverage.py;
- activate with --coverage switch or NOSE_COVERAGE environment variable
- - More informative error message on import error
- - Fix bug where module setup could be called twice and teardown skipped
- for certain setup method names.
- - main() returns success value, does not exit. run_exit() added to support
- old behavior; nosetests script now calls nose.run_exit()
- 0.7.5
- - Fix bus error on exit
- - Discover tests inside of non-TestCase classes that match testMatch
- - Reorganize selftest: now selftest tests the output of a full nose run
- - Add test_with_setup.py contributed by Kumar McMillan
- 0.7.2
- - Refactor and correct bugs in discovery and test loading
- - Reorganize and expand documentation
- - Add -f (run this test file only) switch
- 0.7.1
- - Bugfix release: test files in root of working directory were not being
- stripped of file extension before import.
- 0.7
- - Change license to LGPL
- - Major rework of output capture and assert introspection
- - Improve test discovery: now finds tests in packages
- - Replace -n switch ('no cwd') with -w switch ('look here')
- 0.6
- - New nosetests script
- - Allow specification of names on command line that are loadable but not
- directly loadable as modules (eg nosetests -o path/to/tests.py)
- - Add optional py.test-like assert introspection. Thanks to Kevin Dangoor
- for the suggestion.
- - Improvements to selftest
- 0.5.1
- - Increased compatibility with python 2.3 (and maybe earlier)
- - Increased compatibility with tests written for py.test: now calls
- module.setup_module(module) if module.setup_module() fails
|