/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar
2220.2.2 by Martin Pool
Add tag command and basic implementation
1
# Copyright (C) 2005, 2006, 2007 Canonical Ltd
1831.1.1 by Martin Pool
[merge] remove default ignore list & update
2
#
1513 by Robert Collins
Blackbox tests are maintained within the bzrlib.tests.blackbox directory.
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.
1831.1.1 by Martin Pool
[merge] remove default ignore list & update
7
#
1513 by Robert Collins
Blackbox tests are maintained within the bzrlib.tests.blackbox directory.
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.
1831.1.1 by Martin Pool
[merge] remove default ignore list & update
12
#
1513 by Robert Collins
Blackbox tests are maintained within the bzrlib.tests.blackbox directory.
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
18
"""Black-box tests for bzr.
19
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 
22
rather starts again from the run_bzr function.
23
"""
24
1692.3.3 by Robert Collins
Get run_bzr in tests to always assign a new, clean ui factory.
25
import sys
26
1534.4.54 by Robert Collins
Merge from integration.
27
from bzrlib.tests import (
1685.1.70 by Wouter van Heyst
working on get_parent, set_parent and relative urls, broken
28
                          adapt_modules,
1534.4.54 by Robert Collins
Merge from integration.
29
                          TestCaseWithTransport,
30
                          TestSuite,
31
                          TestLoader,
1185.85.84 by John Arbash Meinel
[merge] bzr.dev 1573, lots of updates
32
                          iter_suite_tests,
1534.4.54 by Robert Collins
Merge from integration.
33
                          )
