~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/blackbox/__init__.py

  • Committer: Alexander Belchenko
  • Date: 2006-07-30 16:43:12 UTC
  • mto: (1711.2.111 jam-integration)
  • mto: This revision was merged to the branch mainline in revision 1906.
  • Revision ID: bialix@ukr.net-20060730164312-b025fd3ff0cee59e
rename  gpl.txt => COPYING.txt

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2005-2010 Canonical Ltd
 
1
# Copyright (C) 2005, 2006 by 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
12
12
#
13
13
# You should have received a copy of the GNU General Public License
14
14
# along with this program; if not, write to the Free Software
15
 
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16
16
 
17
17
 
18
18
"""Black-box tests for bzr.
19
19
 
20
20
These check that it behaves properly when it's invoked through the regular
21
 
command-line interface. This doesn't actually run a new interpreter but
 
21
command-line interface. This doesn't actually run a new interpreter but 
22
22
rather starts again from the run_bzr function.
23
23
"""
24
24
 
25
 
 
26
 
from bzrlib.symbol_versioning import (
27
 
    deprecated_in,
28
 
    deprecated_method,
29
 
    )
30
 
from bzrlib import tests
31
 
 
32
 
 
33
 
def load_tests(basic_tests, module, loader):
34
 
    suite = loader.suiteClass()
35
 
    # add the tests for this module
36
 
    suite.addTests(basic_tests)
37
 
 
 
25
import sys
 
26
 
 
27
from bzrlib.tests import (
 
28
                          adapt_modules,
 
29
                          TestCaseWithTransport,
 
30
                          TestSuite,
 
31
                          TestLoader,
 
32
                          iter_suite_tests,
 
33
                          )
 
34
from bzrlib.tests.EncodingAdapter import EncodingTestAdapter
 
35
import bzrlib.ui as ui
 
36
 
 
37
 
 
38
def test_suite():
38
39
    testmod_names = [
39
40
                     'bzrlib.tests.blackbox.test_add',
40
41
                     'bzrlib.tests.blackbox.test_added',
41
 
                     'bzrlib.tests.blackbox.test_alias',
42
42
                     'bzrlib.tests.blackbox.test_aliases',
43
43
                     'bzrlib.tests.blackbox.test_ancestry',
44
44
                     'bzrlib.tests.blackbox.test_annotate',
45
45
                     'bzrlib.tests.blackbox.test_branch',
46
46
                     'bzrlib.tests.blackbox.test_break_lock',
47
 
                     'bzrlib.tests.blackbox.test_breakin',
48
47
                     'bzrlib.tests.blackbox.test_bound_branches',
49
 
                     'bzrlib.tests.blackbox.test_bundle_info',
 
48
                     'bzrlib.tests.blackbox.test_bundle',
50
49
                     'bzrlib.tests.blackbox.test_cat',
51
 
                     'bzrlib.tests.blackbox.test_cat_revision',
52
 
                     'bzrlib.tests.blackbox.test_check',
53
50
                     'bzrlib.tests.blackbox.test_checkout',
54
 
                     'bzrlib.tests.blackbox.test_clean_tree',
55
51
                     'bzrlib.tests.blackbox.test_command_encoding',
56
52
                     'bzrlib.tests.blackbox.test_commit',
57
53
                     'bzrlib.tests.blackbox.test_conflicts',
58
 
                     'bzrlib.tests.blackbox.test_debug',
59
 
                     'bzrlib.tests.blackbox.test_deleted',
60
54
                     'bzrlib.tests.blackbox.test_diff',
61
 
                     'bzrlib.tests.blackbox.test_dump_btree',
62
 
                     'bzrlib.tests.blackbox.test_dpush',
63
55
                     'bzrlib.tests.blackbox.test_exceptions',
64
56
                     'bzrlib.tests.blackbox.test_export',
65
 
                     'bzrlib.tests.blackbox.test_filesystem_cicp',
66
 
                     'bzrlib.tests.blackbox.test_filtered_view_ops',
67
57
                     'bzrlib.tests.blackbox.test_find_merge_base',
68
58
                     'bzrlib.tests.blackbox.test_help',
69
 
                     'bzrlib.tests.blackbox.test_hooks',
70
59
                     'bzrlib.tests.blackbox.test_ignore',
71
60
                     'bzrlib.tests.blackbox.test_ignored',
72
61
                     'bzrlib.tests.blackbox.test_info',
73
62
                     'bzrlib.tests.blackbox.test_init',
74
 
                     'bzrlib.tests.blackbox.test_inventory',
75
 
                     'bzrlib.tests.blackbox.test_join',
76
 
                     'bzrlib.tests.blackbox.test_locale',
77
63
                     'bzrlib.tests.blackbox.test_log',
78
64
                     'bzrlib.tests.blackbox.test_logformats',
79
 
                     'bzrlib.tests.blackbox.test_lookup_revision',
80
65
                     'bzrlib.tests.blackbox.test_ls',
81
 
                     'bzrlib.tests.blackbox.test_lsprof',
82
66
                     'bzrlib.tests.blackbox.test_merge',
83
 
                     'bzrlib.tests.blackbox.test_merge_directive',
84
67
                     'bzrlib.tests.blackbox.test_missing',
85
 
                     'bzrlib.tests.blackbox.test_modified',
86
68
                     'bzrlib.tests.blackbox.test_mv',
87
 
                     'bzrlib.tests.blackbox.test_nick',
88
 
                     'bzrlib.tests.blackbox.test_non_ascii',
89
69
                     'bzrlib.tests.blackbox.test_outside_wt',
90
 
                     'bzrlib.tests.blackbox.test_pack',
91
70
                     'bzrlib.tests.blackbox.test_pull',
92
71
                     'bzrlib.tests.blackbox.test_push',
93
72
                     'bzrlib.tests.blackbox.test_reconcile',
94
 
                     'bzrlib.tests.blackbox.test_reconfigure',
95
 
                     'bzrlib.tests.blackbox.test_reference',
96
73
                     'bzrlib.tests.blackbox.test_remerge',
97
74
                     'bzrlib.tests.blackbox.test_remove',
98
75
                     'bzrlib.tests.blackbox.test_re_sign',
99
 
                     'bzrlib.tests.blackbox.test_remove_tree',
100
76
                     'bzrlib.tests.blackbox.test_revert',
101
77
                     'bzrlib.tests.blackbox.test_revno',
102
78
                     'bzrlib.tests.blackbox.test_revision_history',
103
79
                     'bzrlib.tests.blackbox.test_revision_info',
104
 
                     'bzrlib.tests.blackbox.test_rmbranch',
105
80
                     'bzrlib.tests.blackbox.test_selftest',
106
 
                     'bzrlib.tests.blackbox.test_send',
107
 
                     'bzrlib.tests.blackbox.test_serve',
108
81
                     'bzrlib.tests.blackbox.test_shared_repository',
109
 
                     'bzrlib.tests.blackbox.test_shelve',
110
82
                     'bzrlib.tests.blackbox.test_sign_my_commits',
111
 
                     'bzrlib.tests.blackbox.test_split',
112
83
                     'bzrlib.tests.blackbox.test_status',
113
 
                     'bzrlib.tests.blackbox.test_switch',
114
 
                     'bzrlib.tests.blackbox.test_tags',
115
 
                     'bzrlib.tests.blackbox.test_testament',
116
84
                     'bzrlib.tests.blackbox.test_too_much',
117
85
                     'bzrlib.tests.blackbox.test_uncommit',
118
 
                     'bzrlib.tests.blackbox.test_unknowns',
119
86
                     'bzrlib.tests.blackbox.test_update',
120
87
                     'bzrlib.tests.blackbox.test_upgrade',
121
 
                     'bzrlib.tests.blackbox.test_version',
122
 
                     'bzrlib.tests.blackbox.test_version_info',
123
88
                     'bzrlib.tests.blackbox.test_versioning',
124
 
                     'bzrlib.tests.blackbox.test_view',
125
89
                     'bzrlib.tests.blackbox.test_whoami',
126
90
                     ]
