python-testtools/python-testtools.changes

905 lines
39 KiB
Plaintext

-------------------------------------------------------------------
Mon Sep 23 14:06:48 UTC 2024 - Markéta Machová <mmachova@suse.com>
- Update to 2.7.2
* Treat methodName="runTest" similar to unittest.TestCase,
fixes compatibility with pytest 8.3. (Natanael Copa, #372)
* Use ruff for linting. (Jelmer Vernooij)
* Fix compatibility with Python 3.12.1. (Matthew Treinish)
* Deprecate SkippedTest exception. (Stephen Finucane)
* Drop support for Python 3.7. (Jelmer Vernooij)
- Drop merged pytest82.patch
- Add upstream twisted.patch to fix tests with new Twisted
-------------------------------------------------------------------
Fri May 17 14:07:33 UTC 2024 - Markéta Machová <mmachova@suse.com>
- Add pytest82.patch to fix functionality with the new pytest.
-------------------------------------------------------------------
Wed May 8 06:42:24 UTC 2024 - Steve Kowalik <steven.kowalik@suse.com>
- Drop the now unneeded rpmlintrc.
- Clean up BuildRequires and Requires to match reality.
- Add missing _multibuild file.
-------------------------------------------------------------------
Sat Dec 30 20:31:27 UTC 2023 - Dirk Müller <dmueller@suse.com>
- update to 2.7.1:
* Remove various unused imports.
* Fix build backend. This should prevent version from being set
when building wheels.
* Fix compatibility with Python 3.12.
* Add typing in various modules (still lacking full coverage).
* Drop the 'test' command for distutils. This has been
deprecated since 2.6.0. (Jelmer Vernooij)
* Drop support for Python 3.6.
-------------------------------------------------------------------
Thu May 4 21:18:15 UTC 2023 - Dirk Müller <dmueller@suse.com>
- update to 2.6.0:
* Add support for Python 3.10 and 3.11.
* Drop support for Python 3.5 (EOL).
* Use ``CompoundFixture`` from ``fixtures>=2.0`` rather than
rolling our own.
* Make ``TestCase`` hashable.
* Prevent ``AttributeError`` in ``TestCase.__eq__`` for objects
lacking a ``__dict__`` attribute.
* Replace deprecated ``cgi`` module usage with ``email``.
-------------------------------------------------------------------
Fri Apr 21 12:37:23 UTC 2023 - Dirk Müller <dmueller@suse.com>
- add sle15_python_module_pythons (jsc#PED-68)
-------------------------------------------------------------------
Thu Apr 13 22:45:22 UTC 2023 - Matej Cepl <mcepl@suse.com>
- Make calling of %{sle15modernpython} optional.
-------------------------------------------------------------------
Mon Nov 21 14:19:47 UTC 2022 - Matej Cepl <mcepl@suse.com>
- Skip rpmlint error python-tests-in-package.
-------------------------------------------------------------------
Fri Nov 11 13:31:42 UTC 2022 - pgajdos@suse.com
- silent rpmlint
-------------------------------------------------------------------
Fri Nov 11 11:10:03 UTC 2022 - pgajdos@suse.com
- python-six is not required
-------------------------------------------------------------------
Sat Oct 16 19:29:27 UTC 2021 - Dirk Müller <dmueller@suse.com>
- update to 2.5.0:
* Update testtools/compat.py
* Note Python 3.5 is EOL and will be dropped after the next release
* Fix for Python 3.10
* Add python 3.10 to ci configuration
* testtools.compat: provide BytesIO, StringIO again
* Add support for Python 3.9
* Update and simplify workflow
* Fix UserWarning: Usage of dash-separated ...
* Fix tests with Python 3.10
* Remove mimeparse dependency
* trivial: Cleanup imports
* Re-introduce 'try\_imports'
* Remove use of 'try\_imports'
* tox: Don't skip sdist
* Remove use of 'safe\_hasattr'
* NEWS: Add note about unittest2 removal
* Fix github actions
* Update testtools/content.py
* Update tox.ini
* Update github actions config to use release 3.9
* Drop traceback2 in favor of traceback and remove unused linecache2
* Update tox.ini
* Add tox.ini file
* Remove tox.ini file
* restore testtools/tests/test\_testcase.py
* Remove unittest2 from setup.cfg and add tox.ini file
* Remove unrelated change
* Restore test\_spinner.py
* Remove unused try\_import
* Test on Python 3.9-dev
* Compare items using sets instead of sequences
* Add implementation for legacy assertItemsEqual existing in unittest2 library
* Do actually remove all references to unittest2 library
* Remove the travis config
* Add back travis config
* Update testtools/testcase.py
* Limit use of unittest2 to old Python versions
* Fix syntax error test for Python 3.9
* Remove Travis CI config
* Test on GitHub Actions
* Remove stray six import
* Testtools 2.4.0 is the last to support Python 2.7
- remove python-testtools-no-unittest2.patch (upstream)
-------------------------------------------------------------------
Thu Jun 11 08:21:52 UTC 2020 - pgajdos@suse.com
- move testsuite run to main package, remove -doc
- added patches
unittest2 is not neccessary to run testsuite
+ python-testtools-no-unittest2.patch
-------------------------------------------------------------------
Tue Jun 9 09:31:13 UTC 2020 - pgajdos@suse.com
- remove unittest2 runtime dependency
-------------------------------------------------------------------
Mon Mar 16 10:57:59 UTC 2020 - Dirk Mueller <dmueller@suse.com>
- update to 2.4.0:
* Release 2.4.0
* Add myself to contributors list
* Add support for Python 3.7 and 3.8
* Cache pip directory
* Test CI on PyPy3
* Tell pip not to install for Python 3.4
* Drop support for EOL Python 3.4
* Extra space expected in PyPy output
* PyCharm IDE unittest detection compatibility fix
* Don't use eval()
* Fix the tests on Python 3.7
* Drop support for EOL Python 3.3
* Ignore IDE metadata
* Update classifiers
* Remove old Python 2.6 code
* Spelling fixes (#261)
* Python 3.6 invalid escape sequence deprecation fixes (#262)
- remove testtools-py37.patch: merged upstream
-------------------------------------------------------------------
Mon Oct 14 16:47:02 CEST 2019 - Matej Cepl <mcepl@suse.com>
- Replace %fdupes -s with plain %fdupes; hardlinks are better.
-------------------------------------------------------------------
Fri Aug 10 11:27:08 UTC 2018 - tchvatal@suse.com
- Add patch to build with python 3.7:
* testtools-py37.patch
-------------------------------------------------------------------
Thu Mar 8 10:17:39 UTC 2018 - aplanas@suse.com
- Allows Recommends and Suggest in Fedora
-------------------------------------------------------------------
Tue Feb 27 18:29:42 UTC 2018 - aplanas@suse.com
- Recommends only for SUSE
-------------------------------------------------------------------
Tue Jul 4 04:07:32 UTC 2017 - tbechtold@suse.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 08:08:02 UTC 2017 - tbechtold@suse.com
- Revert "Require python-unittest2 only for python2". We have now
a python3-unittest2 package which should be used.
-------------------------------------------------------------------
Mon May 22 06:27:28 UTC 2017 - tbechtold@suse.com
- Require python-unittest2 only for python2
-------------------------------------------------------------------
Fri Apr 14 16:39:38 UTC 2017 - toddrme2178@gmail.com
- Change fixtures dependency to "Recommends". It is not a hard
dependency becauses it causes dependency loops.
-------------------------------------------------------------------
Sat Apr 8 19:29:56 UTC 2017 - toddrme2178@gmail.com
- Split documentation and tests into separate .spec file to avoid
dependency cycle with python-extras/python-testrepositories.
-------------------------------------------------------------------
Sun Apr 2 09:48:51 UTC 2017 - aloisio@gmx.com
- Converted to single-spec
- Added doc subpackage
-------------------------------------------------------------------
Mon Feb 27 07:31:26 UTC 2017 - shshyukriev@suse.com
- BuildRequires also using extras>=1.0.0
-------------------------------------------------------------------
Thu Sep 1 12:43:29 UTC 2016 - tbechtold@suse.com
- Use pypi.io as Source url
-------------------------------------------------------------------
Tue Aug 30 11:41:55 UTC 2016 - tbechtold@suse.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 1 22:48:47 UTC 2014 - dmueller@suse.com
- fix typo in last change
-------------------------------------------------------------------
Mon Dec 1 17:04:18 UTC 2014 - rhafer@suse.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 06:17:46 UTC 2014 - tbechtold@suse.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 12:31:27 UTC 2014 - dmueller@suse.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 13:44:49 UTC 2014 - dmueller@suse.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 16:48:32 UTC 2013 - p.drouand@gmail.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 8 13:47:56 UTC 2013 - speilicke@suse.com
- Revert back
-------------------------------------------------------------------
Thu Aug 8 13:22:20 UTC 2013 - speilicke@suse.com
- Totally disable testing to bootstrap ppc64. Actually the build conditional is
supposed to do just that.
-------------------------------------------------------------------
Tue Jun 25 11:35:04 UTC 2013 - speilicke@suse.com
- Introduce a build conditional for running tests to break build cycle
with python-extras
-------------------------------------------------------------------
Fri Jun 21 08:21:16 UTC 2013 - speilicke@suse.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 6 11:25:43 UTC 2013 - dmueller@suse.com
- add python-mmimeparse dependency
-------------------------------------------------------------------
Tue Apr 23 09:33:35 UTC 2013 - p.drouand@gmail.com
- Fix source URL; packages are available on https://pypi.python.org
-------------------------------------------------------------------
Mon Apr 22 16:45:07 UTC 2013 - dmueller@suse.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 11:49:26 UTC 2013 - p.drouand@gmail.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 16:43:28 UTC 2013 - p.drouand@gmail.com
- Initial python3 support
-------------------------------------------------------------------
Mon Jan 14 12:38:00 UTC 2013 - saschpe@suse.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 6 11:00:37 UTC 2012 - saschpe@suse.de
- Cleanup spec file
- Install HTML documentation
-------------------------------------------------------------------
Tue Nov 13 22:06:50 UTC 2012 - jfunk@funktronics.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 21:20:46 UTC 2012 - jfunk@funktronics.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 19:39:22 UTC 2012 - jfunk@funktronics.ca
- Update to 0.9.14:
* Our sister project, subunit <https://launchpad.net/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 20:52:09 UTC 2011 - jfunk@funktronics.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 "<value> does not match /<regex>/"
rather than "<regex> did not match <value>". 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 18:51:17 UTC 2011 - jfunk@funktronics.ca
- Initial release