/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/tests/__init__.py

  • Committer: Parth Malwankar
  • Date: 2010-04-29 11:34:46 UTC
  • mfrom: (5193 +trunk)
  • mto: This revision was merged to the branch mainline in revision 5214.
  • Revision ID: parth.malwankar@gmail.com-20100429113446-tu30ue1defxnff3r
merged in changes from trunk and resolved conflict in NEWS

Show diffs side-by-side

added added

removed removed

Lines of Context:
14
14
# along with this program; if not, write to the Free Software
15
15
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
16
 
 
17
"""Testing framework extensions"""
17
18
 
18
19
# TODO: Perhaps there should be an API to find out if bzr running under the
19
20
# test suite -- some plugins might want to avoid making intrusive changes if
1312
1313
            f.close()
1313
1314
        self.assertEqualDiff(content, s)
1314
1315
 
 
1316
    def assertDocstring(self, expected_docstring, obj):
 
1317
        """Fail if obj does not have expected_docstring"""
 
1318
        if __doc__ is None:
 
1319
            # With -OO the docstring should be None instead
 
1320
            self.assertIs(obj.__doc__, None)
 
1321
        else:
 
1322
            self.assertEqual(expected_docstring, obj.__doc__)
 
1323
 
1315
1324
    def failUnlessExists(self, path):
1316
1325
        """Fail unless path or paths, which may be abs or relative, exist."""
1317
1326
        if not isinstance(path, basestring):
3192
3201
    return result
3193
3202
 
3194
3203
 
 
3204
def workaround_zealous_crypto_random():
 
3205
    """Crypto.Random want to help us being secure, but we don't care here.
 
3206
 
 
3207
    This workaround some test failure related to the sftp server. Once paramiko
 
3208
    stop using the controversial API in Crypto.Random, we may get rid of it.
 
3209
    """
 
3210
    try:
 
3211
        from Crypto.Random import atfork
 
3212
        atfork()
 
3213
    except ImportError:
 
3214
        pass
 
3215
 
 
3216
 
3195
3217
def fork_for_tests(suite):
3196
3218
    """Take suite and start up one runner per CPU by forking()
3197
3219
 
3221
3243
        c2pread, c2pwrite = os.pipe()
3222
3244
        pid = os.fork()
3223
3245
        if pid == 0:
 
3246
            workaround_zealous_crypto_random()
3224
3247
            try:
3225
3248
                os.close(c2pread)
3226
3249
                # Leave stderr and stdout open so we can see test noise
3796
3819
 
3797
3820
 
3798
3821
def _test_suite_modules_to_doctest():
3799
 
    """Return the list of modules to doctest."""   
 
3822
    """Return the list of modules to doctest."""
 
3823
    if __doc__ is None:
 
3824
        # GZ 2009-03-31: No docstrings with -OO so there's nothing to doctest
 
3825
        return []
3800
3826
    return [
3801
3827
        'bzrlib',
3802
3828
        'bzrlib.branchbuilder',