./devel/py-testtools, Extensions to the Python standard library unit testing framework

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 2.3.0, Package name: py27-testtools-2.3.0, Maintainer: pkgsrc-users

testtools is a set of extensions to the Python standard library's unit testing
framework. These extensions have been derived from many years of experience
with unit testing in Python and come from many different sources. testtools
also ports recent unittest changes all the way back to Python 2.4.

Required to run:
[devel/py-setuptools] [lang/python27] [devel/py-unittest2] [www/py-python-mimeparse] [devel/py-extras] [devel/py-fixtures]

Required to build:
[devel/py-test] [pkgtools/cwrappers] [devel/py-testscenarios]

Master sites:

SHA1: 5c5bbe2c1bc52077e6debafbc3a8a695d986dbad
RMD160: bd9c1f31612d7dc7c9fb1bc657167ef1109cec02
Filesize: 226.132 KB

Version history: (Expand)

CVS history: (Expand)

   2017-12-18 09:48:27 by Adam Ciarcinski | Files touched by this commit (12)
Log message:
py-clint: added version 0.5.1

Clint is awesome. Crazy awesome. It supports colors, but detects if the session
is a TTY, so doesn't render the colors if you're piping stuff around.

Current Features:
* Little Documentation (bear with me for now)
* CLI Colors and Indents
* Extremely Simple + Powerful Column Printer
* Iterator-based Progress Bar
* Implicit Argument Handling
* Simple Support for Incoming Unix Pipes
* Application Directory management
   2017-05-21 08:45:39 by Adam Ciarcinski | Files touched by this commit (2)
Log message:
* New ``ResourcedToStreamDecorator`` for tracking lifecycle events of
  test resources, and possibly integrate with subunit.
* Make ``KeysEqual`` usable with no arguments, i.e. match a dict with
  no keys.
* Add ``testtools.assertions`` to the documented API modules.
* Don't add file details without content.
* Make ``testtools.twistedsupport and tests work on Python 3.
   2017-02-22 15:20:56 by Thomas Klausner | Files touched by this commit (3) | Package updated
Log message:
Updated py-testtools to 2.2.0.



* Twisted support code uses ``inlineCallbacks`` rather than the deprecated
  ``deferredGenerator``.  (Tristan Seligmann)



* ``TestResult`` objects that don't implement ``stop``/``shouldStop`` are now
  handled sanely.  (Jonathan Lange)

