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