lp:python-fixtures
- Get this branch:
- bzr branch lp:python-fixtures
Branch merges
Branch information
Import details
This branch is an import of the HEAD branch of the Git repository at https://github.com/testing-cabal/fixtures.git.
Last successful import was .
Recent revisions
- 130. By Jelmer Vernooij
-
Drop support for EOL Python 2.6 and 3.3
Merge pull request #40 from hugovk/rm-2.6
- 128. By Free Ekanayaka
-
Add python 3.6 support (#36)
Add 3.6 to the list of Python versions that Travis/tox will exercise. Also, switch the pypy3 target to version 3.3 (since pkg_resources is not supported anymore on 3.2).
- 125. By Robert Collins
-
Fixup the MonkeyPatch patch.
- docs.
- cleanup patches of boundmethods to not leave cruft behind.
- NEWS entry.Sem-Ver: api-break
- 123. By Andrew Laski
-
Update the semantics on _fixtures.
MonkeyPatch A previous change added some logic so that when monkeypatching a
staticmethod the old_value was restored as a staticmethod. There was an
issue where the determination of whether or not a method should be
static was incorrectly checking the new function not the one to be
replaced. That caused an unintended side-effect that in order to patch
an instance method of a class the new function needed to be an instance
method of a class.This change now reworks the semantics of MonkeyPatch to address that
issue and at the same time be explicit about how it should work in a
large number of different cases. The rule is simple and provides great
flexibility. Given a callable bar to be patched on to foo bar will be
called with any bound arguments first and then arguments of foo
appended. This is easier to visualize. Given:class C(object):
@classmethod
def foo(cls, arg):
passclass D(object):
@classmethod
def bar(cls, tgtcls, arg):
passdef baz(cls, arg):
passMonkeyPatch(
'...C.foo' , D.bar) will result in C.foo(1) calling bar like
bar(D, C, 1) because cls on bar was already bound to D when patching.
And MonkeyPatch('...C.foo' , baz) will result in baz being called with
baz(C, 1).
Branch metadata
- Branch format:
- Branch format 7
- Repository format:
- Bazaar repository format 2a (needs bzr 1.16 or later)