~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/ftp_server/pyftpdlib_based.py

  • Committer: Vincent Ladeuil
  • Date: 2009-10-08 17:19:38 UTC
  • mto: (5247.1.1 first-try)
  • mto: This revision was merged to the branch mainline in revision 5396.
  • Revision ID: v.ladeuil+lp@free.fr-20091008171938-e72q9ipz1h3l5thd
Implement a new -Ethreads to better track the leaks.
* bzrlib/tests/test_http.py:
(RecordingServer.setUp, RecordingServer.tearDown): Implement -Ethreads.

* bzrlib/tests/http_server.py:
(HttpServer.setUp, HttpServer.tearDown): Implement -Ethreads.

* bzrlib/tests/ftp_server/pyftpdlib_based.py:
(FTPTestServer.setUp, FTPTestServer.tearDown): Implement -Ethreads.

* bzrlib/tests/ftp_server/medusa_based.py:
(FTPTestServer.setUp, FTPTestServer.tearDown): Implement -Ethreads.

* bzrlib/tests/__init__.py:
(TestCase._check_leaked_threads): Implement -Ethreads.
(ChrootedTestCase.setUp): Fix some imports.

* bzrlib/builtins.py:
(cmd_selftest.run): Fix some imports.

Show diffs side-by-side

added added

removed removed

Lines of Context:
28
28
 
29
29
from bzrlib import (
30
30
    osutils,
 
31
    tests,
31
32
    trace,
32
33
    transport,
33
34
    )
182
183
        self._ftpd_starting.acquire() # So it can be released by the server
183
184
        self._ftpd_thread = threading.Thread(target=self._run_server,)
184
185
        self._ftpd_thread.start()
 
186
        if 'threads' in tests.selftest_debug_flags:
 
187
            print 'Thread started: %s' % (self._ftpd_thread.ident,)
185
188
        # Wait for the server thread to start (i.e release the lock)
186
189
        self._ftpd_starting.acquire()
187
190
        self._ftpd_starting.release()
194
197
        self._ftp_server.close()
195
198
        self._ftpd_running = False
196
199
        self._ftpd_thread.join()
 
200
        if 'threads' in tests.selftest_debug_flags:
 
201
            print 'Thread  joined: %s' % (self._ftpd_thread.ident,)
197
202
 
198
203
    def _run_server(self):
199
204
        """Run the server until tearDown is called, shut it down properly then.