tests/test-bad-pull.t
author Jim Hague <jim.hague@acm.org>
Thu, 05 Apr 2012 12:31:21 +0100
branchstable
changeset 16364 f64b25f147d7
parent 16341 91eec29dd7de
child 16496 abbabbbe4ec2
permissions -rw-r--r--
tests: avoid test-hup hanging on AIX test-hup hangs on AIX. Under ksh89 on AIX (the default shell), echo Hello; while [ ! -s not-there ]; do true; done produces no output while the loop executes. Replacing 'true' with 'sleep 0' fixes, as does using a less broken shell. ksh93 is fine. Update check-code.py to look for this, and make same change in test-serve.t. In fact test-serve works fine, probably because of additional commands between echo and the loop, but that's a subtlety not easy to test for.

  $ "$TESTDIR/hghave" serve || exit 80

  $ hg clone http://localhost:$HGPORT/ copy
  abort: error: Connection refused
  [255]

  $ test -d copy
  [1]

  $ cat > dumb.py <<EOF
  > import BaseHTTPServer, SimpleHTTPServer, os, signal
  > def run(server_class=BaseHTTPServer.HTTPServer,
  >         handler_class=SimpleHTTPServer.SimpleHTTPRequestHandler):
  >     server_address = ('localhost', int(os.environ['HGPORT']))
  >     httpd = server_class(server_address, handler_class)
  >     open("listening", "w")
  >     httpd.handle_request()
  > run()
  > EOF

  $ python dumb.py 2> log &
  $ P=$!
  $ while [ ! -f listening ]; do true; done
  $ hg clone http://localhost:$HGPORT/foo copy2
  abort: HTTP Error 404: * (glob)
  [255]
  $ wait $P