Different (but valid) output in the testsuite

Matt Mackall mpm at selenic.com
Fri Mar 16 17:45:36 CDT 2012


On Thu, 2012-03-15 at 23:31 +0000, Javi Merino wrote:
>  
> > The test test-pending.t illustrates a technique to avoid these races
> > with a signal file.
> 
> I'll have a look at test-pending.t and try to fix these tests.

That'd be great.

> > > ERROR: /build/buildd-mercurial_2.1.1-2-mipsel-ZKdaeu/mercurial-2.1.1/tests/test-hup.t output changed
> > > ---
> > > https://buildd.debian.org/status/fetch.php?pkg=mercurial&arch=mipsel&ver=2.1.1-2&stamp=1331272650
> > > 
> > > 3. With the Hurd kernel, some error messages are slightly different:
> > > 
> > > --- /build/buildd-mercurial_2.1.1-2-hurd-i386-nljf5k/mercurial-2.1.1/tests/test-acl.t
> > > +++ /build/buildd-mercurial_2.1.1-2-hurd-i386-nljf5k/mercurial-2.1.1/tests/test-acl.t.err
> > > @@ -868,7 +868,7 @@
> > >    added 3 changesets with 3 changes to 3 files
> > >    calling hook pretxnchangegroup.acl: hgext.acl.hook
> > >    acl: checking access for user "barney"
> > > -  error: pretxnchangegroup.acl hook raised an exception: [Errno 2] *: '../acl.config' (glob)
> > > +  error: pretxnchangegroup.acl hook raised an exception: [Errno 1073741826] No such file or directory: '../acl.config'
> > 
> > As if the world needed another reason to ignore Hurd. This is a
> > traditional 0-based errno with a random high bit set, apparently so you
> > can run different kernels on top of your microkernel. But why Posix
> > userspace would ever care about errors from a non-Posix kernel layer is
> > beyond me: all native errors should just be translated into the POSIX
> > space. This should probably be fixed in Python or libc actually.
> 
> I agree completely, but the likely response is going to be: "Don't
> hardcode error numbers in the testsuite".
> 
> I don't really know what to do with this one, I think I'll just skip
> the testsuite in hurd.

You could perhaps use a blacklist. Or I suppose you could use a horrible
(2|bignum) regex pattern. I'm surprised we don't seem to be leaking any
other numeric errnos.

> > > --- /build/buildd-mercurial_2.1.1-2-hurd-i386-nljf5k/mercurial-2.1.1/tests/test-bad-pull.t
> > > +++ /build/buildd-mercurial_2.1.1-2-hurd-i386-nljf5k/mercurial-2.1.1/tests/test-bad-pull.t.err
> > > @@ -1,7 +1,7 @@
> > >    $ "$TESTDIR/hghave" serve || exit 80
> > >  
> > >    $ hg clone http://localhost:$HGPORT/ copy
> > > -  abort: error: Connection refused
> > > +  abort: error: Address family not supported by protocol
> > 
> > Not actually valid. ECONNREFUSED is very different from EAFNOSUPPORT.
> 
> Right, but that doesn't mean that mercurial is broken, it's just that
> the kernel doesn't support IP.  I may improve has_serve() in hghave to
> cover this and the possibility that the loopback interface is not
> configured so that these tests are skipped in those systems.

How does this test work at all with no loopback or IPv4?

-- 
Mathematics is the supreme nostalgia of our time.




More information about the Mercurial-devel mailing list