← Back to team overview

dulwich-users team mailing list archive

Re: Test runners, nose and python 2.7

 

On Mon, Dec 27, 2010 at 19:14, Jelmer Vernooij <jelmer@xxxxxxxxx> wrote:

> On Tue, Dec 28, 2010 at 03:49:30AM +0100, Jelmer Vernooij wrote:
> > On Mon, Dec 27, 2010 at 06:03:12PM -0800, Dave Borowitz wrote:
> > > On Sun, Dec 26, 2010 at 18:04, Jelmer Vernooij <jelmer@xxxxxxxxx>
> wrote:
> > > > On Mon, Dec 27, 2010 at 02:46:51AM +0100, Jelmer Vernooij wrote:
> > > > > On Sun, Dec 26, 2010 at 04:23:54PM -0500, Augie Fackler wrote:
> > > > > > >> We can codify that in setup.py and make
> > > > > > >> it the One True Test System (and depending on unittest2 for
> old
> > > > > > >> Pythons means that we can continue using the normal SkipTest
> > > > > > >> approach *and* dispense with the madness in test/__init__ that
> tries
> > > > > > >> to get the "right" SkipTest. I'm happy to take on this work if
> > > > > > >> nobody objects.
> > > > > > > I can live with unittest2 as default fallback test runner but
> > > > > > > would like to keep the support for using testtools without the
> need
> > > > to
> > > > > > > install unittest2. What do you think about the attached patch?
> > > > > > Should probably also list unittest2 in the test_requires stanza
> of the
> > > > > > setup() call in setup.py if sys.version < (2,7).
> > > > > That's a good point.
> > > > I've pushed the switch to unittest + unittest2 but without the
> > > > test_requires stanza.
> > > > Not having it doesn't seem to break anything (we never had it for
> nose) and
> > > > I can't
> > > > work out what to set exactly. Patches to add it welcome.
> > >
> > >
> > > I haven't been following this discussion closely, but what you just
> pushed
> > > fails on 2.6 even after installing (with pip) unittest2 and testtools
> (trace
> > > below).
> > >
> > > I don't really care what the ultimate answer is, but I'd appreciate it
> if
> > > you could run any more potential fixes by me so I can try the tests
> against
> > > master with my setup.
> > Can you perhaps try:
> >
> > make check TESTRUNNER=unittest2.__main__
> It looks like I was a bit uncareful when pushing this, sorry :-/
>
> I've just verified that "python -m unittest2" works for Python2.7 but
> breaks on
> Python2.6. unittest2.__main__ works for both 2.6 and 2.7. If you can
> confirm that
> "make check TESTRUNNER=unittest2.__main__" I'll push a fix..
>

That gets the tests to run, but it doesn't appear to be recognizing skipped
tests correctly:
======================================================================
ERROR: test_extract_mercurial (dulwich.tests.test_patch.ReadGitAmPatch)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "dulwich/tests/test_patch.py", line 165, in test_extract_mercurial
    raise TestSkipped("git_am_patch_split doesn't handle Mercurial patches
properly yet")
SkipTest: git_am_patch_split doesn't handle Mercurial patches properly yet

I suspect this is something to do with the mixed unittest/unittest2 imports;
investigating now.


> Cheers,
>
> Jelmer
>

References