[Python-modules-commits] [python-testfixtures] 01/07: importing python-testfixtures_4.13.3.orig.tar.gz

Michael Fladischer fladi at moszumanska.debian.org
Sat Jan 28 15:40:03 UTC 2017


This is an automated email from the git hooks/post-receive script.

fladi pushed a commit to branch master
in repository python-testfixtures.

commit bdb10da94ce984ae8dd3926ee24f256b869e0b73
Author: Michael Fladischer <FladischerMichael at fladi.at>
Date:   Thu Jan 26 17:39:23 2017 +0100

    importing python-testfixtures_4.13.3.orig.tar.gz
---
 .coveragerc                                 |   22 +
 .gitignore                                  |   22 +
 .travis.yml                                 |   32 +
 LICENSE.txt                                 |   22 +
 README.rst                                  |   18 +
 docs/Makefile                               |   78 ++
 docs/api.txt                                |  308 ++++++
 docs/changes.txt                            |  700 ++++++++++++++
 docs/comparing.txt                          |  898 ++++++++++++++++++
 docs/components.txt                         |   70 ++
 docs/conf.py                                |   38 +
 docs/datetime.txt                           |  480 ++++++++++
 docs/description.txt                        |   47 +
 docs/development.txt                        |   66 ++
 docs/exceptions.txt                         |  139 +++
 docs/files.txt                              |  649 +++++++++++++
 docs/index.txt                              |   49 +
 docs/installation.txt                       |   30 +
 docs/license.txt                            |    5 +
 docs/logging.txt                            |  431 +++++++++
 docs/make.bat                               |  100 ++
 docs/mocking.txt                            |  414 ++++++++
 docs/popen.txt                              |  133 +++
 docs/streams.txt                            |   98 ++
 docs/utilities.txt                          |  170 ++++
 docs/warnings.txt                           |   90 ++
 requirements.txt                            |    1 +
 setup.cfg                                   |    2 +
 setup.py                                    |   44 +
 testfixtures/__init__.py                    |   28 +
 testfixtures/comparison.py                  |  725 ++++++++++++++
 testfixtures/compat.py                      |   54 ++
 testfixtures/components.py                  |   45 +
 testfixtures/logcapture.py                  |  201 ++++
 testfixtures/manuel.py                      |   94 ++
 testfixtures/outputcapture.py               |   78 ++
 testfixtures/popen.py                       |  141 +++
 testfixtures/replace.py                     |  140 +++
 testfixtures/resolve.py                     |   44 +
 testfixtures/rmtree.py                      |   66 ++
 testfixtures/shouldraise.py                 |   97 ++
 testfixtures/shouldwarn.py                  |   55 ++
 testfixtures/tdatetime.py                   |  223 +++++
 testfixtures/tempdirectory.py               |  401 ++++++++
 testfixtures/tests/__init__.py              |    4 +
 testfixtures/tests/compat.py                |   58 ++
 testfixtures/tests/configparser-read.txt    |   45 +
 testfixtures/tests/configparser-write.txt   |   43 +
 testfixtures/tests/directory-contents.txt   |   32 +
 testfixtures/tests/sample1.py               |   70 ++
 testfixtures/tests/sample2.py               |   19 +
 testfixtures/tests/test_compare.py          | 1372 +++++++++++++++++++++++++++
 testfixtures/tests/test_comparison.py       |  742 +++++++++++++++
 testfixtures/tests/test_components.py       |   45 +
 testfixtures/tests/test_date.py             |  246 +++++
 testfixtures/tests/test_datetime.py         |  356 +++++++
 testfixtures/tests/test_diff.py             |   54 ++
 testfixtures/tests/test_docs.py             |   26 +
 testfixtures/tests/test_generator.py        |   21 +
 testfixtures/tests/test_log_capture.py      |  233 +++++
 testfixtures/tests/test_logcapture.py       |  384 ++++++++
 testfixtures/tests/test_manuel.py           |  235 +++++
 testfixtures/tests/test_manuel_examples.py  |   35 +
 testfixtures/tests/test_outputcapture.py    |   76 ++
 testfixtures/tests/test_popen.py            |  395 ++++++++
 testfixtures/tests/test_popen_docs.py       |  140 +++
 testfixtures/tests/test_rangecomparison.py  |  189 ++++
 testfixtures/tests/test_replace.py          |  455 +++++++++
 testfixtures/tests/test_replacer.py         |  203 ++++
 testfixtures/tests/test_roundcomparison.py  |  155 +++
 testfixtures/tests/test_should_raise.py     |  292 ++++++
 testfixtures/tests/test_shouldwarn.py       |  119 +++
 testfixtures/tests/test_stringcomparison.py |   52 +
 testfixtures/tests/test_tempdir.py          |  112 +++
 testfixtures/tests/test_tempdirectory.py    |  411 ++++++++
 testfixtures/tests/test_time.py             |  185 ++++
 testfixtures/tests/test_wrap.py             |  236 +++++
 testfixtures/utils.py                       |   65 ++
 testfixtures/version.txt                    |    1 +
 79 files changed, 14654 insertions(+)