1685.1.69 by Wouter van Heyst
merge bzr.dev 1740
34
from bzrlib.tests.EncodingAdapter import EncodingTestAdapter
1570.1.2 by Robert Collins
Import bzrtools' 'fix' command as 'bzr reconcile.'
35
import bzrlib.ui as ui
36
1513 by Robert Collins
Blackbox tests are maintained within the bzrlib.tests.blackbox directory.
37
38
def test_suite():
39
    testmod_names = [
1711.1.2 by Robert Collins
'bzr add' is now less verbose in telling you what ignore globs were
40
                     'bzrlib.tests.blackbox.test_add',
1548 by Martin Pool
Fix 'bzr added' typo, and tests for that command.
41
                     'bzrlib.tests.blackbox.test_added',
1553.6.6 by Erik Bågfors
blackbox tests for aliases,--no-aliases and aliases with options
42
                     'bzrlib.tests.blackbox.test_aliases',
1551.3.11 by Aaron Bentley
Merge from Robert
43
                     'bzrlib.tests.blackbox.test_ancestry',
1694.2.6 by Martin Pool
[merge] bzr.dev
44
                     'bzrlib.tests.blackbox.test_annotate',
1711.2.5 by John Arbash Meinel
Factoring blackbox tests into their own file.
45
                     'bzrlib.tests.blackbox.test_branch',
1553.5.34 by Martin Pool
Stub lock-breaking command
46
                     'bzrlib.tests.blackbox.test_break_lock',
1505.1.22 by John Arbash Meinel
Some small cleanup and discussion in preparation for modifying commit, pull, and merge
47
                     'bzrlib.tests.blackbox.test_bound_branches',
1185.84.4 by Aaron Bentley
Use parent branch as default base branch
48
                     'bzrlib.tests.blackbox.test_bundle',
1185.50.9 by John Arbash Meinel
[bug 3632] Matthieu Moy- bzr cat should default to last revision
49
                     'bzrlib.tests.blackbox.test_cat',
1508.1.20 by Robert Collins
Create a checkout command.
50
                     'bzrlib.tests.blackbox.test_checkout',
1185.85.24 by John Arbash Meinel
Moved run_bzr_decode into TestCase
51
                     'bzrlib.tests.blackbox.test_command_encoding',
1508.1.22 by Robert Collins
implement out of date working tree checks in commit.
52
                     'bzrlib.tests.blackbox.test_commit',
1551.2.17 by Aaron Bentley
Fixed conflict commands
53
                     'bzrlib.tests.blackbox.test_conflicts',
2095.5.1 by Martin Pool
Add new -Derror global option to always display tracebacks
54
                     'bzrlib.tests.blackbox.test_debug',
1185.50.44 by John Arbash Meinel
[patch] Robey Pointer: diff -r 1.. should diff against working tree.
55
                     'bzrlib.tests.blackbox.test_diff',
1740.5.1 by Martin Pool
When an unhandled exception occurs, write the traceback to stderr.
56
                     'bzrlib.tests.blackbox.test_exceptions',
1185.61.4 by Jamie Wilkinson
rearrange blackbox tests to be in alphabetical order
57
                     'bzrlib.tests.blackbox.test_export',
1551.2.2 by Aaron Bentley
Fix find-merge-base for new API [recommit]
58
                     'bzrlib.tests.blackbox.test_find_merge_base',
1553.4.3 by Michael Ellerman
Add custom description for help's --long option, this fixes bug #31217.
59
                     'bzrlib.tests.blackbox.test_help',
1765.1.3 by Robert Collins
Merge from integration.
60
                     'bzrlib.tests.blackbox.test_ignore',
1713.3.1 by Robert Collins
Smoke tests for tree.list_files and bzr ignored when a versioned file matches an ignore rule.
61
                     'bzrlib.tests.blackbox.test_ignored',
1534.5.1 by Robert Collins
Give info some reasonable output and tests.
62
                     'bzrlib.tests.blackbox.test_info',
1553.5.78 by Martin Pool
New bzr init --format option and test
63
                     'bzrlib.tests.blackbox.test_init',
2027.4.1 by John Arbash Meinel
Factor the 'bzr inventory' tests out of tests_too_much
64
                     'bzrlib.tests.blackbox.test_inventory',
1955.2.2 by John Arbash Meinel
Change the name of the test classes (test_lang => test_locale), move the function into osutils.py
65
                     'bzrlib.tests.blackbox.test_locale',
1185.85.4 by John Arbash Meinel
currently broken, trying to fix things up.
66
                     'bzrlib.tests.blackbox.test_log',
1553.2.11 by Erik Bågfors
blackbox tests for default log format and log-format arguments
67
                     'bzrlib.tests.blackbox.test_logformats',
1836.1.17 by John Arbash Meinel
move 'bzr ls' tests into their own file, and fix them up.
68
                     'bzrlib.tests.blackbox.test_ls',
1551.6.8 by Aaron Bentley
Implemented reprocess for weave
69
                     'bzrlib.tests.blackbox.test_merge',
1185.61.4 by Jamie Wilkinson
rearrange blackbox tests to be in alphabetical order
70
                     'bzrlib.tests.blackbox.test_missing',
1846.1.1 by Wouter van Heyst
Don't fail on 'bzr mv', extract move tests from OldTests.
71
                     'bzrlib.tests.blackbox.test_mv',
2120.5.1 by Alexander Belchenko
Added test for bug #66857 (autonick is urlencoded)
72
                     'bzrlib.tests.blackbox.test_nick',
1185.62.15 by John Arbash Meinel
Adding fix + test for correct error message when not in branch.
73
                     'bzrlib.tests.blackbox.test_outside_wt',
1185.50.5 by John Arbash Meinel
pull --overwrite should always overwrite, not just if diverged. (Test case from Robey Pointer)
74
                     'bzrlib.tests.blackbox.test_pull',
1614.2.9 by Olaf Conradi
Added testcases for using push with --remember. Moved remember code to
75
                     'bzrlib.tests.blackbox.test_push',
1570.1.2 by Robert Collins
Import bzrtools' 'fix' command as 'bzr reconcile.'
76
                     'bzrlib.tests.blackbox.test_reconcile',
1711.2.70 by John Arbash Meinel
Add run_bzr_errors alongside run_bzr, to make it easy to check the right error is occurring.
77
                     'bzrlib.tests.blackbox.test_remerge',
1551.6.25 by Aaron Bentley
split out blackbox test for bzr remove
78
                     'bzrlib.tests.blackbox.test_remove',
1185.78.1 by John Arbash Meinel
Updating bzr re-sign to allow multiple arguments, and updating tests
79
                     'bzrlib.tests.blackbox.test_re_sign',
2127.2.1 by Daniel Silverstone
Add remove-tree and its blackbox tests
80
                     'bzrlib.tests.blackbox.test_remove_tree',
1185.50.53 by John Arbash Meinel
[patch] Aaron Bentley: make revert work in a subdirectory.
81
                     'bzrlib.tests.blackbox.test_revert',
1185.50.16 by John Arbash Meinel
[patch] Michael Ellerman: 'Trivial patch to allow revno to take a location'
82
                     'bzrlib.tests.blackbox.test_revno',
1733.2.1 by Michael Ellerman
Add an optional location parameter to the 'revision-history' command.
83
                     'bzrlib.tests.blackbox.test_revision_history',
1185.62.2 by John Arbash Meinel
test_revision_info.py is actually a blackbox test.
84
                     'bzrlib.tests.blackbox.test_revision_info',
1534.4.25 by Robert Collins
Add a --transport parameter to the test suite to set the default transport to be used in the test suite.
85
                     'bzrlib.tests.blackbox.test_selftest',
1910.19.7 by Andrew Bennetts
Allow specifying the host/interface to bzr serve, and use the new test
86
                     'bzrlib.tests.blackbox.test_serve',
1558.5.1 by Aaron Bentley
Added make-repository command
87
                     'bzrlib.tests.blackbox.test_shared_repository',
1185.78.6 by John Arbash Meinel
Adding sign-my-commits as a builtin, along with some simple tests.
88
                     'bzrlib.tests.blackbox.test_sign_my_commits',
1185.85.39 by John Arbash Meinel
cleanup of Alexander's patch
89
                     'bzrlib.tests.blackbox.test_status',
2220.2.2 by Martin Pool
Add tag command and basic implementation
90
                     'bzrlib.tests.blackbox.test_tags',
1930.2.1 by John Arbash Meinel
Move out the blackbox testament tests into a real blackbox module
91
                     'bzrlib.tests.blackbox.test_testament',
1185.61.4 by Jamie Wilkinson
rearrange blackbox tests to be in alphabetical order
92
                     'bzrlib.tests.blackbox.test_too_much',
1614.2.10 by Olaf Conradi
Move test_uncommit to blackbox tests.
93
                     'bzrlib.tests.blackbox.test_uncommit',
1508.1.24 by Robert Collins
Add update command for use with checkouts.
94
                     'bzrlib.tests.blackbox.test_update',
1534.4.13 by Robert Collins
Give a reasonable warning on attempts to upgrade a readonly url.
95
                     'bzrlib.tests.blackbox.test_upgrade',
2022.1.1 by John Arbash Meinel
[merge] version-info plugin, and cleanup for layout in bzr
96
                     'bzrlib.tests.blackbox.test_version_info',
1513 by Robert Collins
Blackbox tests are maintained within the bzrlib.tests.blackbox directory.
97
                     'bzrlib.tests.blackbox.test_versioning',
1816.2.3 by Robey Pointer
move the whoami blackbox tests into their own file and add more tests
98
                     'bzrlib.tests.blackbox.test_whoami',
1513 by Robert Collins
Blackbox tests are maintained within the bzrlib.tests.blackbox directory.
99
                     ]
