The NetBSD Project

CVS log for pkgsrc/devel/py-testtools/Makefile

[BACK] Up to [] / pkgsrc / devel / py-testtools

Request diff between arbitrary revisions

Default branch: MAIN

Revision 1.24 / (download) - annotate - [select for diffs], Tue Nov 7 22:38:01 2023 UTC (4 weeks ago) by wiz
Branch: MAIN
Changes since 1.23: +2 -2 lines
Diff to previous 1.23 (colored)

*: latest py-sphinx only support Python 3.9+

Revision 1.23 / (download) - annotate - [select for diffs], Sat Jul 8 07:30:34 2023 UTC (4 months, 4 weeks ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2023Q3-base, pkgsrc-2023Q3
Changes since 1.22: +6 -7 lines
Diff to previous 1.22 (colored)

py-testtools: updated to 2.6.0

Release 2.6.0
* Finish adding support for Python 3.11
* Add a few missing entries to NEWS
* Wrap content-type params in a dictionary
* Replace deprecated \`cgi\` module usage with \`email\`
* Drop extras of extras; fixtures no longer uses it
* Fix distutilscmd in Debian + Py 3.11
* Add initial config for mypy
* Prevent AttributeError in TestCase.\_\_eq\_\_
* simplifying code
* less code
* Making sure that TestCase can be hashed
* Fix various test failures with Python 3.11
* Use CompoundFixture from fixtures>=2.0 rather than rolling our own
* Provide a \`\`testtools[twisted]\`\` extra
* Add final noop job to indicate success and set as required
* Fix DeprecationWarning: Only valid in 1.8.1 and earlier. Use skipTest instead
* Show warnings
* Replace deprecated assertRaisesRegexp with assertRaisesRegex
* Fix inclusion of NEWS in Sphinx documentation
* Upgrade Python syntax with pyupgrade --py36-plus
* Drop support for EOL Python 3.5
* Upgrade asserts with teyit for Python 3.11 compatibility
* doc: Remove references to unittest2
* Add instructions on building docs.
* Fix docstring formatting warnings
* Add missing quotes around identifier
* Drop note about assertIn, assertIs, assertIsInstance and their negatives that no longer applies with modern versions of Python.
* Fix typo.
* Deprecate distutils integration
* Add support for Python 3.10

Revision 1.22 / (download) - annotate - [select for diffs], Thu Jan 27 11:24:18 2022 UTC (22 months, 1 week ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2023Q2-base, pkgsrc-2023Q2, pkgsrc-2023Q1-base, pkgsrc-2023Q1, pkgsrc-2022Q4-base, pkgsrc-2022Q4, pkgsrc-2022Q3-base, pkgsrc-2022Q3, pkgsrc-2022Q2-base, pkgsrc-2022Q2, pkgsrc-2022Q1-base, pkgsrc-2022Q1
Changes since 1.21: +5 -8 lines
Diff to previous 1.21 (colored)

py310-testtools: update to 2.5.0.



* Add support for Python 3.9.
  (Hugo van Kemenade)

* Python 3.5 has reached end-of-life and this is the last release to support it.

* The skip, skipIf, and skipUnless decorators can now be used as class
  decorators as well as test method decorators, just as they can in

* The ``SameMembers`` matcher class is now exposed as part of the public
  matchers API.


* The dependency on the ``unittest2`` module has been removed. This has some
  knock on effects, including the removal of the ``assertItemsEqual`` helper
  which was removed from ``unittest`` in Python 3.x.

* The ``safe_hasattr`` utility has been removed from ``testtools.helpers``.
  This was a compat wrapper introduced in 0.9.25 when the utility itself was
  moved to the ``extras`` package. It is no longer useless on Python 3-only

* The ``try_imports`` utility has been removed from ``testtools.helpers``.
  This was a compat wrapper introduced in 0.9.25 when the utility itself was
  moved to the ``extras`` package. It is no longer used within testtools and
  has therefore been dropped.

Revision 1.21 / (download) - annotate - [select for diffs], Tue Jan 4 20:53:44 2022 UTC (23 months ago) by wiz
Branch: MAIN
Changes since 1.20: +2 -1 lines
Diff to previous 1.20 (colored)

*: bump PKGREVISION for users

They now have a tool dependency on py-setuptools instead of a DEPENDS

Revision 1.20 / (download) - annotate - [select for diffs], Sat Apr 11 07:34:00 2020 UTC (3 years, 7 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2021Q4-base, pkgsrc-2021Q4, pkgsrc-2021Q3-base, pkgsrc-2021Q3, pkgsrc-2021Q2-base, pkgsrc-2021Q2, pkgsrc-2021Q1-base, pkgsrc-2021Q1, pkgsrc-2020Q4-base, pkgsrc-2020Q4, pkgsrc-2020Q3-base, pkgsrc-2020Q3, pkgsrc-2020Q2-base, pkgsrc-2020Q2
Changes since 1.19: +3 -2 lines
Diff to previous 1.19 (colored)

py-testtools: updated to 2.4.0

* Add support for Python 3.7, 3.8 and PyPy3.
* Drop support for Python 3.4 (EOL).
* Avoid using eval().
* PyCharm IDE unittest detection compatibility fix.
* Drop support for Python 3.3 (EOL).
* Spelling fixes.
* Python 3.6 invalid escape sequence deprecation fixes.

Revision 1.19 / (download) - annotate - [select for diffs], Fri Jun 14 08:13:14 2019 UTC (4 years, 5 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2020Q1-base, pkgsrc-2020Q1, pkgsrc-2019Q4-base, pkgsrc-2019Q4, pkgsrc-2019Q3-base, pkgsrc-2019Q3, pkgsrc-2019Q2-base, pkgsrc-2019Q2
Changes since 1.18: +6 -6 lines
Diff to previous 1.18 (colored)

py-testtools: Improve test target. Update bug reports.

Revision 1.18 / (download) - annotate - [select for diffs], Mon Dec 18 08:48:26 2017 UTC (5 years, 11 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2019Q1-base, pkgsrc-2019Q1, pkgsrc-2018Q4-base, pkgsrc-2018Q4, pkgsrc-2018Q3-base, pkgsrc-2018Q3, pkgsrc-2018Q2-base, pkgsrc-2018Q2, pkgsrc-2018Q1-base, pkgsrc-2018Q1, pkgsrc-2017Q4-base, pkgsrc-2017Q4
Changes since 1.17: +2 -2 lines
Diff to previous 1.17 (colored)

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

Revision 1.17 / (download) - annotate - [select for diffs], Sun May 21 06:45:39 2017 UTC (6 years, 6 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2017Q3-base, pkgsrc-2017Q3, pkgsrc-2017Q2-base, pkgsrc-2017Q2
Changes since 1.16: +2 -2 lines
Diff to previous 1.16 (colored)

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

Revision 1.16 / (download) - annotate - [select for diffs], Wed Feb 22 14:20:56 2017 UTC (6 years, 9 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2017Q1-base, pkgsrc-2017Q1
Changes since 1.15: +13 -3 lines
Diff to previous 1.15 (colored)

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



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

Revision 1.15 / (download) - annotate - [select for diffs], Wed Jun 8 17:43:26 2016 UTC (7 years, 5 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2016Q4-base, pkgsrc-2016Q4, pkgsrc-2016Q3-base, pkgsrc-2016Q3, pkgsrc-2016Q2-base, pkgsrc-2016Q2
Changes since 1.14: +2 -2 lines
Diff to previous 1.14 (colored)


Revision 1.14 / (download) - annotate - [select for diffs], Sun Mar 15 19:11:21 2015 UTC (8 years, 8 months ago) by hiramatsu
Branch: MAIN
CVS Tags: pkgsrc-2016Q1-base, pkgsrc-2016Q1, pkgsrc-2015Q4-base, pkgsrc-2015Q4, pkgsrc-2015Q3-base, pkgsrc-2015Q3, pkgsrc-2015Q2-base, pkgsrc-2015Q2, pkgsrc-2015Q1-base, pkgsrc-2015Q1
Changes since 1.13: +2 -2 lines
Diff to previous 1.13 (colored)

Set MAINTAINER to pkgsrc-users.

Revision 1.13 / (download) - annotate - [select for diffs], Sat Dec 13 08:43:37 2014 UTC (8 years, 11 months ago) by obache
Branch: MAIN
CVS Tags: pkgsrc-2014Q4-base, pkgsrc-2014Q4
Changes since 1.12: +6 -2 lines
Diff to previous 1.12 (colored)

Update py-testtools to 1.5.0.



* When an import error happens ```` 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 to use setup_requires to ensure the import dependencies
  for testtools are present before runs (as 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 `` 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)

Revision 1.12 / (download) - annotate - [select for diffs], Wed Sep 10 09:01:49 2014 UTC (9 years, 2 months ago) by obache
Branch: MAIN
CVS Tags: pkgsrc-2014Q3-base, pkgsrc-2014Q3
Changes since 1.11: +2 -2 lines
Diff to previous 1.11 (colored)

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, #

* 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, #


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,


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)

Revision 1.11 / (download) - annotate - [select for diffs], Mon Jul 7 11:44:16 2014 UTC (9 years, 5 months ago) by obache
Branch: MAIN
Changes since 1.10: +2 -2 lines
Diff to previous 1.10 (colored)

Update py-testtools 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)

Revision 1.10 / (download) - annotate - [select for diffs], Sat Jan 25 10:30:05 2014 UTC (9 years, 10 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2014Q2-base, pkgsrc-2014Q2, pkgsrc-2014Q1-base, pkgsrc-2014Q1
Changes since 1.9: +1 -4 lines
Diff to previous 1.9 (colored)

Mark packages as not ready for python-3.x where applicable;
either because they themselves are not ready or because a
dependency isn't. This is annotated by
PYTHON_VERSIONS_INCOMPATIBLE=  33 # not yet ported as of x.y.z
respectively, please use the same style for other packages,
and check during updates.

Use where applicable.
Use REPLACE_PYTHON instead of handcoded alternatives, where applicable.
Reorder Makefile sections into standard order, where applicable.

Remove PYTHON_VERSIONS_INCLUDE_3X lines since that will be default
with the next commit.

Whitespace cleanups and other nits corrected, where necessary.

Revision 1.9 / (download) - annotate - [select for diffs], Fri Jan 24 13:22:22 2014 UTC (9 years, 10 months ago) by obache
Branch: MAIN
Changes since 1.8: +5 -6 lines
Diff to previous 1.8 (colored)

Update py-testtools 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)

* In Python 3.3, if there are duplicate test ids, tests.sort() will
  fail and raise TypeError. Detect the duplicate test ids firstly in
  sorted_tests() to ensure that all test ids are unique.
  (Kui Shi, #1243922)

* ``json_content`` is now in the ``__all__`` attribute for
  ``testtools.content``. (Robert Collins)

* Network tests now bind to to avoid (even temporary) network
  visible ports. (Benedikt Morbach, github #46)

* Test listing now explicitly indicates by printing 'Failed to import' and
  exiting (2) when an import has failed rather than only signalling through the
  test name. (Robert Collins, #1245672)

* ``test_compat.TestDetectEncoding.test_bom`` now works on Python 3.3 - the
  corner case with euc_jp is no longer permitted in Python 3.3 so we can
  skip it. (Martin [gz], #1251962)



* Added ``addDetailuniqueName`` method to ``testtools.TestCase`` class.
  (Thomi Richards)

* Removed some unused code from ``testtools.content.TracebackContent``.
  (Thomi Richards)

* Added ``testtools.StackLinesContent``: a content object for displaying
  pre-processed stack lines. (Thomi Richards)

* ``StreamSummary`` was calculating testsRun incorrectly: ``exists`` status
  tests were counted as run tests, but they are not.
  (Robert Collins, #1203728)


Regular maintenance release.  Special thanks to new contributor, Xiao Hanyu!


 * ``testttols.compat._format_exc_info`` has been refactored into several
   smaller functions. (Thomi Richards)


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



* ``ExpectedException`` now accepts a msg parameter for describing an error,
  much the same as assertEquals etc. (Robert Collins)


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.

* ``assertRaises`` works properly for exception classes that have custom

* ``ConcurrentTestSuite`` was silently eating exceptions that propagate from
  the method call. Ignoring them is fine in a normal test
  runner, but when they happen in a different thread, the thread that called is not in the stack anymore, and the exceptions are lost. We now
  create a synthetic test recording any such exception.
  (Robert Collins, #1130429)

* Fixed SyntaxError raised in ```` when installing via Python 3.
  (Will Bond, #941958)

* New class ``StreamResult`` which defines the API for the new result type.
  (Robert Collins)

* New support class ``ConcurrentStreamTestSuite`` for convenient construction
  and utilisation of ``StreamToQueue`` objects. (Robert Collins)

* New support class ``CopyStreamResult`` which forwards events onto multiple
  ``StreamResult`` objects (each of which receives all the events).
  (Robert Collins)

* New support class ``StreamSummary`` which summarises a ``StreamResult``
  stream compatibly with ``TestResult`` code. (Robert Collins)

* New support class ``StreamTagger`` which adds or removes tags from
  ``StreamResult`` events. (RobertCollins)

* New support class ``StreamToDict`` which converts a ``StreamResult`` to a
  series of dicts describing a test. Useful for writing trivial stream
  analysers. (Robert Collins)

* New support class ``TestControl`` which permits cancelling an in-progress
  run. (Robert Collins)

* New support class ``StreamFailFast`` which calls a ``TestControl`` instance
  to abort the test run when a failure is detected. (Robert Collins)

* New support class ``ExtendedToStreamDecorator`` which translates both regular
  unittest TestResult API calls and the ExtendedTestResult API which testtools
  has supported into the StreamResult API. ExtendedToStreamDecorator also
  forwards calls made in the StreamResult API, permitting it to be used
  anywhere a StreamResult is used. Key TestResult query methods like
  wasSuccessful and shouldStop are synchronised with the StreamResult API
  calls, but the detailed statistics like the list of errors are not - a
  separate consumer will be created to support that.
  (Robert Collins)

* New support class ``StreamToExtendedDecorator`` which translates
  ``StreamResult`` API calls into ``ExtendedTestResult`` (or any older
  ``TestResult``) calls. This permits using un-migrated result objects with
  new runners / tests. (Robert Collins)

* New support class ``StreamToQueue`` for sending messages to one
  ``StreamResult`` from multiple threads. (Robert Collins)

* New support class ``TimestampingStreamResult`` which adds a timestamp to
  events with no timestamp. (Robert Collins)

* New ``TestCase`` decorator ``DecorateTestCaseResult`` that adapts the
  ``TestResult`` or ``StreamResult`` a case will be run with, for ensuring that
  a particular result object is used even if the runner running the test doesn't
  know to use it. (Robert Collins)

* New test support class ``testtools.testresult.doubles.StreamResult``, which
  captures all the StreamResult events. (Robert Collins)

* ``PlaceHolder`` can now hold tags, and applies them before, and removes them
  after, the test. (Robert Collins)

* ``PlaceHolder`` can now hold timestamps, and applies them before the test and
  then before the outcome. (Robert Collins)

* ``StreamResultRouter`` added. This is useful for demultiplexing - e.g. for
  partitioning analysis of events or sending feedback encapsulated in
  StreamResult events back to their source. (Robert Collins)

* ```` now supports the ``TestRunner`` taking over
  responsibility for formatting the output of ``--list-tests``.
  (Robert Collins)

* The error message for setUp and tearDown upcall errors was broken on Python
  3.4. (Monty Taylor, Robert Collins, #1140688)

* The repr of object() on pypy includes the object id, which was breaking a
  test that accidentally depended on the CPython repr for object().
  (Jonathan Lange)


A simple bug fix, and better error messages when you don't up-call.


* ``testtools.content_type.ContentType`` incorrectly used ',' rather than ';'
  to separate parameters. (Robert Collins)


* ``testtools.compat.unicode_output_stream`` was wrapping a stream encoder
  around ``io.StringIO`` and ``io.TextIOWrapper`` objects, which was incorrect.
  (Robert Collins)

* Report the name of the source file for setUp and tearDown upcall errors.
  (Monty Taylor)


Testtools has moved VCS - is
the new home. Bug tracking is still on Launchpad, and releases are on Pypi.

We made this change to take advantage of the richer ecosystem of tools around
Git, and to lower the barrier for new contributors.


* New ``testtools.testcase.attr`` and ``testtools.testcase.WithAttributes``
  helpers allow marking up test case methods with simple labels. This permits
  filtering tests with more granularity than organising them into modules and
  test classes. (Robert Collins)



* New matcher ``HasLength`` for matching the length of a collection.
  (Robert Collins)

* New matcher ``MatchesPredicateWithParams`` make it still easier to create
  ad hoc matchers. (Robert Collins)

* We have a simpler release process in future - see doc/hacking.rst.
  (Robert Collins)


Brown paper bag fix: failed to document the need for setup to be able to use
extras. Compounded by pip not supporting setup_requires.


* now can generate egg_info even if extras is not available.
  Also lists extras in setup_requires for easy_install.
  (Robert Collins, #1102464)



* ``python -m --load-list`` will now preserve any custom suites
  (such as ``testtools.FixtureSuite`` or ``testresources.OptimisingTestSuite``)
  rather than flattening them.
  (Robert Collins, #827175)

* Testtools now depends on extras, a small library split out from it to contain
  generally useful non-testing facilities. Since extras has been around for a
  couple of testtools releases now, we're making this into a hard dependency of
  testtools. (Robert Collins)

* Testtools now uses setuptools rather than distutils so that we can document
  the extras dependency. (Robert Collins)


* Testtools will no longer override test code registered details called
  'traceback' when reporting caught exceptions from test code.
  (Robert Collins, #812793)

Revision 1.8 / (download) - annotate - [select for diffs], Sat Jan 19 11:03:17 2013 UTC (10 years, 10 months ago) by obache
Branch: MAIN
CVS Tags: pkgsrc-2013Q4-base, pkgsrc-2013Q4, pkgsrc-2013Q3-base, pkgsrc-2013Q3, pkgsrc-2013Q2-base, pkgsrc-2013Q2, pkgsrc-2013Q1-base, pkgsrc-2013Q1
Changes since 1.7: +5 -3 lines
Diff to previous 1.7 (colored)

Update py-testtools to 0.9.24.



* `` discover`` will now sort the tests it discovered. This is a
  workaround for 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. (Robert Collins, #1091512)

* ``ThreadsafeForwardingResult`` now defines a stub ``progress`` method, which
  fixes ``testr run`` of streams containing progress markers (by discarding the
  progress data). (Robert Collins, #1019165)



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


* ```` now supports the ``-f`` or ``--failfast`` parameter.
  Previously it was advertised in the help but ignored.
  (Robert Collins, #1090582)

* ``AnyMatch`` added, a new matcher that matches when any item in a collection
  matches the given matcher.  (Jonathan Lange)

* Spelling corrections to documentation.  (Vincent Ladeuil)

* ``TestProgram`` now has a sane default for its ``testRunner`` argument.
  (Vincent Ladeuil)

* The test suite passes on Python 3 again. (Robert Collins)



* ``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. (Robert Collins, #1088693)



* ``DirContains`` correctly exposed, after being accidentally hidden in the
  great matcher re-organization of 0.9.17.  (Jonathan Lange)


Three new matchers that'll rock your world.


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


How embarrassing!  Three releases in two days.

We've worked out the kinks and have confirmation from our downstreams that
this is all good.  Should be the last release for a little while.  Please
ignore 0.9.18 and 0.9.17.


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


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.


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 discover . --list`` now works. (Robert Collins)

* Correctly handling of bytes vs text in JSON content type. (Martin [gz])


Some new matchers and a new content helper for JSON content.

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

Revision 1.7 / (download) - annotate - [select for diffs], Wed Oct 31 11:19:35 2012 UTC (11 years, 1 month ago) by asau
Branch: MAIN
CVS Tags: pkgsrc-2012Q4-base, pkgsrc-2012Q4
Changes since 1.6: +1 -3 lines
Diff to previous 1.6 (colored)

Drop superfluous PKG_DESTDIR_SUPPORT, "user-destdir" is default these days.

Revision 1.6 / (download) - annotate - [select for diffs], Sun Sep 16 12:37:51 2012 UTC (11 years, 2 months ago) by obache
Branch: MAIN
CVS Tags: pkgsrc-2012Q3-base, pkgsrc-2012Q3
Changes since 1.5: +3 -3 lines
Diff to previous 1.5 (colored)

Update py-testtools to 0.9.15.


This is the last release to support Python2.4 and 2.5. It brings in a slew of
improvements to test tagging and concurrency, making running large test suites
with partitioned workers more reliable and easier to reproduce exact test
ordering in a given worker. See our sister project ``testrepository`` for a
test runner that uses these features.


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

Revision 1.5 / (download) - annotate - [select for diffs], Mon Apr 23 12:23:39 2012 UTC (11 years, 7 months ago) by obache
Branch: MAIN
CVS Tags: pkgsrc-2012Q2-base, pkgsrc-2012Q2
Changes since 1.4: +4 -3 lines
Diff to previous 1.4 (colored)

Update py-testtools 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.


Plenty of new matchers and quite a few critical bug fixes (especially to do
with stack traces from failed assertions).  A net win for all.


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


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

Revision 1.4 / (download) - annotate - [select for diffs], Sun Apr 8 19:08:54 2012 UTC (11 years, 8 months ago) by wiz
Branch: MAIN
Changes since 1.3: +1 -3 lines
Diff to previous 1.3 (colored)

Remove python24 and all traces of it from pkgsrc.
Remove devel/py-ctypes (only needed by and supporting python24).
lines that just mirror defaults now.
Miscellaneous cleanup while editing all these files.

Revision 1.3 / (download) - annotate - [select for diffs], Fri Oct 7 10:45:06 2011 UTC (12 years, 2 months ago) by obache
Branch: MAIN
CVS Tags: pkgsrc-2012Q1-base, pkgsrc-2012Q1, pkgsrc-2011Q4-base, pkgsrc-2011Q4
Changes since 1.2: +2 -2 lines
Diff to previous 1.2 (colored)

Update py-testtools to 0.9.12.


This is a very big release.  We've made huge improvements on three fronts:
 1. Test failures are way nicer and easier to read
 2. Matchers and ``assertThat`` are much more convenient to use
 3. Correct handling of extended unicode characters

We've trimmed off the fat from the stack trace you get when tests fail, we've
cut out the bits of error messages that just didn't help, we've made it easier
to annotate mismatch failures, to compare complex objects and to match raised

Testing code was never this fun.


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


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

Revision 1.2 / (download) - annotate - [select for diffs], Sun Oct 2 15:54:22 2011 UTC (12 years, 2 months ago) by dholland
Branch: MAIN
CVS Tags: pkgsrc-2011Q3-base, pkgsrc-2011Q3
Changes since 1.1: +3 -1 lines
Diff to previous 1.1 (colored)

does not build with python24

Revision / (download) - annotate - [select for diffs] (vendor branch), Fri Jul 22 14:15:01 2011 UTC (12 years, 4 months ago) by obache
Branch: TNF
CVS Tags: pkgsrc-base
Changes since 1.1: +0 -0 lines
Diff to previous 1.1 (colored)

Import py-testtools-0.9.11 as devel/py-testtools.

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.

Revision 1.1 / (download) - annotate - [select for diffs], Fri Jul 22 14:15:01 2011 UTC (12 years, 4 months ago) by obache
Branch: MAIN

Initial revision

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

CVSweb <>