diff --git a/.coveragerc b/.coveragerc
new file mode 100644
index 0000000..5a84279
--- /dev/null
+++ b/.coveragerc
@@ -0,0 +1,22 @@
+[run]
+branch = True
+parallel = True
+
+[report]
+exclude_lines = 
+  # the original exclude
+  pragma: no cover
+
+  # code executed only when tests fail
+  'No exception raised!'
+  self\.fail\('Expected
+
+  # example code that we don't want to cover with pragma statements
+  guppy =
+
+[paths]
+src = 
+  ./testfixtures/
+  C:\Jenkins\workspace\testfixtures-virtualenv\*\testfixtures
+  /var/lib/jenkins/slave/workspace/testfixtures-virtualenv/*/testfixtures
+  /Users/Shared/Jenkins/Home/workspace/testfixtures-virtualenv/*/testfixtures
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..0a1fdb0
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,22 @@
+/.installed.cfg
+/bin/
+/develop-eggs
+/dist
+/docs/_build
+/eggs
+/*.egg-info/
+/parts/
+*.pyc
+/.coverage
+/*.xml
+/.tox
+/htmlcov
+/include
+/lib
+/local
+/man
+/.Python
+.noseids
+desc.html
+pip-selfcheck.json
+.coverage.*
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..ad19bfb
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,32 @@
+language: python
+
+# for container-y googdness:
+sudo: false
+
+python:
+  - "3.5"
+  - "3.4"
+  - "3.3"
+  - "2.7"
+
+# command to install dependencies
+install: "pip install -Ue .[test,build]"
+
+# command to run tests, e.g. python setup.py test
+script: nosetests --with-cov --cov=testfixtures
+
+after_success:
+  - coverage combine
+  - coveralls
+
+deploy:
+  provider: pypi
+  user: chrisw
+  password:
+    secure: QrmUWPegJzGIYGI8XGY7ztjHTbpMgVDLNV6f9fjjAoo8efOubJh/BASjWD3ESPlIo1j5tGCcSRP2MN1+30zBxq7a7oiCnthISx42DP6Ih+wLHFCu7uBm12AH96hIOQUAtQotNSwB9dJAJIKKom7xkrV/nStjbcqC7hosTZlTy6o=
+  on:
+    tags: true
+    repo: Simplistix/testfixtures
+    python: "3.4"
+  skip_cleanup: true
+  distributions: "sdist bdist_wheel"
diff --git a/LICENSE.txt b/LICENSE.txt
new file mode 100644
index 0000000..63df5fd
--- /dev/null
+++ b/LICENSE.txt
@@ -0,0 +1,22 @@
+Copyright (c) 2008-2015 Simplistix Ltd
+Copyright (c) 2015-2016 Chris Withers
+
+Permission is hereby granted, free of charge, to any person 
+obtaining a copy of this software and associated documentation 
+files (the "Software"), to deal in the Software without restriction, 
+including without limitation the rights to use, copy, modify, merge, 
+publish, distribute, sublicense, and/or sell copies of the Software, 
+and to permit persons to whom the Software is furnished to do so, 
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be 
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 
+OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS 
+BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 
+ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 
+SOFTWARE.
diff --git a/README.rst b/README.rst
new file mode 100644
index 0000000..0a06a7a
--- /dev/null
+++ b/README.rst
@@ -0,0 +1,18 @@
+|Travis|_ |Coveralls|_ |Docs|_
+
+.. |Travis| image:: https://api.travis-ci.org/Simplistix/testfixtures.svg?branch=master
+.. _Travis: https://travis-ci.org/Simplistix/testfixtures
+
+.. |Coveralls| image:: https://coveralls.io/repos/Simplistix/testfixtures/badge.svg?branch=master
+.. _Coveralls: https://coveralls.io/r/Simplistix/testfixtures?branch=master
+
+.. |Docs| image:: https://readthedocs.org/projects/testfixtures/badge/?version=latest
+.. _Docs: http://testfixtures.readthedocs.org/en/latest/
+
+
+TestFixtures
+============
+
+TestFixtures is a collection of helpers and mock objects that are useful when
+writing unit tests or doc tests.
+
diff --git a/docs/Makefile b/docs/Makefile
new file mode 100644
index 0000000..1de0715
--- /dev/null
+++ b/docs/Makefile
@@ -0,0 +1,78 @@
+# Makefile for Sphinx documentation
+#
+
+# You can set these variables from the command line.
+SPHINXOPTS    =
+SPHINXBUILD   ?= sphinx-build
+PAPER         =
+
+# Internal variables.
+PAPEROPT_a4     = -D latex_paper_size=a4
+PAPEROPT_letter = -D latex_paper_size=letter
+ALLSPHINXOPTS   = -d _build/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
+
+.PHONY: help clean html dirhtml pickle json htmlhelp qthelp latex changes linkcheck doctest
+
+help:
+	@echo "Please use \`make <target>' where <target> is one of"
+	@echo "  html      to make standalone HTML files"
+	@echo "  dirhtml   to make HTML files named index.html in directories"
+	@echo "  pickle    to make pickle files"
+	@echo "  json      to make JSON files"
+	@echo "  htmlhelp  to make HTML files and a HTML help project"
+	@echo "  latex     to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
+	@echo "  changes   to make an overview of all changed/added/deprecated items"
+	@echo "  linkcheck to check all external links for integrity"
+	@echo "  doctest   to run all doctests embedded in the documentation (if enabled)"
+
+clean:
+	-rm -rf _build/*
+
+html:
+	$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) _build/html
+	@echo
+	@echo "Build finished. The HTML pages are in _build/html."
+
+dirhtml:
+	$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) _build/dirhtml
+	@echo
+	@echo "Build finished. The HTML pages are in _build/dirhtml."
+
+pickle:
+	$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) _build/pickle
+	@echo
+	@echo "Build finished; now you can process the pickle files."
+
+json:
+	$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) _build/json
+	@echo
+	@echo "Build finished; now you can process the JSON files."
+
+htmlhelp:
+	$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) _build/htmlhelp
+	@echo
+	@echo "Build finished; now you can run HTML Help Workshop with the" \
+	      ".hhp project file in _build/htmlhelp."
+
+latex:
+	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) _build/latex
+	@echo
+	@echo "Build finished; the LaTeX files are in _build/latex."
+	@echo "Run \`make all-pdf' or \`make all-ps' in that directory to" \
+	      "run these through (pdf)latex."
+
+changes:
+	$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) _build/changes
+	@echo
+	@echo "The overview file is in _build/changes."
+
+linkcheck:
+	$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) _build/linkcheck
+	@echo
+	@echo "Link check complete; look for any errors in the above output " \
+	      "or in _build/linkcheck/output.txt."
+
+doctest:
+	$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) _build/doctest
+	@echo "Testing of doctests in the sources finished, look at the " \
+	      "results in _build/doctest/output.txt."
diff --git a/docs/api.txt b/docs/api.txt
new file mode 100644
index 0000000..463ec46
--- /dev/null
+++ b/docs/api.txt
@@ -0,0 +1,308 @@
+API Reference
+=============
+
+.. currentmodule:: testfixtures
+
+.. autoclass:: Comparison
+
+.. autoclass:: LogCapture
+   :members:
+
+.. autoclass:: OutputCapture
+   :members:
+
+.. autoclass:: Replace
+   :members:
+
+.. autoclass:: Replacer
+   :members:
+
+.. autofunction:: replace
+
+.. autoclass:: RoundComparison
+   :members:
+
+.. autoclass:: RangeComparison
+   :members:
+
+.. autoclass:: ShouldRaise
+   :members:
+
+.. autoclass:: ShouldWarn
+   :members:
+
+.. autoclass:: ShouldNotWarn
+   :members:
+
+.. autoclass:: StringComparison
+   :members:
+
+.. autoclass:: TempDirectory
+   :members:
+
+.. autofunction:: compare(x, y, prefix=None, suffix=None, raises=True, recursive=True, strict=False, comparers=None, **kw)
+
+.. autofunction:: testfixtures.comparison.register
+
+.. autofunction:: testfixtures.comparison.compare_simple
+
+.. autofunction:: testfixtures.comparison.compare_with_type
+
+.. autofunction:: testfixtures.comparison.compare_sequence
+
+.. autofunction:: testfixtures.comparison.compare_generator
+
+.. autofunction:: testfixtures.comparison.compare_tuple
+
+.. autofunction:: testfixtures.comparison.compare_dict
+
+.. autofunction:: testfixtures.comparison.compare_set
+
+.. autofunction:: testfixtures.comparison.compare_text
+
+.. autofunction:: diff
+
+.. autofunction:: generator
+
+.. autofunction:: log_capture
+
+.. autoclass:: should_raise
+
+.. autofunction:: tempdir
+
+.. function:: test_date(year=2001, month=1, day=1, delta=None, delta_type='days', strict=False)
+
+   A function that returns a mock object that can be used in place of
+   the :class:`datetime.date` class but where the return value of
+   :meth:`~datetime.date.today` can be controlled.
+
+   If a single positional argument of ``None`` is passed, then the
+   queue of dates to be returned will be empty and you will need to
+   call :meth:`~tdate.set` or :meth:`~tdate.add` before calling
+   :meth:`~tdate.today`.
+
+   :param year: An optional year used to create the first date returned by
+                :meth:`~datetime.date.today`.
+
+   :param month: An optional month used to create the first date returned by
+                :meth:`~datetime.date.today`.
+
+   :param day: An optional day used to create the first date returned by
+                :meth:`~datetime.date.today`.
+
+   :param delta: The size of the delta to use between values returned
+                 from :meth:`~datetime.date.today`. If not specified,
+                 it will increase by 1 with each call to
+                 :meth:`~datetime.date.today`.
+ 
+   :param delta_type: The type of the delta to use between values returned
+                      from :meth:`~datetime.date.today`. This can be
+                      any keyword parameter accepted by the
+                      :class:`~datetime.timedelta` constructor.
+
+   :param strict: If ``True``, calling the mock class and any of its
+                  methods will result in an instance of the mock
+                  being returned. If ``False``, the default, an
+                  instance of :class:`~datetime.date` will be returned
+                  instead.
+
+   The mock returned will behave exactly as the :class:`datetime.date`
+   class with the exception of the following members:
+   
+   .. method:: tdate.add(*args, **kw)
+
+     This will add the :class:`datetime.date` created from the
+     supplied parameters to the queue of dates to be returned by
+     :meth:`~datetime.date.today`.  An instance
+     of :class:`~datetime.date` may also be passed as a single
+     positional argument.
+
+   .. method:: tdate.set(*args, **kw)
+
+     This will set the :class:`datetime.date` created from the
+     supplied parameters as the next date to be returned by
+     :meth:`~datetime.date.today`, regardless of any dates in the
+     queue.   An instance
+     of :class:`~datetime.date` may also be passed as a single
+     positional argument.
+
+   .. classmethod:: tdate.today()
+
+     This will return the next supplied or calculated date from the
+     internal queue, rather than the actual current date.
+
+.. function:: test_datetime(year=2001, month=1, day=1, hour=0, minute=0, second=0, microsecond=0,tzinfo=None, delta=None, delta_type='seconds', date_type=datetime.date, strict=False)
+
+   A function that returns a mock object that can be used in place of
+   the :class:`datetime.datetime` class but where the return value of
+   :meth:`~tdatetime.now` can be controlled.
+
+   If a single positional argument of ``None`` is passed, then the
+   queue of datetimes to be returned will be empty and you will need to
+   call :meth:`~tdatetime.set` or :meth:`~tdatetime.add` before calling
+   :meth:`~tdatetime.now` or :meth:`~tdatetime.utcnow`.
+
+   :param year: An optional year used to create the first datetime returned by
+                :meth:`~tdatetime.now`.
+
+   :param month: An optional month used to create the first datetime returned by
+                :meth:`~tdatetime.now`.
+
+   :param day: An optional day used to create the first datetime returned by
+                :meth:`~tdatetime.now`.
+
+   :param hour: An optional hour used to create the first datetime returned by
+                :meth:`~tdatetime.now`.
+
+   :param minute: An optional minute used to create the first datetime returned by
+                :meth:`~tdatetime.now`.
+
+   :param second: An optional second used to create the first datetime returned by
+                :meth:`~tdatetime.now`.
+
+   :param microsecond: An optional microsecond used to create the first datetime returned by
+                :meth:`~tdatetime.now`.
+
+   :param tzinfo: An optional tzinfo that will be used to indicate the
+                timezone intended for the values returned by
+                returned by :meth:`~tdatetime.now`. It will be used to
+                correctly calculate return values when `tz` is passed
+                to :meth:`~tdatetime.now` and when
+                :meth:`~tdatetime.utcnow` is called.
+
+   :param delta: The size of the delta to use between values returned
+                 from :meth:`~tdatetime.now`. If not specified,
+                 it will increase by 1 with each call to
+                 :meth:`~tdatetime.now`.
+ 
+   :param delta_type: The type of the delta to use between values returned
+                      from :meth:`~tdatetime.now`. This can be
+                      any keyword parameter accepted by the
+                      :class:`~datetime.timedelta` constructor.
+
+   :param date_type: The type to use for the return value of the
+                     :meth:`~datetime.datetime.date` method. This can
+                     help with gotchas that occur when type checking
+                     if performed on values returned by the mock's
+                     :meth:`~datetime.datetime.date` method.
+
+   :param strict: If ``True``, calling the mock class and any of its
+                  methods will result in an instance of the mock
+                  being returned. If ``False``, the default, an
+                  instance of :class:`~datetime.datetime` will be
+                  returned instead.
+
+   The mock returned will behave exactly as the :class:`datetime.datetime`
+   class with the exception of the following members:
+   
+   .. method:: tdatetime.add(*args, **kw)
+
+     This will add the :class:`datetime.datetime` created from the
+     supplied parameters to the queue of datetimes to be returned by
+     :meth:`~tdatetime.now` or :meth:`~tdatetime.utcnow`. An instance
+     of :class:`~datetime.datetime` may also be passed as a single
+     positional argument.
+
+   .. method:: tdatetime.set(*args, *kw)
+
+     This will set the :class:`datetime.datetime` created from the
+     supplied parameters as the next datetime to be returned by
+     :meth:`~tdatetime.now` or :meth:`~tdatetime.utcnow`, clearing out
+     any datetimes in the queue.  An instance
+     of :class:`~datetime.datetime` may also be passed as a single
+     positional argument.
+
+   .. classmethod:: tdatetime.now([tz])
+
+     :param tz: An optional timezone to apply to the returned time.
+                If supplied, it must be an instance of a 
+                :class:`~datetime.tzinfo` subclass.
+
+     This will return the next supplied or calculated datetime from the
+     internal queue, rather than the actual current datetime.
+
+     If `tz` is supplied, it will be applied to the datetime that
+     would have have been returned from the internal queue, treating
+     that datetime as if it were in the UTC timezone.
+
+   .. classmethod:: tdatetime.utcnow()
+
+     This will return the next supplied or calculated datetime from the
+     internal queue, rather than the actual current UTC datetime.
+
+     No timezone will be applied, even that supplied to the constructor.
+
+   .. classmethod:: tdatetime.date()
+
+     This will return the date component of the current mock instance,
+     but using the date type supplied when the mock class was created.
+
+.. function:: test_time(year=2001, month=1, day=1, hour=0, minute=0, second=0, microsecond=0, tzinfo=None, delta=None, delta_type='seconds')
+
+   A function that returns a mock object that can be used in place of
+   the :class:`time.time` function but where the return value can be
+   controlled.
+
+   If a single positional argument of ``None`` is passed, then the
+   queue of times to be returned will be empty and you will need to
+   call :meth:`~ttime.set` or :meth:`~ttime.add` before calling
+   the mock.
+
+   :param year: An optional year used to create the first time returned.
+
+   :param month: An optional month used to create the first time.
+
+   :param day: An optional day used to create the first time.
+
+   :param hour: An optional hour used to create the first time.
+
+   :param minute: An optional minute used to create the first time.
+
+   :param second: An optional second used to create the first time.
+
+   :param microsecond: An optional microsecond used to create the first time.
+
+   :param delta: The size of the delta to use between values returned.
+                 If not specified, it will increase by 1 with each
+                 call to the mock.
+ 
+   :param delta_type: The type of the delta to use between values
+                      returned.  This can be
+                      any keyword parameter accepted by the
+                      :class:`~datetime.timedelta` constructor.
+
+   The mock additionally has the following methods available on it:
+   
+   .. method:: ttime.add(*args, **kw)
+
+     This will add the time specified by the supplied parameters to the
+     queue of times to be returned by calls to the mock. The
+     parameters are the same as the :class:`datetime.datetime`
+     constructor. An instance of :class:`~datetime.datetime` may also
+     be passed as a single positional argument.
+
+   .. method:: ttime.set(*args, **kw)
+
+     This will set the time specified by the supplied parameters as
+     the next time to be returned by a call to the mock, regardless of
+     any times in the queue.  The parameters are the same as the
+     :class:`datetime.datetime` constructor.  An instance of
+     :class:`~datetime.datetime` may also be passed as a single
+     positional argument.
+
+.. autofunction:: wrap
+
+.. autoclass:: testfixtures.components.TestComponents
+   :members:
+
+.. autoclass:: testfixtures.manuel.Files
+
+.. data:: not_there
+
+   A singleton used to represent the absence of a particular attribute.
+
+.. currentmodule:: testfixtures.popen
+
+.. autoclass:: testfixtures.popen.MockPopen
+   :members:
+
diff --git a/docs/changes.txt b/docs/changes.txt
new file mode 100644
index 0000000..9e311f0
--- /dev/null
+++ b/docs/changes.txt
@@ -0,0 +1,700 @@
+Changes
+=======
+
+.. currentmodule:: testfixtures
+
+4.13.3 (13 December 2016)
+-------------------------
+
+- :func:`compare` now better handled equality comparison with ``ignore_eq=True``
+  when either of the objects being compared cannot be hashed.
+
+4.13.2 (16 November 2016)
+-------------------------
+
+- Fixed a bug where a :class:`LogCapture` wouldn't be cleared when used via
+  :func:`log_capture` on a base class and sub class execute the same test.
+
+Thanks to "mlabonte" for the bug report.
+
+4.13.1 (2 November 2016)
+------------------------
+
+- When ``ignore_eq`` is used with :func:`compare`, fall back to comparing by
+  hash if not type-specific comparer can be found.
+
+4.13.0 (2 November 2016)
+------------------------
+
+- Add support to :func:`compare` for ignoring broken ``__eq__`` implementations.
+
+4.12.0 (18 October 2016)
+------------------------
+
+- Add support for specifying a callable to extract rows from log records
+  when using :class:`LogCapture`.
+
+- Add support for recursive comparison of log messages with :class:`LogCapture`.
+
+4.11.0 (12 October 2016)
+-------------------------
+
+- Allow the attributes returned in :meth:`LogCapture.actual` rows to be
+  specified.
+
+- Allow a default to be specified for encoding in :meth:`TempDirectory.read` and
+  :meth:`TempDirectory.write`.
+
+4.10.1 (5 September 2016)
+-------------------------
+
+- Better docs for :meth:`TempDirectory.compare`.
+
+- Remove the need for expected paths supplied to :meth:`TempDirectory.compare`
+  to be in sorted order.
+
+- Document a good way of restoring ``stdout`` when in a debugger.
+
+- Fix handling of trailing slashes in :meth:`TempDirectory.compare`.
+
+Thanks to Maximilian Albert for the :meth:`TempDirectory.compare` docs.
+
+4.10.0 (17 May 2016)
+--------------------
+
+- Fixed examples in documentation broken in 4.5.1.
+
+- Add :class:`RangeComparison` for comparing against values that fall in a
+  range.
+
+- Add :meth:`~popen.MockPopen.set_default` to :class:`~popen.MockPopen`.
+
+Thanks to Asaf Peleg for the :class:`RangeComparison` implementation.
+
+4.9.1 (19 February 2016)
+------------------------
+
+- Fix for use with PyPy, broken since 4.8.0.
+
+Thanks to Nicola Iarocci for the pull request to fix.
+
+4.9.0 (18 February 2016)
+------------------------
+
+- Added the `suffix` parameter to :func:`compare` to allow failure messages
+  to include some additional context.
+
+- Update package metadata to indicate Python 3.5 compatibility.
+
+Thanks for Felix Yan for the metadata patch.
+
+Thanks to Wim Glenn for the suffix patch.
+
+4.8.0 (2 February 2016)
+-----------------------
+
+- Introduce a new :class:`Replace` context manager and make :class:`Replacer`
+  callable. This gives more succinct and easy to read mocking code.
+
+- Add :class:`ShouldWarn` and :class:`ShouldNotWarn` context managers.
+
+4.7.0 (10 December 2015)
+------------------------
+
+- Add the ability to pass ``raises=False`` to :func:`compare` to just get
+  and resulting message back rather than having an exception raised.
+
+4.6.0 (3 December 2015)
+------------------------
+
+- Fix a bug that mean symlinked directories would never show up when using
+  :meth:`TempDirectory.compare` and friends.
+
+- Add the ``followlinks`` parameter to :meth:`TempDirectory.compare` to
+  indicate that symlinked or hard linked directories should be recursed into
+  when using ``recursive=True``.
+
+4.5.1 (23 November 2015)
+------------------------
+
+- Switch from :class:`cStringIO` to :class:`StringIO` in :class:`OutputCapture`
+  to better handle unicode being written to `stdout` or `stderr`.
+
+Thanks to "tell-k" for the patch.
+
+4.5.0 (13 November 2015)
+------------------------
+
+- :class:`LogCapture`, :class:`OutputCapture` and :class:`TempDirectory` now
+  explicitly show what is expected versus actual when reporting differences.
+
+Thanks to Daniel Fortunov for the pull request.
+
+4.4.0 (1 November 2015)
+-----------------------
+
+- Add support for labelling the arguments passed to :func:`compare`.
+
+- Allow ``expected`` and ``actual`` keyword parameters to be passed to
+  :func:`compare`.
+
+- Fix ``TypeError: unorderable types`` when :func:`compare` found multiple
+  differences in sets and dictionaries on Python 3.
+
+- Add official support for Python 3.5.
+
+- Drop official support for Python 2.6.
+
+Thanks to Daniel Fortunov for the initial ideas for explicit ``expected`` and
+``actual`` support in :func:`compare`.
+
+4.3.3 (15 September 2015)
+-------------------------
+
+- Add wheel distribution to release.
+
+- Attempt to fix up various niggles from the move to Travis CI for doing
+  releases.
+
+4.3.2 (15 September 2015)
+-------------------------
+
+- Fix broken 4.3.1 tag.
+
+4.3.1 (15 September 2015)
+-------------------------
+
+- Fix build problems introduced by moving the build process to Travis CI.
+
+4.3.0 (15 September 2015)
+-------------------------
+
+- Add :meth:`TempDirectory.compare` with a cleaner, more explicit API that
+  allows comparison of only the files in a temporary directory.
+
+- Deprecate :meth:`TempDirectory.check`, :meth:`TempDirectory.check_dir`
+  and :meth:`TempDirectory.check_all`
+
+- Relax absolute-path rules so that if it's inside the :class:`TempDirectory`,
+  it's allowed.
+
+- Allow :class:`OutputCapture` to separately check output to ``stdout`` and
+  ``stderr``.
+
+4.2.0 (11 August 2015)
+----------------------
+
+- Add :class:`~testfixtures.popen.MockPopen`, a mock helpful when testing
+  code that uses :class:`subprocess.Popen`.
+
+- :class:`ShouldRaise` now subclasses :class:`object`, so that subclasses of it
+  may use :meth:`super()`.
+
+- Drop official support for Python 3.2.
+
+Thanks to BATS Global Markets for donating the code for
+:class:`~testfixtures.popen.MockPopen`.
+
+4.1.2 (30 January 2015)
+-----------------------
+
+- Clarify documentation for ``name`` parameter to :class:`LogCapture`.
+
+- :class:`ShouldRaise` now shows different output when two exceptions have
+  the same representation but still differ.
+
+- Fix bug that could result in a :class:`dict` comparing equal to a
+  :class:`list`.
+
+Thanks to Daniel Fortunov for the documentation clarification.
+
+4.1.1 (30 October 2014)
+-------------------------
+
+- Fix bug that prevented logger propagation to be controlled by the
+  :class:`log_capture` decorator.
+
+Thanks to John Kristensen for the fix.
+
+4.1.0 (14 October 2014)
+-------------------------
+
+- Fix :func:`compare` bug when :class:`dict` instances with
+  :class:`tuple` keys were not equal.
+
+- Allow logger propagation to be controlled by :class:`LogCapture`.
+
+- Enabled disabled loggers if a :class:`LogCapture` is attached to them.
+
+Thanks to Daniel Fortunov for the :func:`compare` fix.
+
+4.0.2 (10 September 2014)
+-------------------------
+
+- Fix "maximum recursion depth exceeded" when comparing a string with
+  bytes that did not contain the same character.
+
+4.0.1 (4 August 2014)
+---------------------
+
+- Fix bugs when string compared equal and options to :func:`compare`
+  were used.
+
+- Fix bug when strictly comparing two nested structures containing
+  identical objects.
+
+4.0.0 (22 July 2014)
+--------------------
+
+- Moved from buildout to virtualenv for development.
+
+- The ``identity`` singleton is no longer needed and has been
+  removed.
+
+- :func:`compare` will now work recursively on data structures for
+  which it has registered comparers, giving more detailed feedback on
+  nested data structures. Strict comparison will also be applied
+  recursively.
+
+- Re-work the interfaces for using custom comparers with
+  :func:`compare`.
+
+- Better feedback when comparing :func:`collections.namedtuple`
+  instances.
+
+- Official support for Python 3.4.
+
+Thanks to Yevgen Kovalienia for the typo fix in :doc:`datetime`.
+
+3.1.0 (25 May 2014)
+-------------------
+
+- Added :class:`RoundComparison` helper for comparing numerics to a
+  specific precision.
+
+- Added ``unless`` parameter to :class:`ShouldRaise` to cover
+  some very specific edge cases.
+
+- Fix missing imports that showed up :class:`TempDirectory` had to do
+  the "convoluted folder delete" dance on Windows.
+
+Thanks to Jon Thompson for the :class:`RoundComparison` implementation.
+
+Thanks to Matthias Lehmann for the import error reports.
+
+3.0.2 (7 April 2014)
+--------------------
+
+- Document :attr:`ShouldRaise.raised` and make it part of the official
+  API. 
+
+- Fix rare failures when cleaning up :class:`TempDirectory` instances
+  on Windows.
+
+3.0.1 (10 June 2013)
+--------------------
+
+- Some documentation tweaks and clarifications.
+
+- Fixed a bug which masked exceptions when using :func:`compare` with
+  a broken generator.
+
+- Fixed a bug when comparing a generator with a non-generator.
+
+- Ensure :class:`LogCapture` cleans up global state it may effect.
+
+- Fixed replacement of static methods using a :class:`Replacer`.
+
+3.0.0 (5 March 2013)
+--------------------
+
+- Added compatibility with Python 3.2 and 3.3.
+
+- Dropped compatibility with Python 2.5.
+
+- Removed support for the following obscure uses of
+  :class:`should_raise`: 
+
+  .. code-block:: python
+
+    should_raise(x, IndexError)[1]
+    should_raise(x, KeyError)['x']
+
+- Dropped the `mode` parameter to :meth:`TempDirectory.read`. 
+
+- :meth:`TempDirectory.makedir` and :meth:`TempDirectory.write` no
+  longer accept a `path` parameter.
+  
+- :meth:`TempDirectory.read` and :meth:`TempDirectory.write` now
+  accept an `encoding` parameter to control how non-byte data is
+  decoded and encoded respectively.
+
+- Added the `prefix` parameter to :func:`compare` to allow failure
+  messages to be made more informative.
+
+- Fixed a problem when using sub-second deltas with :func:`test_time`.
+
+2.3.5 (13 August 2012)
+----------------------
+
+- Fixed a bug in :func:`~testfixtures.comparison.compare_dict` that
+  mean the list of keys that were the same was returned in an unsorted
+  order.
+
+2.3.4 (31 January 2012)
+-----------------------
+
+- Fixed compatibility with Python 2.5
+
+- Fixed compatibility with Python 2.7
+
+- Development model moved to continuous integration using Jenkins.
+
+- Introduced `Tox`__ based testing to ensure packaging and
+  dependencies are as expected.
+
+  __ http://tox.testrun.org/latest/
+
+- 100% line and branch coverage with tests.
+
+- Mark :class:`test_datetime`, :class:`test_date` and
+  :class:`test_time` such that nose doesn't mistake them as tests.
+
+2.3.3 (12 December 2011)
... 14216 lines suppressed ...

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/python-testfixtures.git



More information about the Python-modules-commits mailing list