Changelog for
python2-testtools-2.3.0-61.3.noarch.rpm :
* Thu Mar 08 2018 aplanasAATTsuse.com- Allows Recommends and Suggest in Fedora
* Tue Feb 27 2018 aplanasAATTsuse.com- Recommends only for SUSE
* Tue Jul 04 2017 tbechtoldAATTsuse.com- update to 2.3.0:
* Release 2.3.0
* Add ResourcedToStreamDecorator test result decorator for testresources integration (#243)
* Make KeysEqual usable with no arguments, i.e. match a dict with no keys. (#241)
* Add testtools.assertions to the documented API modules (#257)
* Add Python 3.6 to the list of Travis targets (#255)
* Don\'t add file details without content (#252)
* Don\'t run Sphinx on Travis Python 3.3 target (#250)
* Make twistedsupport and tests work on Python 3
* Mon May 22 2017 tbechtoldAATTsuse.com- Revert \"Require python-unittest2 only for python2\". We have now a python3-unittest2 package which should be used.
* Mon May 22 2017 tbechtoldAATTsuse.com- Require python-unittest2 only for python2
* Fri Apr 14 2017 toddrme2178AATTgmail.com- Change fixtures dependency to \"Recommends\". It is not a hard dependency becauses it causes dependency loops.
* Sat Apr 08 2017 toddrme2178AATTgmail.com- Split documentation and tests into separate .spec file to avoid dependency cycle with python-extras/python-testrepositories.
* Sun Apr 02 2017 aloisioAATTgmx.com- Converted to single-spec- Added doc subpackage
* Mon Feb 27 2017 shshyukrievAATTsuse.com- BuildRequires also using extras>=1.0.0
* Thu Sep 01 2016 tbechtoldAATTsuse.com- Use pypi.io as Source url
* Tue Aug 30 2016 tbechtoldAATTsuse.com- update to 2.2.0:
* Release 2.2.0
* Depend on the extras 1.0.0 release
* Unbreak fixtures test suite / use of gather_details
* UTF-8 encode Twisted logs (allenap)
* Use inlineCallbacks instead of deferredGenerator
* Fix _lp_release: NEXT is case sensitive
* Release 2.1.0
* Correct docs for skip deprecation
* Add matchers for detecting emitted warnings
* Revert usage of pyrsistent
* Add unique_text_generator
* Become compatible with newer Fixtures _setUp() API
* Better handling of KeyboardInterrupt
* Fix example in docstring for `failed`
* Move all Twisted code to twistedsupport package
* Revert \"Move all Twisted code to twistedsupport package\"
* Move all Twisted code to twistedsupport package
* Add Always & Never matchers
* Support TestResults without stop/shouldStop
* Stop using deprecated `skip()` internally
* Release 2.0.0
* Options for logging in AsynchronousDeferredRunTest
* Twisted tests now pass under --debug-stacktraces
* Decouple log handling from Deferred wrangling
* Fix typo: flexability
* Review tweaks
* Drop support for Python 2.6 and 3.2
* Release 1.9.0
* Missed one
* 19.4.1 refers to importlib machinery. Avoid that
* See if setuptools 19.5 is bad
* PIP_VERSION is used by pip itself
* Correct spelling of \'less than 8\', maybe
* Use only pip 7.
* on pypy3 & py3.2
* Longer timeout not necessary
* NEWS update
* Handle case where Deferred fires after timeout
* Explicitly separate fake stop method
* Lint & copyright
* NO_RESULT -> has_no_result
* Make twistedsupport a package
* Rename `successful` to `succeeded`
* Improve NEWS
* Conditionally import matchers
* Use non-inplace install and add a comment
* New module for twisted support code
* Minor documentation tweaks
* Make no_result a constant
* Style & documentation tweaks from review
* Review tweaks
* Import extract_result from correct location
* expectThat works under AsynchronousDeferredRunTest
* Correct string literal syntax
* Avoid .format
* Give up on some TODOs
* Maybe we need to install our thing?
* Add requirements for readthedocs
* Move non-matcher code to _deferred
* Nicer links
* Link to Twisted API docs
* More todos
* Documentation with examples
* Pass the Deferred to the handlers
* Docstring formatting
* Use _on_deferred_result in _NoResult
* Make _on_deferred_result transparent to Deferred
* Extract common Deferred logic
* Use same error messages as Twisted
* Matcher for Deferreds that have failed
* TODOs & XXXs
* successResultOf equivalent
* Docstring formatting
* Docstring
* Move formatting to exception
* Extract `extract_result`
* Matcher for no result
* Actually use `skipException`
* NEWS update
* Suppress skip traceback based on skipException
* Deprecate Python 2.6
* Actually use pformat in errors
* Deterministic test
* NEWS update
* NEWS update
* Factor out counting
* ids has no apostrophe
* Lint
* Collect all duplicate test id\'s before raise
* Document checking release milestone before release
* Don\'t need our own assertRaisesRegexp
* Clarify the tests
* Add assertRaisesRegexp method
* Document early evaluation of details
* Update NEWS
* Deprecate TestCase.skip
* Deprecate _BinaryMismatch.{expected,observed}
* Make sure reference and actual align
* Put expected on the right for binary mismatch
* Fix typo
* Support Python 3.5, announce deprecation 3.2
* API docs for deferredruntest
* Need Deferred reference
* Remove scare warnings from deferredruntest
* Documentation tweaks
* Move Twisted docs to separate file
* Better error message for MatchesListwise
* NEWS update
* Clarify some things
* Move _cleanups reset to _reset
* Rewrite patch tests using make_test_case
* `throw` helper
* Rewrite addCleanup tests in terms of make_test_case
* Use method for value, to avoid `self` weirdness
* Move useful matchers to helper module
* Move unique_id_gen to reset
* Clean up comments
* No need for special case
* Get pre_set_up & post_tear_down from scenario
* Spell setUp consistently
* Allow pre setUp & post tearDown to be set
* Complete suite of tests
* Encapsulate construction
* Start to use generated behaviors
* Wrap the constructor, hide the class
* Handle more test bodies
* Begin implementing full matrix
* Easy review comments
* 15.5.0 claims to support Python 2.6 but does not
* Run tests on last Twisted version to support 2.6
* Latest Twisted doesn\'t run on Python 2.6
* Non-deterministic test case
* Simplify cleanup code
* Rename all_sample_cases_scenarios to deterministic_sample_cases_scenarios
* Treat tear down failure as a scenario
* Begin to write scenario-based tests
* Split run twice tests to separate case
* Acquire testscenarios as a dependency
* Fix travis :(
* Add testscenarios for use by tests
* Handle failure in tearDown
* Test _run_teardown, rather than tearDown
* Allow tests to be run twice
* Don\'t use private APIs
* Update NEWS for 1.8.1
* Hide TestRecord and StreamToTestRecord
* Old-fashioned set syntax
* Abstract text_or_bytes
* Add pyrsistent dependency to Travis CI
* Change PRecord to PClass
* Move test_dict_to_case near StreamToDict
* Don\'t use StreamToDict internally
* _streamer -> _hook
* StreamSummary with composition, not inheritance
* Extract StreamToTestRecord base class
* Move _make_content_type closer to where it is used
* Put to_test_case logic on TestRecord
* Make _status_map persistent
* Move test_dict_to_case closer to test_dict definition
* Remove temporary variable \'case\'
* Extract got_file
* Extract got_timestamp function
* Move creation logic to TestRecord itself
* Actually use TestRecord internally
* Extract methods for making and updating record
* Extract _make_content_type
* Use `case` consistently, over `_inprogress[key]`
* Use name for interim states
* Aspirational documentation
* Remove VWS
* Update PlaceHolder indentation
* Restore & deprecate domap
* Spell out `f` and `xs`
* Drop `__metaclass__` declaration
* Document confusing `domap`
* Remove duplicate implementation of method
* Allow event_log to be passed to result doubles
* Fix lint in testresult.real
* Lint clear-up
* Uncap test matrix entries for modern Twisted
* Fix Travis matrix.include
* Only run Twisted tests on Python 2
* Test with Twisted 13.0.0/15.2.0
* Port twisted.deferredruntest to Twisted >= 15.1.0
* Update hacking documentation
* Fix tests with unittest2 1.1.0 and higher
* Programmatically declare test dependencies
* Fix the call to the parent setup
* Release 1.8.0
* Switch to pbr as a build system
* Add some custom matchers to make deferred log tests more readable
* Simplify AsynchronousDeferredRunTest._run_core\'s StringIO handling
* Rewind the deferred test log before attaching it
* Open 1.8.0 for dev
* Release 1.7.1
* Clamp Sphinx below 1.3 for travis on pypy3/3.2
* Fix pypy3 tests by using ceil when reporting duration
* Fix building universal wheels on Python 3
* Open next version
* Release 1.7.0
* Fix output of empty attachments
* Open 1.7.0 again
* Bug #1430076 fix installing when extras is not installed
* Opening 1.7.0 for development
* Release 1.6.0
* Overhaul exception reporting- Adjust Requires according to requirements.txt
* Mon Dec 01 2014 dmuellerAATTsuse.com- fix typo in last change
* Mon Dec 01 2014 rhaferAATTsuse.com- Update to version 1.5.0:
* When an import error happens ``testtools.run`` will now show the full error rather than just the name of the module that failed to import. (Robert Collins)
* ``testtools.TestCase`` now inherits from unittest2.TestCase, which provides a ``setUpClass`` for upcalls on Python 2.6. (Robert Collins, #1393283)
* Fixed our setup.py to use setup_requires to ensure the import dependencies for testtools are present before setup.py runs (as setup.py imports testtools to read out the version number). (Robert Collins)
* Support setUpClass skipping with self.skipException. Previously this worked with unittest from 2.7 and above but was not supported by testtools - it was a happy accident. Since we now hard depend on unittest2, we need to invert our exception lookup priorities to support it. Regular skips done through raise self.skipException will continue to work, since they were always caught in our code - its because the suite type being used to implement setUpClass has changed that an issue occured. (Robert Collins, #1393068)
* Correctly express our unittest2 dependency: we don\'t work with old releases. (Robert Collins)
* Depends on unittest2 for discovery functionality and the ``TestProgram`` base class. This brings in many fixes made to discovery where previously we were only using the discovery package or the version in the release of Python that the test execution was occuring on. (Robert Collins, #1271133)
* Fixed unit tests which were failing under pypy due to a change in the way pypy formats tracebacks. (Thomi Richards)
* Fixed the testtools test suite to run correctly when run via ``unit2`` or ``testtools.run discover``.
* Make `testtools.content.text_content` error if anything other than text is given as content. (Thomi Richards)
* Tue Sep 16 2014 tbechtoldAATTsuse.com- update to version 1.1.0:
* Exceptions in a ``fixture.getDetails`` method will no longer mask errors raised from the same fixture\'s ``setUp`` method. (Robert Collins, #1368440)
* Fix a long-standing bug where tearDown and cleanUps would not be called if the test run was interrupted. This should fix leaking external resources from interrupted tests. (Robert Collins, #1364188)
* Fix a long-standing bug where calling sys.exit(0) from within a test would cause the test suite to exit with 0, without reporting a failure of that test. We still allow the test suite to be exited (since catching higher order exceptions requires exceptional circumstances) but we now call a last-resort handler on the TestCase, resulting in an error being reported for the test. (Robert Collins, #1364188)
* Fix an issue where tests skipped with the ``skip``
* family of decorators would still have their ``setUp`` and ``tearDown`` functions called. (Thomi Richards, #https://github.com/testing-cabal/testtools/issues/86)
* We have adopted a formal backwards compatibility statement (see hacking.rst) (Robert Collins)
* _jython_aware_splitext was not defined entirely compatibly. (Robert Collins, #https://github.com/testing-cabal/testtools/issues/100)
* Discovery import error detection wasn\'t implemented for python 2.6 (the \'discover\' module). (Robert Collins)
* Discovery now executes load_tests (if present) in __init__ in all packages. (Robert Collins, http://bugs.python.org/issue16662)
* ``stdout`` is now correctly honoured on ``run.TestProgram`` - before the runner objects would be created with no stdout parameter. If construction fails, the previous parameter list is attempted, permitting compatibility with Runner classes that don\'t accept stdout as a parameter. (Robert Collins)
* The ``ExtendedToStreamDecorator`` now handles content objects with one less packet - the last packet of the source content is sent with EOF set rather than an empty packet with EOF set being sent after the last packet of the source content. (Robert Collins)
* Error if ``setUp`` or ``tearDown`` are called twice. (Robert Collins, #882884)
* Make testtools compatible with the ``unittest.expectedFailure`` decorator in Python 3.4. (Thomi Richards)
* Wed Jan 29 2014 dmuellerAATTsuse.com- update to 0.9.35:
* Removed a number of code paths where Python 2.4 and Python 2.5 were explicitly handled. (Daniel Watkins)
* Added the ``testtools.TestCase.expectThat`` method, which implements delayed assertions. (Thomi Richards)
* Docs are now built as part of the Travis-CI build, reducing the chance of Read The Docs being broken accidentally. (Daniel Watkins, #1158773)
* Mon Jan 13 2014 dmuellerAATTsuse.com- update to 0.9.34:
* Added ability for ``testtools.TestCase`` instances to force a test to fail, even if no assertions failed. (Thomi Richards)
* Added ``testtools.content.StacktraceContent``, a content object that automatically creates a ``StackLinesContent`` object containing the current stack trace. (Thomi Richards)
* ``AnyMatch`` is now exported properly in ``testtools.matchers``. (Robert Collins, Rob Kennedy, github #44)
* Network tests now bind to 127.0.0.1 to avoid (even temporary) network visible ports. (Benedikt Morbach, github #46)
* Sun Nov 17 2013 p.drouandAATTgmail.com- Update to version 0.9.33 + Added ``addDetailuniqueName`` method to ``testtools.TestCase`` class. + Removed some unused code from ``testtools.content.TracebackContent``. + Added ``testtools.StackLinesContent``: a content object for displaying pre-processed stack lines. + ``StreamSummary`` was calculating testsRun incorrectly: ``exists`` status tests were counted as run tests, but they are not.- Remove unwanted hidden file from documentation generated with Sphinx
* Thu Aug 08 2013 speilickeAATTsuse.com- Revert back
* Thu Aug 08 2013 speilickeAATTsuse.com- Totally disable testing to bootstrap ppc64. Actually the build conditional is supposed to do just that.
* Tue Jun 25 2013 speilickeAATTsuse.com- Introduce a build conditional for running tests to break build cycle with python-extras
* Fri Jun 21 2013 speilickeAATTsuse.com- Use upstream URL- Run testsuite- Update to version 0.9.32: + Stacktrace filtering no longer hides unittest frames that are surrounded by user frames. We will reenable this when we figure out a better algorithm for retaining meaning. (Robert Collins, #1188420) + The compatibility code for skipped tests with unittest2 was broken. (Robert Collins, #1190951) + Various documentation improvements (Clint Byrum, Xiao Hanyu).- Changes from version 0.9.31: + ExpectedException now accepts a msg parameter for describing an error, much the same as assertEquals etc. (Robert Collins)
* Mon May 06 2013 dmuellerAATTsuse.com- add python-mmimeparse dependency
* Tue Apr 23 2013 p.drouandAATTgmail.com- Fix source URL; packages are available on https://pypi.python.org
* Mon Apr 22 2013 dmuellerAATTsuse.com- update to 0.9.30: A new sort of TestResult, the StreamResult has been added, as a prototype for a revised standard library test result API. Expect this API to change. Although we will try to preserve compatibility for early adopters, it is experimental and we might need to break it if it turns out to be unsuitable.
* Tue Apr 16 2013 p.drouandAATTgmail.com- Update to version 0.9.29 + Added missing build-depends: python3-setuptools, python-setuptools and python-extras. + Build-depends: python-fixtures must be >= 0.3.12~- Disable test; it seems there is a typo mistake in setup.cfg- Added url as source. Please see http://en.opensuse.org/SourceUrls
* Tue Jan 15 2013 p.drouandAATTgmail.com- Initial python3 support
* Mon Jan 14 2013 saschpeAATTsuse.de- Update to version 0.9.24:
* testtools.run discover will now sort the tests it discovered. This is a workaround for http://bugs.python.org/issue16709. Non-standard test suites are preserved, and their sort_tests() method called (if they have such an attribute). testtools.testsuite.sorted_tests(suite, True) can be used by such suites to do a local sort.
* ThreadsafeForwardingResult now defines a stub progress method, which fixes testr run of streams containing progress markers (by discarding the progress data).- Changes from version 0.9.23:
* run.TestToolsTestRunner now accepts the verbosity, buffer and failfast arguments the upstream python TestProgram code wants to give it, making it possible to support them in a compatible fashion. (Robert Collins)
* testtools.run now supports the -f or --failfast parameter. Previously it was advertised in the help but ignored.
* AnyMatch added, a new matcher that matches when any item in a collection matches the given matcher.
* Spelling corrections to documentation.
* TestProgram now has a sane default for its testRunner argument.
* The test suite passes on Python 3 again.- Changes from version 0.9.22:
* content_from_file and content_from_stream now accept seek_offset and seek_whence parameters allowing them to be used to grab less than the full stream, or to be used with StringIO streams.
* Thu Dec 06 2012 saschpeAATTsuse.de- Cleanup spec file- Install HTML documentation
* Tue Nov 13 2012 jfunkAATTfunktronics.ca- Update to 0.9.21:
* DirContains correctly exposed, after being accidentally hidden in the great matcher re-organization of 0.9.17. (Jonathan Lange)- 0.9.20
* New, powerful matchers that match items in a dictionary: - MatchesDict, match every key in a dictionary with a key in a dictionary of matchers. For when the set of expected keys is equal to the set of observed keys. - ContainsDict, every key in a dictionary of matchers must be found in a dictionary, and the values for those keys must match. For when the set of expected keys is a subset of the set of observed keys. - ContainedByDict, every key in a dictionary must be found in a dictionary of matchers. For when the set of expected keys is a superset of the set of observed keys. The names are a little confusing, sorry. We\'re still trying to figure out how to present the concept in the simplest way possible.- 0.9.19
* Include the matcher tests in the release, allowing the tests to run and pass from the release tarball. (Jonathan Lange)
* Fix cosmetic test failures in Python 3.3, introduced during release 0.9.17. (Jonathan Lange)- 0.9.18 Due to an oversight, release 0.9.18 did not contain the new testtools.matchers package and was thus completely broken. This release corrects that, returning us all to normality.- 0.9.17 This release brings better discover support and Python3.x improvements. There are still some test failures on Python3.3 but they are cosmetic - the library is as usable there as on any other Python 3 release.
* The testtools.matchers package has been split up. No change to the public interface. (Jonathan Lange)
* python -m testtools.run discover . --list now works. (Robert Collins)
* Correctly handling of bytes vs text in JSON content type. (Martin [gz])- 0.9.16 This is the first release of testtools to drop support for Python 2.4 and 2.5. If you need support for either of those versions, please use testtools 0.9.15.
* New content helper, json_content (Jonathan Lange)
* New matchers:
* ContainsAll for asserting one thing is a subset of another (Raphaël Badin)
* SameMembers for asserting two iterators have the same members. (Jonathan Lange)
* Reraising of exceptions in Python 3 is more reliable. (Martin [gz])
* Wed May 23 2012 jfunkAATTfunktronics.ca- Update to 0.9.15
* PlaceHolder and ErrorHolder now support being given result details. (Robert Collins)
* ErrorHolder is now just a function - all the logic is in PlaceHolder. (Robert Collins)
* TestResult and all other TestResult-like objects in testtools distinguish between global tags and test-local tags, as per the subunit specification. (Jonathan Lange)
* This is the
*
*last
*
* release of testtools that supports Python 2.4 or 2.5. These releases are no longer supported by the Python community and do not receive security updates. If this affects you, you will need to either stay on this release or perform your own backports. (Jonathan Lange, Robert Collins)
* ThreadsafeForwardingResult now forwards global tags as test-local tags, making reasoning about the correctness of the multiplexed stream simpler. This preserves the semantic value (what tags apply to a given test) while consuming less stream size (as no negative-tag statement is needed). (Robert Collins, Gary Poster, #986434)
* API documentation corrections. (Raphaël Badin)
* ConcurrentTestSuite now takes an optional wrap_result parameter that can be used to wrap the ThreadsafeForwardingResults created by the suite. (Jonathan Lange)
* Tagger added. It\'s a new TestResult that tags all tests sent to it with a particular set of tags. (Jonathan Lange)
* testresultdecorator brought over from subunit. (Jonathan Lange)
* All TestResult wrappers now correctly forward current_tags from their wrapped results, meaning that current_tags can always be relied upon to return the currently active tags on a test result.
* TestByTestResult, a TestResult that calls a method once per test, added. (Jonathan Lange)
* ThreadsafeForwardingResult correctly forwards tags() calls where only one of new_tags or gone_tags are specified. (Jonathan Lange, #980263)
* ThreadsafeForwardingResult no longer leaks local tags from one test into all future tests run. (Jonathan Lange, #985613)
* ThreadsafeForwardingResult has many, many more tests. (Jonathan Lange)- Enable tests
* Tue Feb 21 2012 jfunkAATTfunktronics.ca- Update to 0.9.14:
* Our sister project, subunit
_, was using a private API that was deleted in the 0.9.13 release. This release restores that API in order to smooth out the upgrade path. If you don\'t use subunit, then this release won\'t matter very much to you.- 0.9.13 - Changes
* MatchesAll now takes an first_only keyword argument that changes how mismatches are displayed. If you were previously passing matchers to MatchesAll with keyword arguments, then this change might affect your test results. (Jonathan Lange) - Improvements
* Actually hide all of the testtools stack for assertion failures. The previous release promised clean stack, but now we actually provide it. (Jonathan Lange, #854769)
* assertRaises now includes the repr of the callable that failed to raise properly. (Jonathan Lange, #881052)
* Asynchronous tests no longer hang when run with trial. (Jonathan Lange, #926189)
* Content objects now have an as_text method to convert their contents to Unicode text. (Jonathan Lange)
* Failed equality assertions now line up. (Jonathan Lange, #879339)
* FullStackRunTest no longer aborts the test run if a test raises an error. (Jonathan Lange)
* MatchesAll and MatchesListwise both take a first_only keyword argument. If True, they will report only on the first mismatch they find, and not continue looking for other possible mismatches. (Jonathan Lange)
* New helper, Nullary that turns callables with arguments into ones that don\'t take arguments. (Jonathan Lange)
* New matchers:
* DirContains matches the contents of a directory. (Jonathan Lange, James Westby)
* DirExists matches if a directory exists. (Jonathan Lange, James Westby)
* FileContains matches the contents of a file. (Jonathan Lange, James Westby)
* FileExists matches if a file exists. (Jonathan Lange, James Westby)
* HasPermissions matches the permissions of a file. (Jonathan Lange)
* MatchesPredicate matches if a predicate is true. (Jonathan Lange)
* PathExists matches if a path exists. (Jonathan Lange, James Westby)
* SamePath matches if two paths are the same. (Jonathan Lange)
* TarballContains matches the contents of a tarball. (Jonathan Lange)
* MultiTestResult supports the tags method. (Graham Binns, Francesco Banconi, #914279)
* ThreadsafeForwardingResult supports the tags method. (Graham Binns, Francesco Banconi, #914279)
* ThreadsafeForwardingResult no longer includes semaphore acquisition time in the test duration (for implicitly timed test runs). (Robert Collins, #914362)
* Sun Dec 11 2011 jfunkAATTfunktronics.ca- Update to 0.9.12: - Changes:
* AfterPreproccessing renamed to AfterPreprocessing, which is a more correct spelling. Old name preserved for backwards compatibility, but is now deprecated. Please stop using it. (Jonathan Lange, #813460)
* assertThat raises MismatchError instead of TestCase.failureException. MismatchError is a subclass of AssertionError, so in most cases this change will not matter. However, if self.failureException has been set to a non-default value, then mismatches will become test errors rather than test failures.
* gather_details takes two dicts, rather than two detailed objects. (Jonathan Lange, #801027)
* MatchesRegex mismatch now says \" does not match //\" rather than \" did not match \". The regular expression contains fewer backslashes too. (Jonathan Lange, #818079)
* Tests that run with AsynchronousDeferredRunTest now have the reactor attribute set to the running reactor. (Jonathan Lange, [#720749]) - Improvements:
* All public matchers are now in testtools.matchers.__all__. (Jonathan Lange, #784859)
* assertThat can actually display mismatches and matchers that contain extended unicode characters. (Jonathan Lange, Martin [gz], #804127)
* assertThat output is much less verbose, displaying only what the mismatch tells us to display. Old-style verbose output can be had by passing verbose=True to assertThat. (Jonathan Lange, #675323, [#593190])
* assertThat accepts a message which will be used to annotate the matcher. This can be given as a third parameter or as a keyword parameter. (Robert Collins)
* Automated the Launchpad part of the release process. (Jonathan Lange, [#623486])
* Correctly display non-ASCII unicode output on terminals that claim to have a unicode encoding. (Martin [gz], #804122)
* DocTestMatches correctly handles unicode output from examples, rather than raising an error. (Martin [gz], #764170)
* ErrorHolder and PlaceHolder added to docs. (Jonathan Lange, [#816597])
* ExpectedException now matches any exception of the given type by default, and also allows specifying a Matcher rather than a mere regular expression. (Jonathan Lange, #791889)
* FixtureSuite added, allows test suites to run with a given fixture. (Jonathan Lange)
* Hide testtools\'s own stack frames when displaying tracebacks, making it easier for test authors to focus on their errors. (Jonathan Lange, Martin [gz], #788974)
* Less boilerplate displayed in test failures and errors. (Jonathan Lange, [#660852])
* MatchesException now allows you to match exceptions against any matcher, rather than just regular expressions. (Jonathan Lange, #791889)
* MatchesException now permits a tuple of types rather than a single type (when using the type matching mode). (Robert Collins)
* MatchesStructure.byEquality added to make the common case of matching many attributes by equality much easier. MatchesStructure.byMatcher added in case folk want to match by things other than equality. (Jonathan Lange)
* New convenience assertions, assertIsNone and assertIsNotNone. (Christian Kampka)
* New matchers:
* AllMatch matches many values against a single matcher. (Jonathan Lange, #615108)
* Contains. (Robert Collins)
* GreaterThan. (Christian Kampka)
* New helper, safe_hasattr added. (Jonathan Lange)
* reraise added to testtools.compat. (Jonathan Lange)- 0.9.11: - Changes
* TestCase now uses super to call base unittest.TestCase constructor, setUp and tearDown. (Tim Cole, #771508)
* If, when calling useFixture an error occurs during fixture set up, we still attempt to gather details from the fixture. (Gavin Panella) - Improvements
* Additional compat helper for BytesIO for libraries that build on testtools and are working on Python 3 porting. (Robert Collins)
* Corrected documentation for MatchesStructure in the test authors document. (Jonathan Lange)
* LessThan error message now says something that is logically correct. (Gavin Panella, #762008)
* Multiple details from a single fixture are now kept separate, rather than being mooshed together. (Gavin Panella, #788182)
* Python 3 support now back in action. (Martin [gz], #688729)
* try_import and try_imports have a callback that is called whenever they fail to import a module. (Martin Pool)
* Sat Apr 16 2011 jfunkAATTfunktronics.ca- Initial release