Solaris fixes for a few tests

Giorgos Keramidas keramida at ceid.upatras.gr
Fri Oct 20 17:07:10 UTC 2006


On 2006-10-20 03:06, "Alexis S. L. Carvalho" <alexis at cecm.usp.br> wrote:
> Thus spake Giorgos Keramidas:
> > ,--------------------------------------------------------------------------
> > | system:      FreeBSD
> > | version:     7.0-CURRENT #1: Thu Oct 19 02:54:22 EEST 2006 (2006.10.18.15.56.11)
> > +--------------------------------------------------------------------------
> > | ..................................................................................................
> > | ERROR: test-push-http output changed
> > | --- Expected output
> > | +++ Test output
> > | @@ -9,9 +9,10 @@
> > |  searching for changes
> > |  push not authorized
> > |  % expect authorization error: must have authorized user
> > | +abort: cannot start server: Address already in use
> 
> It looks like another process was already listening on port 20059 (maybe
> from a previous run of the test suite?).  Can you try it again? (you can
> run a single test with "run-tests.py test-push-http" in the tests/
> directory)

It may be an error caused by a lack of socket options to allow reusing
of socket addresses.  On the same system, running just `test-push-http',
I see:

    $ python run-tests.py test-push-http
    .
    ERROR: test-push-http output changed
    --- Expected output 
    +++ Test output 
    @@ -22,9 +22,9 @@
     rolling back last transaction
     changegroup: u=remote:http
     % expect authorization error: all users denied
    +abort: cannot start server: Address already in use
     pushing to http://localhost:20059/
    -searching for changes
    -push not authorized
    +abort: error: Connection reset by peer
     % expect authorization error: some users denied, users must be authenticated
     pushing to http://localhost:20059/
     searching for changes
    
    # Ran 1 tests, 0 skipped, 1 failed.
    giorgos at gothmog:/home/giorgos/hg/mercurial-gker/tests$ netstat -na | grep 200
    tcp4       0      0  127.0.0.1.20059        127.0.0.1.58629        TIME_WAIT
    tcp4       0      0  127.0.0.1.58629        127.0.0.1.20059        LAST_ACK
    tcp4       0      0  127.0.0.1.20059        127.0.0.1.64880        TIME_WAIT
    tcp4       0      0  127.0.0.1.64880        127.0.0.1.20059        LAST_ACK
    tcp4       0      0  127.0.0.1.20059        127.0.0.1.64656        TIME_WAIT
    tcp4       0      0  127.0.0.1.64656        127.0.0.1.20059        LAST_ACK
    tcp4       0      0  127.0.0.1.20059        127.0.0.1.50094        TIME_WAIT
    tcp4       0      0  127.0.0.1.50094        127.0.0.1.20059        LAST_ACK
    tcp4       0      0  127.0.0.1.20059        127.0.0.1.60777        TIME_WAIT
    tcp4       0      0  127.0.0.1.60777        127.0.0.1.20059        LAST_ACK
    $

> > | ERROR: test-static-http output changed
> > | ERROR: test-static-http failed with error code 3840
> 
> Something went really wrong here - the test failed with a weird error
> code before printing anything.  Is this reproducible?

No, it's not reproducible.

It may be a glitch caused by the previous failure.  Both tests use 20059 as
the port number for the listening server port, so the TIME_WAIT connections
shown above may be behind the failure of `test-static-http' too.

> > ,--------------------------------------------------------------------------
> > | system:      Solaris
> > | version:     Solaris 10 1/06 s10x_u1wos_19a X86 (amd64)
> > +--------------------------------------------------------------------------
> > | .........
> > | ERROR: test-bad-pull output changed
> > | --- Expected output
> > | +++ Test output
> > | @@ -1,4 +1,4 @@
> > | -abort: error: Connection refused
> > | +abort: error: Network is unreachable
> 
> Eek - does Solaris really print that when there's no process listening
> on a port (e.g. does something like "telnet localhost 38142" also print
> that?  What about "telnet 127.0.0.1 38142"?  Assuming there's nobody
> listening on that port...)  Is there any chance you have some firewall
> settings that could cause this?

The error message seems to depend on IPv4 vs. IPv6:

    $ telnet localhost 38142
    Trying 127.0.0.1...
    telnet: connect to address 127.0.0.1: Connection refused
    Trying ::1...
    telnet: Unable to connect to remote host: Network is unreachable
    $

I don't have an IPv6 address, so this may explain why this error is
seen on Solaris?

> > | ERROR: test-conflict output changed
> > | ERROR: test-merge-revert2 output changed
> > | ERROR: test-merge7 output changed
> > | --- Expected output
> > | +++ Test output
> > | @@ -6,13 +6,9 @@
> > |  adding file changes
> > |  added 1 changesets with 1 changes to 1 files (+1 heads)
> > |  (run 'hg heads' to see heads, 'hg merge' to merge)
> > | -merge: warning: conflicts during merge
> > |  merging test.txt
> > | -merging test.txt failed!
> > | -0 files updated, 0 files merged, 0 files removed, 1 files unresolved
> > | -There are unresolved merges, you can redo the full merge using:
> > | -  hg update -C 1
> > | -  hg merge 2
> > | +0 files updated, 1 files merged, 0 files removed, 0 files unresolved
> > | +(branch merge, don't forget to commit)
> 
> For these guys, it looks like the merge binary exits with success even
> if it wasn't able to merge the file... :-/

Yes, which is odd.  This is merge(1) from RCS 5.7.  I'm not sure if the
fake `success' is related to local Solaris configuration stuff though.

> 
> > | ERROR: test-http-proxy output changed
> 
> > | ERROR: test-static-http output changed
> 
> Same problem as test-bad-pull
> 
> > ,--------------------------------------------------------------------------
> > | system:      Solaris
> > | version:     Solaris 8 HW 12/02 s28s_hw1wos_06a SPARC
> > +--------------------------------------------------------------------------
> > | ERROR: test-conflict output changed
> > | ERROR: test-merge-revert2 output changed
> > | ERROR: test-merge7 output changed
> 
> Same problem with merge.

Yep.

> Thanks for doing this.

No problem.  I constantly have access to a variety of systems.  I can't
promise anything, but I can produce similar reports on an
every-couple-of-weeks or monthly basis.




More information about the Mercurial-devel mailing list