1185.85.70 by John Arbash Meinel
Hooked up EncodingAdapter, and updated test_non_ascii.
100
    test_encodings = [
101
        'bzrlib.tests.blackbox.test_non_ascii',
102
    ]
103
1185.85.24 by John Arbash Meinel
Moved run_bzr_decode into TestCase
104
    loader = TestLoader()
1685.1.69 by Wouter van Heyst
merge bzr.dev 1740
105
    suite = loader.loadTestsFromModuleNames(testmod_names) 
1185.85.70 by John Arbash Meinel
Hooked up EncodingAdapter, and updated test_non_ascii.
106
107
    adapter = EncodingTestAdapter()
1685.1.70 by Wouter van Heyst
working on get_parent, set_parent and relative urls, broken
108
    adapt_modules(test_encodings, adapter, loader, suite)
1185.85.70 by John Arbash Meinel
Hooked up EncodingAdapter, and updated test_non_ascii.
109
1185.85.24 by John Arbash Meinel
Moved run_bzr_decode into TestCase
110
    return suite
1513 by Robert Collins
Blackbox tests are maintained within the bzrlib.tests.blackbox directory.
111
112
1534.4.50 by Robert Collins
Got the bzrdir api straightened out, plenty of refactoring to use it pending, but the api is up and running.
113
class ExternalBase(TestCaseWithTransport):
1513 by Robert Collins
Blackbox tests are maintained within the bzrlib.tests.blackbox directory.
114
115
    def runbzr(self, args, retcode=0, backtick=False):
