~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_errors.py

merge 2.0 branch rev 4647

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2006, 2007, 2008 Canonical Ltd
2
 
#   Authors: Robert Collins <robert.collins@canonical.com>
3
 
#            and others
 
1
# Copyright (C) 2006, 2007, 2008, 2009 Canonical Ltd
4
2
#
5
3
# This program is free software; you can redistribute it and/or modify
6
4
# it under the terms of the GNU General Public License as published by
18
16
 
19
17
"""Tests for the formatting and construction of errors."""
20
18
 
 
19
import socket
21
20
import sys
 
21
 
22
22
from bzrlib import (
23
23
    bzrdir,
24
24
    errors,
87
87
            "reason: reason for foo",
88
88
            str(error))
89
89
 
 
90
    def test_inconsistent_delta_delta(self):
 
91
        error = errors.InconsistentDeltaDelta([], 'reason')
 
92
        self.assertEqualDiff(
 
93
            "An inconsistent delta was supplied: []\nreason: reason",
 
94
            str(error))
 
95
 
90
96
    def test_in_process_transport(self):
91
97
        error = errors.InProcessTransport('fpp')
92
98
        self.assertEqualDiff(
242
248
            "You will need to upgrade the branch to permit branch stacking.",
243
249
            str(error))
244
250
 
 
251
    def test_unstackable_location(self):
 
252
        error = errors.UnstackableLocationError('foo', 'bar')
 
253
        self.assertEqualDiff("The branch 'foo' cannot be stacked on 'bar'.",
 
254
            str(error))
 
255
 
245
256
    def test_unstackable_repository_format(self):
246
257
        format = u'foo'
247
258
        url = "/foo"
658
669
        e = ErrorWithBadFormat(not_thing='x')
659
670
        self.assertStartsWith(
660
671
            str(e), 'Unprintable exception ErrorWithBadFormat')
 
672
 
 
673
    def test_cannot_bind_address(self):
 
674
        # see <https://bugs.edge.launchpad.net/bzr/+bug/286871>
 
675
        e = errors.CannotBindAddress('example.com', 22,
 
676
            socket.error(13, 'Permission denied'))
 
677
        self.assertContainsRe(str(e),
 
678
            r'Cannot bind address "example\.com:22":.*Permission denied')