Comments
Patch
@@ -2008,11 +2008,11 @@
def _getport(self, count):
port = self._ports.get(count) # do we have a cached entry?
if port is None:
- port = self.options.port + self._portoffset
portneeded = 3
# above 100 tries we just give up and let test reports failure
for tries in xrange(100):
allfree = True
+ port = self.options.port + self._portoffset
for idx in xrange(portneeded):
if not checkportisavailable(port + idx):
allfree = False
@@ -228,6 +228,19 @@
[1]
$ rm test-serve-fail.t
+Verify that we can try other ports
+===================================
+ $ hg init inuse
+ $ hg serve -R inuse -p $HGPORT -d --pid-file=blocks.pid
+ $ cat > test-serve-inuse.t <<EOF
+ > $ hg serve -R `pwd`/inuse -p \$HGPORT -d --pid-file=hg.pid
+ > EOF
+ $ rt test-serve-inuse.t
+ .
+ # Ran 1 tests, 0 skipped, 0 warned, 0 failed.
+ $ cat blocks.pid >> $DAEMON_PIDS
+ $ rm test-serve-inuse.t
+
Running In Debug Mode
======================