116
        if isinstance(args, basestring):
117
            args = args.split()
118
        if backtick:
119
            return self.run_bzr_captured(args, retcode=retcode)[0]
120
        else:
121
            return self.run_bzr_captured(args, retcode=retcode)
1570.1.2 by Robert Collins
Import bzrtools' 'fix' command as 'bzr reconcile.'
122
123
1692.3.3 by Robert Collins
Get run_bzr in tests to always assign a new, clean ui factory.
124
class TestUIFactory(ui.CLIUIFactory):
1587.1.2 by Robert Collins
Review comments for reconcile.
125
    """A UI Factory for testing - hide the progress bar but emit note()s."""
1570.1.2 by Robert Collins
Import bzrtools' 'fix' command as 'bzr reconcile.'
126
1692.3.3 by Robert Collins
Get run_bzr in tests to always assign a new, clean ui factory.
127
    def __init__(self,
128
                 stdout=None,
129
                 stderr=None):
130
        super(TestUIFactory, self).__init__()
131
        if stdout is None:
132
            self.stdout = sys.stdout
133
        else:
134
            self.stdout = stdout
135
        if stderr is None:
136
            self.stderr = sys.stderr
137
        else:
138
            self.stderr = stderr
139
1570.1.2 by Robert Collins
Import bzrtools' 'fix' command as 'bzr reconcile.'
140
    def clear(self):
141
        """See progress.ProgressBar.clear()."""
142
1666.1.17 by Robert Collins
Add stub clear_term to the blackbox test ui factory.
143
    def clear_term(self):
144
        """See progress.ProgressBar.clear_term()."""
145
1666.1.20 by Robert Collins
Merge bzr.dev.
146
    def clear_term(self):
147
        """See progress.ProgressBar.clear_term()."""
148
1594.1.3 by Robert Collins
Fixup pb usage to use nested_progress_bar.
149
    def finished(self):
150
        """See progress.ProgressBar.finished()."""
151
1570.1.2 by Robert Collins
Import bzrtools' 'fix' command as 'bzr reconcile.'
152
    def note(self, fmt_string, *args, **kwargs):
153
        """See progress.ProgressBar.note()."""
1692.3.3 by Robert Collins
Get run_bzr in tests to always assign a new, clean ui factory.
154
        self.stdout.write((fmt_string + "\n") % args)
1570.1.2 by Robert Collins
Import bzrtools' 'fix' command as 'bzr reconcile.'
155
156
    def progress_bar(self):
157
        return self
1594.1.3 by Robert Collins
Fixup pb usage to use nested_progress_bar.
158
    
159
    def nested_progress_bar(self):
160
        return self
161
1570.1.2 by Robert Collins
Import bzrtools' 'fix' command as 'bzr reconcile.'
162
    def update(self, message, count=None, total=None):
163
        """See progress.ProgressBar.update()."""