~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test__bencode.py

  • Committer: Vincent Ladeuil
  • Date: 2010-03-10 09:33:04 UTC
  • mto: (5082.1.1 integration)
  • mto: This revision was merged to the branch mainline in revision 5083.
  • Revision ID: v.ladeuil+lp@free.fr-20100310093304-4245t4tazd4sxoav
Cleanup test from overly cautious checks.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2007, 2009, 2010, 2016 Canonical Ltd
 
1
# Copyright (C) 2007, 2009, 2010 Canonical Ltd
2
2
#
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
16
16
 
17
17
"""Tests for bencode structured encoding"""
18
18
 
19
 
import sys
20
 
 
21
19
from bzrlib import tests
22
20
 
23
21
def load_tests(standard_tests, module, loader):
31
29
    module = None
32
30
 
33
31
    def _check(self, expected, source):
34
 
        self.assertEqual(expected, self.module.bdecode(source))
 
32
        self.assertEquals(expected, self.module.bdecode(source))
35
33
 
36
34
    def _run_check_error(self, exc, bad):
37
35
        """Check that bdecoding a string raises a particular exception."""
107
105
                            'd8:spam.mp3d6:author5:Alice6:lengthi100000eee')
108
106
 
109
107
    def test_dict_deepnested(self):
110
 
        # The recursion here provokes CPython into emitting a warning on
111
 
        # stderr, "maximum recursion depth exceeded in __subclasscheck__", due
112
 
        # to running out of stack space while evaluating "except (...):" in
113
 
        # _bencode_py.  This is harmless, so we temporarily override stderr to
114
 
        # avoid distracting noise in the test output.
115
 
        self.overrideAttr(sys, 'stderr', self._log_file)
116
 
        self._run_check_error(
117
 
            RuntimeError, ("d0:" * 10000) + 'i1e' + ("e" * 10000))
 
108
        self._run_check_error(RuntimeError, ("d0:" * 10000) + 'i1e' + ("e" * 10000))
118
109
 
119
110
    def test_malformed_dict(self):
120
111
        self._run_check_error(ValueError, 'd')
155
146
    module = None
156
147
 
157
148
    def _check(self, expected, source):
158
 
        self.assertEqual(expected, self.module.bencode(source))
 
149
        self.assertEquals(expected, self.module.bencode(source))
159
150
 
160
151
    def test_int(self):
161
152
        self._check('i4e', 4)