lp://staging/python-fixtures

Created by Robert Collins and last modified
Get this branch:
bzr branch lp://staging/python-fixtures

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
testing-cabal
Project:
Python Fixtures
Status:
Development

Import details

Import Status: Suspended

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 .

Import started on izar and finished taking 5 seconds — see the log
Import started on izar and finished taking 10 seconds — see the log
Import started on izar and finished taking 5 seconds — see the log
Import started on alnitak and finished taking 5 seconds — see the log

Recent revisions

131. By Jelmer Vernooij

Merge pull request #41 from EdwardBetts/spelling

Correct spelling mistakes.

130. By Jelmer Vernooij

Drop support for EOL Python 2.6 and 3.3

Merge pull request #40 from hugovk/rm-2.6

129. By Hugo <email address hidden>

Update classifiers

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

127. By Free Ekanayaka

Add missing APIs to FakeProcess, making it match Popen (LP #1373224)

126. By Robert Collins

Release 3.0.0.

125. By Robert Collins

Fixup the MonkeyPatch patch.

 - docs.
 - cleanup patches of boundmethods to not leave cruft behind.
 - NEWS entry.

Sem-Ver: api-break

124. By Robert Collins

Tweak the new tests for consistency

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):
        pass

class D(object):
    @classmethod
    def bar(cls, tgtcls, arg):
        pass

def baz(cls, arg):
    pass

MonkeyPatch('...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).

122. By Robert Collins

Avoid old versions of pbr - we require modern releases.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
This branch contains Public information 
Everyone can see this information.

Subscribers