~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_errors.py

Merge bzr.dev

Show diffs side-by-side

added added

removed removed

Lines of Context:
166
166
                             repo.bzrdir.root_transport.base,
167
167
                             str(error))
168
168
 
 
169
    def test_read_error(self):
 
170
        # a unicode path to check that %r is being used.
 
171
        path = u'a path'
 
172
        error = errors.ReadError(path)
 
173
        self.assertEqualDiff("Error reading from u'a path'.", str(error))
 
174
 
 
175
 
169
176
    def test_bzrnewerror_is_deprecated(self):
170
177
        class DeprecatedError(errors.BzrNewError):
171
178
            pass
205
212
            str(error))
206
213
 
207
214
    def test_transport_not_possible(self):
208
 
        e = errors.TransportNotPossible('readonly', 'original error')
209
 
        self.assertEqual('Transport operation not possible:'
210
 
                         ' readonly original error', str(e))
 
215
        error = errors.TransportNotPossible('readonly', 'original error')
 
216
        self.assertEqualDiff('Transport operation not possible:'
 
217
                         ' readonly original error', str(error))
211
218
 
212
219
    def assertSocketConnectionError(self, expected, *args, **kwargs):
213
220
        """Check the formatting of a SocketConnectionError exception"""
273
280
            "Could not understand response from smart server: ('not yes',)",
274
281
            str(e))
275
282
 
 
283
    def test_unknown_container_format(self):
 
284
        """Test the formatting of UnknownContainerFormatError."""
 
285
        e = errors.UnknownContainerFormatError('bad format string')
 
286
        self.assertEqual(
 
287
            "Unrecognised container format: 'bad format string'",
 
288
            str(e))
 
289
 
 
290
    def test_unexpected_end_of_container(self):
 
291
        """Test the formatting of UnexpectedEndOfContainerError."""
 
292
        e = errors.UnexpectedEndOfContainerError()
 
293
        self.assertEqual(
 
294
            "Unexpected end of container stream", str(e))
 
295
 
 
296
    def test_unknown_record_type(self):
 
297
        """Test the formatting of UnknownRecordTypeError."""
 
298
        e = errors.UnknownRecordTypeError("X")
 
299
        self.assertEqual(
 
300
            "Unknown record type: 'X'",
 
301
            str(e))
 
302
 
 
303
    def test_invalid_record(self):
 
304
        """Test the formatting of InvalidRecordError."""
 
305
        e = errors.InvalidRecordError("xxx")
 
306
        self.assertEqual(
 
307
            "Invalid record: xxx",
 
308
            str(e))
 
309
 
 
310
    def test_container_has_excess_data(self):
 
311
        """Test the formatting of ContainerHasExcessDataError."""
 
312
        e = errors.ContainerHasExcessDataError("excess bytes")
 
313
        self.assertEqual(
 
314
            "Container has data after end marker: 'excess bytes'",
 
315
            str(e))
 
316
 
 
317
    def test_duplicate_record_name_error(self):
 
318
        """Test the formatting of DuplicateRecordNameError."""
 
319
        e = errors.DuplicateRecordNameError(u"n\xe5me".encode('utf-8'))
 
320
        self.assertEqual(
 
321
            "Container has multiple records with the same name: \"n\xc3\xa5me\"",
 
322
            str(e))
 
323
 
276
324
 
277
325
class PassThroughError(errors.BzrError):
278
326
    
319
367
        e = ErrorWithBadFormat(not_thing='x')
320
368
        self.assertStartsWith(
321
369
            str(e), 'Unprintable exception ErrorWithBadFormat')
322