* New ``Always`` and ``Never`` matchers. (Tristan Seligmann, #947026)

* Fixed example in ``failed`` docstring. (Jonathan Lange, Github #208)

* Rather than explicitly raising a ``KeyboardInterrupt`` if we get no result
  from a ``Deferred``, we tell the test result to stop running tests and
  report the lack of result as a test error. This ought to make weird
  concurrency interaction bugs easier to understand. (Jonathan Lange)

* Introduce the unique_text_generator generator function. Similar to the
  getUniqueString() method, except it creates unique unicode text strings.
  (Brant Knudson)

* Previously, when gathering details caused by a setUp() failure,
  a traceback occurred if the fixture used the newer _setUp().
  This had the side effect of not clearing up fixtures nor gathering details
  properly.  This is now fixed. (Julian Edwards, #1469759)

* New ``Warnings`` matcher, and ``WarningMessage`` and ``IsDeprecated``
  functions for matching emitted warnings. (Jonathan Jacobs, Github #223)


Just a few tweaks to our Twisted support. Major version bump to indicate that
Python 2.6 & 3.2 are no longer supported.


* ``AsynchronousDeferredRunTest`` now has ``suppress_twisted_logging`` and
  ``store_twisted_logs`` parameters that can be used to override the default
  logging behaviour.  (Jonathan Lange, #942785)

* New fixture ``CaptureTwistedLogs`` that can be used with
  ``AsynchronousDeferredRunTest`` to attach a detail containing everything
  logged to Twisted during the test run.  (Jonathan Lange, #1515362)

* Python 2.6 and 3.2 are no longer supported. If you want to use either of
  these versions of Python, use testtools 1.9.0. (Jonathan Lange)

* Make ``fixtures`` a real dependency, not just a test dependency.
  (Jonathan Lange)


Many new fixes in this branch, including lots of work around Twisted support.

This is the first release that explicitly supports Python 3.5 and the last
release that supports Python 2.6 or 3.2.

Thanks to all who contributed!


* Python 3.5 added to the list of supported platforms. (Jonathan Lange)

* ``MatchesListwise`` has more informative error when lengths don't match.
  (Jonathan Lange)

* The short form of errors for failed binary comparisions will now put the
  expected value on the _right_. This means that ``assertThat(2, Equals(3))``
  will raise an error saying ``2 != 3``.
  (Jonathan Lange, #1525227)

* Tests for ``assertRaisesRegexp``. (Julia Varlamova, Jonathan Lange)

* Tests that customize ``skipException`` no longer get tracebacks for skipped
  tests.  (Jonathan Lange, #1518101)

* A failing ``expectThat`` now fails tests run with
  ``AsynchronousDeferredRunTest``.  (Jonathan Lange, #1532452)

* New ``testtools.twistedsupport`` package that collects all of our Twisted
  support code in one place, including that currently available under
  ``testtools.deferredruntest``.  (Jonathan Lange)

* New matchers for testing ``Deferred`` code: ``failed``, ``succeeded``, and
  ``has_no_result``.  (Jonathan Lange, Tristan Seligmann, #1369134)

* ``TestCase`` objects can now be run twice. All internal state is reset
  between runs. In particular, testtools tests can now be run with
  ``trial -u``.  (Jonathan Lange, #1517879)

* Fixed bug where if an asynchronous ``Deferred`` test times out but the
  ``Deferred`` then fires, the entire test run would abort with
  ``KeyboardInterrupt``, failing the currently running test.
  (Jonathan Lange, James Westby)


* Add a new test dependency of testscenarios. (Robert Collins)

* Make ``fixtures`` a real dependency, not just a test dependency.
  (Jonathan Lange)

* ``run_with_log_observers`` is deprecated.

* ``addCleanup`` can now only be called within a test run.
  (Jonathan Lange)

* ``TestCase.skip`` deprecated. Use ``skipTest`` instead.
  (Jonathan Lange, #988893)

* Getting ``expected`` or ``observed`` attributes from binary comparison
  mismatches (e.g. ``Equals(2).match(3).expected``) is now deprecated.
  (Jonathan Lange)

* Last release of testtools to support Python 3.2. (Jonathan Lange)

* Last release of testtools to support Python 2.6. (Jonathan Lange)

* Report on all duplicate test ids when sorting test suites that contain
  duplicate ids.  (Thomas Bechtold, Jonathan Lange, #1390082)

* Add ``readthedocs-requirements.txt`` so readthedocs.org can build the
  Twisted API documentation. (Jonathan Lange)



* Documented more explicitly how to build and install testtools in the hacking
  documentation. (Thomi Richards)

* ``deferredruntest`` now works with Twisted 15.1.0 and later.
  (Colin Watson, #1488710)



* AsynchronousDeferredRunTest now correctly attaches the test log.
  Previously it attached an empty file. (Colin Watson)



* Building a wheel on Python 3 was missing ``_compat2x.py`` needed for Python2.
  This was a side effect of the fix to bug #941958, where we fixed a cosmetic
  error. (Robert Collins, #1430534)

* During reporting in ``TextTestResult`` now always uses ``ceil`` rather than
  depending on the undefined rounding behaviour in string formatting.
  (Robert Collins)



* Empty attachments to tests were triggering a file payload of None in the
  ``ExtendedToStreamDecorator`` code, which caused multiple copies of
  attachments that had been output prior to the empty one.
  (Robert Collins, #1378609)



* Fix installing when ``extras`` is not already installed. Our guards
  for the absence of unittest2 were not sufficient.
  (Robert Collins, #1430076)



* ``testtools.run`` now accepts ``--locals`` to show local variables
  in tracebacks, which can be a significant aid in debugging. In doing
  so we've removed the code reimplementing linecache and traceback by
  using the new traceback2 and linecache2 packages.
  (Robert Collins, github #111)


* ``testtools`` now depends on ``unittest2`` 1.0.0 which brings in a dependency
  on ``traceback2`` and via it ``linecache2``. (Robert Collins)
   2016-06-08 19:43:49 by Thomas Klausner | Files touched by this commit (356)
Log message:
   2015-11-03 04:29:40 by Alistair G. Crooks | Files touched by this commit (1995)
Log message:
Add SHA512 digests for distfiles for devel category

Issues found with existing distfiles:
No changes made to these distinfo files.

Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden).  All existing
SHA1 digests retained for now as an audit trail.
   2015-03-15 20:11:22 by Hiramatsu Yoshifumi | Files touched by this commit (11)
Log message:
Set MAINTAINER to pkgsrc-users.
   2014-12-13 09:43:37 by OBATA Akio | Files touched by this commit (2) | Package updated
Log message:
Update py-testtools to 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)

* We now publish wheels of testtools. (Robert Collins, #issue84)



* Exceptions in a ``fixture.getDetails`` method will no longer mask errors
  raised from the same fixture's ``setUp`` method.
  (Robert Collins, #1368440)
   2014-09-10 11:01:49 by OBATA Akio | Files touched by this commit (3) | Package updated
Log message:
Update py-testtools to 1.0.0.

testtools NEWS

Changes and improvements to testtools_, grouped by release.


Long overdue, we've adopted a backwards compatibility statement and recognized
that we have plenty of users depending on our behaviour - calling our version
1.0.0 is a recognition of that.


* 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)


Brown paper bag release - 0.9.38 was broken for some users,
_jython_aware_splitext was not defined entirely compatibly.
(Robert Collins, #https://github.com/testing-cabal/testtools/issues/100)


Bug fixes for test importing.


* 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)


Minor improvements to correctness.


* ``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)


Welcome to our long overdue 0.9.36 release, which improves compatibility with
Python3.4, adds assert_that, a function for using matchers without TestCase
objects, and finally will error if you try to use setUp or tearDown twice -
since that invariably leads to bad things of one sort or another happening.


* 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)


* Introduce the assert_that function, which allows matchers to be used
  independent of testtools.TestCase. (Daniel Watkins, #1243834)