~bzr-pqm/bzr/bzr.dev

1740.5.1 by Martin Pool
When an unhandled exception occurs, write the traceback to stderr.
1
# Copyright (C) 2006 by Canonical Ltd
2
#
3
# This program is free software; you can redistribute it and/or modify
4
# it under the terms of the GNU General Public License as published by
5
# the Free Software Foundation; either version 2 of the License, or
6
# (at your option) any later version.
7
#
8
# This program is distributed in the hope that it will be useful,
9
# but WITHOUT ANY WARRANTY; without even the implied warranty of
10
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11
# GNU General Public License for more details.
12
#
13
# You should have received a copy of the GNU General Public License
14
# along with this program; if not, write to the Free Software
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16
17
"""Tests for display of exceptions."""
18
19
import os
20
import sys
21
22
from bzrlib.tests import TestCaseInTempDir, TestCase
1740.5.6 by Martin Pool
Clean up many exception classes.
23
from bzrlib.errors import NotBranchError
1740.5.1 by Martin Pool
When an unhandled exception occurs, write the traceback to stderr.
24
25
class TestExceptionReporting(TestCase):
26
1740.5.2 by Martin Pool
Improved tests for display of exceptions.
27
    def test_report_exception(self):
1740.5.1 by Martin Pool
When an unhandled exception occurs, write the traceback to stderr.
28
        """When an error occurs, display bug report details to stderr"""
29
        out, err = self.run_bzr("assert-fail", retcode=3)
30
        self.assertContainsRe(err,
1740.5.3 by Martin Pool
Cleanup more exception-formatting code
31
                r'bzr: ERROR: exceptions\.AssertionError: always fails\n')
1740.5.1 by Martin Pool
When an unhandled exception occurs, write the traceback to stderr.
32
        self.assertContainsRe(err, r'please send this report to')
33
34
    # TODO: assert-fail doesn't need to always be present; we could just
35
    # register (and unregister) it from tests that want to touch it.
36
    #
1740.5.7 by Martin Pool
Add test for formatting of EPIPE
37
    # TODO: Some kind of test for the feature of invoking pdb