Commit Graph

53 Commits

Author SHA1 Message Date
Martin Panter
098f6d0caa Issue #5824: Fix DatagramRequestHandler tests by binding the client socket 2016-02-24 04:45:33 +00:00
Martin Panter
63d1f47b49 Issue #26309: Rewrite test in main thread and avoid race condition 2016-02-19 02:16:42 +00:00
Martin Panter
ba8474b77d Issue #26309: Shut down SocketServer request if verify_request() is false
Based on patch by Aviv Palivoda.
2016-02-18 10:43:55 +00:00
Robert Collins
2f2c829688 Issue #23254: Document how to close the TCPServer listening socket.
Patch from Martin Panter.
2015-07-29 12:48:42 +12:00
Charles-François Natali
977c424ef6 Issue #22435: Fix a file descriptor leak when SocketServer bind fails. 2014-10-13 18:39:34 +01:00
Serhiy Storchaka
32e23e739f Issue #18702: All skipped tests now reported as skipped. 2013-11-03 23:15:46 +02:00
Andrew Svetlov
4bb142b1b7 Issue #16714: use 'raise' exceptions, don't 'throw'.
Patch by Serhiy Storchaka.
2012-12-18 21:27:37 +02:00
Antoine Pitrou
b5588c3f94 Fix the patch for issue #7978: select() raises select.error before 3.3, not OSError. 2012-04-09 01:41:34 +02:00
Antoine Pitrou
467a5c4067 Fix flakiness in test_socketserver 2012-04-09 01:15:06 +02:00
Antoine Pitrou
fa1d84107a Issue #7978: socketserver now restarts the select() call when EINTR is returned.
This avoids crashing the server loop when a signal is received.
Patch by Jerzy Kozera.
2012-04-09 00:47:24 +02:00
Florent Xicluna
5f761d79c0 Issue #13140: Fix the daemon_threads attribute of ThreadingMixIn. 2011-11-04 10:15:57 +01:00
Victor Stinner
b30ac940db Issue #12250: test_socketserver uses a timeout of 60 seconds instead of 20
test_shutdown() may fail on very slow buildbots like FreeBSD 6.4 just because
of the arbitrary timeout.
2011-07-14 14:53:24 +02:00
Ezio Melotti
2623a37852 Merged revisions 86596 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r86596 | ezio.melotti | 2010-11-20 21:04:17 +0200 (Sat, 20 Nov 2010) | 1 line

  #9424: Replace deprecated assert* methods in the Python test suite.
........
2010-11-21 13:34:58 +00:00
Victor Stinner
708c0727f9 Issue #7449: Skip test_socketserver if threading support is disabled 2010-05-26 17:25:28 +00:00
Victor Stinner
6a10281d33 Issue #7449, last part (11): fix many tests if thread support is disabled
* Use try/except ImportError or test_support.import_module() to import thread
   and threading modules
 * Add @unittest.skipUnless(threading, ...) to testcases using threads
2010-04-27 23:55:59 +00:00
Antoine Pitrou
a624040d72 Issue #2302: Fix a race condition in SocketServer.BaseServer.shutdown,
where the method could block indefinitely if called just before the
event loop started running.  This also fixes the occasional freezes
witnessed in test_httpservers.
2010-04-25 21:40:32 +00:00
Georg Brandl
a4f46e1292 Remove unused imports in test modules. 2010-02-07 17:03:15 +00:00
Antoine Pitrou
8aea050911 Reduce the probability of refleaks in test_socketserver.
Not completely suppressed though, see issue #7222.
2009-10-27 21:27:24 +00:00
Benjamin Peterson
bec087f29d fix incorrect auto-translation of TestSkipped -> unittest.SkipTest 2009-03-26 21:10:30 +00:00
Benjamin Peterson
888a39b54c remove test_support.TestSkipped and just use unittest.SkipTest 2009-03-26 20:48:25 +00:00
Benjamin Peterson
a9b2222de4 change a few uses of the threading APIs 2008-08-18 18:01:43 +00:00
Benjamin Peterson
0fbcf69455 give the threading API PEP 8 names 2008-06-11 17:27:50 +00:00
Georg Brandl
e152a77d96 socketserver renaming reversal part 3: move the module into the right
place and fix all references to it.  Closes #2926.
2008-05-24 18:31:28 +00:00
Alexandre Vassalotti
d192c925ac Updated all import statements to use the new socketserver module name.
Renamed socketserver module in its own documentation.
Renamed documentation references.
2008-05-12 02:11:22 +00:00
Trent Nelson
e41b0061dd - Issue #2550: The approach used by client/server code for obtaining ports
to listen on in network-oriented tests has been refined in an effort to
  facilitate running multiple instances of the entire regression test suite
  in parallel without issue.  test_support.bind_port() has been fixed such
  that it will always return a unique port -- which wasn't always the case
  with the previous implementation, especially if socket options had been
  set that affected address reuse (i.e. SO_REUSEADDR, SO_REUSEPORT).  The
  new implementation of bind_port() will actually raise an exception if it
  is passed an AF_INET/SOCK_STREAM socket with either the SO_REUSEADDR or
  SO_REUSEPORT socket option set.  Furthermore, if available, bind_port()
  will set the SO_EXCLUSIVEADDRUSE option on the socket it's been passed.
  This currently only applies to Windows.  This option prevents any other
  sockets from binding to the host/port we've bound to, thus removing the
  possibility of the 'non-deterministic' behaviour, as Microsoft puts it,
  that occurs when a second SOCK_STREAM socket binds and accepts to a
  host/port that's already been bound by another socket.  The optional
  preferred port parameter to bind_port() has been removed.  Under no
  circumstances should tests be hard coding ports!

  test_support.find_unused_port() has also been introduced, which will pass
  a temporary socket object to bind_port() in order to obtain an unused port.
  The temporary socket object is then closed and deleted, and the port is
  returned.  This method should only be used for obtaining an unused port
  in order to pass to an external program (i.e. the -accept [port] argument
  to openssl's s_server mode) or as a parameter to a server-oriented class
  that doesn't give you direct access to the underlying socket used.

  Finally, test_support.HOST has been introduced, which should be used for
  the host argument of any relevant socket calls (i.e. bind and connect).

  The following tests were updated to following the new conventions:
    test_socket, test_smtplib, test_asyncore, test_ssl, test_httplib,
    test_poplib, test_ftplib, test_telnetlib, test_socketserver,
    test_asynchat and test_socket_ssl.

  It is now possible for multiple instances of the regression test suite to
  run in parallel without issue.
2008-04-08 23:47:30 +00:00