127
 
    # add the tests for the sub modules
128
 
    suite.addTests(loader.loadTestsFromModuleNames(testmod_names))
 
91
    test_encodings = [
 
92
        'bzrlib.tests.blackbox.test_non_ascii',
 
93
    ]
 
94
 
 
95
    loader = TestLoader()
 
96
    suite = loader.loadTestsFromModuleNames(testmod_names) 
 
97
 
 
98
    adapter = EncodingTestAdapter()
 
99
    adapt_modules(test_encodings, adapter, loader, suite)
 
100
 
129
101
    return suite
130
102
 
131
103
 
132
 
class ExternalBase(tests.TestCaseWithTransport):
133
 
    """Don't use this class anymore, use TestCaseWithTransport or similar"""
134
 
 
135
 
    @deprecated_method(deprecated_in((2, 2, 0)))
136
 
    def check_output(self, output, *args):
137
 
        """Verify that the expected output matches what bzr says.
138
 
 
139
 
        The output is supplied first, so that you can supply a variable
140
 
        number of arguments to bzr.
141
 
        """
142
 
        self.assertEquals(self.run_bzr(*args)[0], output)
 
104
class ExternalBase(TestCaseWithTransport):
 
105
 
 
106
    def runbzr(self, args, retcode=0, backtick=False):
 
107
        if isinstance(args, basestring):
 
108
            args = args.split()
 
109
        if backtick:
 
110
            return self.run_bzr_captured(args, retcode=retcode)[0]
 
111
        else:
 
112
            return self.run_bzr_captured(args, retcode=retcode)
 
113
 
 
114
 
 
115
class TestUIFactory(ui.CLIUIFactory):
 
116
    """A UI Factory for testing - hide the progress bar but emit note()s."""
 
117
 
 
118
    def __init__(self,
 
119
                 stdout=None,
 
120
                 stderr=None):
 
121
        super(TestUIFactory, self).__init__()
 
122
        if stdout is None:
 
123
            self.stdout = sys.stdout
 
124
        else:
 
125
            self.stdout = stdout
 
126
        if stderr is None:
 
127
            self.stderr = sys.stderr
 
128
        else:
 
129
            self.stderr = stderr
 
130
 
 
131
    def clear(self):
 
132
        """See progress.ProgressBar.clear()."""
 
133
 
 
134
    def clear_term(self):
 
135
        """See progress.ProgressBar.clear_term()."""
 
136
 
 
137
    def clear_term(self):
 
138
        """See progress.ProgressBar.clear_term()."""
 
139
 
 
140
    def finished(self):
 
141
        """See progress.ProgressBar.finished()."""
 
142
 
 
143
    def note(self, fmt_string, *args, **kwargs):
 
144
        """See progress.ProgressBar.note()."""
 
145
        self.stdout.write((fmt_string + "\n") % args)
 
146
 
 
147
    def progress_bar(self):
 
148
        return self
 
149
    
 
150
    def nested_progress_bar(self):
 
151
        return self
 
152
 
 
153
    def update(self, message, count=None, total=None):
 
154
        """See progress.ProgressBar.update()."""