/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar
1548 by Martin Pool
Fix 'bzr added' typo, and tests for that command.
1
# Copyright (C) 2005, 2006 by Canonical Ltd
1513 by Robert Collins
Blackbox tests are maintained within the bzrlib.tests.blackbox directory.
2
# -*- coding: utf-8 -*-
3
4
# This program is free software; you can redistribute it and/or modify
5
# it under the terms of the GNU General Public License as published by
6
# the Free Software Foundation; either version 2 of the License, or
7
# (at your option) any later version.
8
9
# This program is distributed in the hope that it will be useful,
10
# but WITHOUT ANY WARRANTY; without even the implied warranty of
11
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12
# GNU General Public License for more details.
13
14
# You should have received a copy of the GNU General Public License
15
# along with this program; if not, write to the Free Software
16
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17
18
19
"""Black-box tests for bzr.
20
21
These check that it behaves properly when it's invoked through the regular
22
command-line interface. This doesn't actually run a new interpreter but 
23
rather starts again from the run_bzr function.
24
"""
25
1692.3.3 by Robert Collins
Get run_bzr in tests to always assign a new, clean ui factory.
26
import sys
27
1534.4.54 by Robert Collins
Merge from integration.
28
from bzrlib.tests import (
29
                          TestCaseWithTransport,
30
                          TestSuite,
31
                          TestLoader,
32
                          )
1570.1.2 by Robert Collins
Import bzrtools' 'fix' command as 'bzr reconcile.'
33
import bzrlib.ui as ui
34
1513 by Robert Collins
Blackbox tests are maintained within the bzrlib.tests.blackbox directory.
35
36
def test_suite():
37
    testmod_names = [
1711.1.2 by Robert Collins
'bzr add' is now less verbose in telling you what ignore globs were
38
                     'bzrlib.tests.blackbox.test_add',
1548 by Martin Pool
Fix 'bzr added' typo, and tests for that command.
39
                     'bzrlib.tests.blackbox.test_added',
1553.6.6 by Erik Bågfors
blackbox tests for aliases,--no-aliases and aliases with options
40
                     'bzrlib.tests.blackbox.test_aliases',
1551.3.11 by Aaron Bentley
Merge from Robert
41
                     'bzrlib.tests.blackbox.test_ancestry',
1694.2.6 by Martin Pool
[merge] bzr.dev
42
                     'bzrlib.tests.blackbox.test_annotate',
1711.2.5 by John Arbash Meinel
Factoring blackbox tests into their own file.
43
                     'bzrlib.tests.blackbox.test_branch',
1553.5.34 by Martin Pool
Stub lock-breaking command
44
                     '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
45
                     'bzrlib.tests.blackbox.test_bound_branches',
1185.50.9 by John Arbash Meinel
[bug 3632] Matthieu Moy- bzr cat should default to last revision
46
                     'bzrlib.tests.blackbox.test_cat',
1508.1.20 by Robert Collins
Create a checkout command.
47
                     'bzrlib.tests.blackbox.test_checkout',
1508.1.22 by Robert Collins
implement out of date working tree checks in commit.
48
                     'bzrlib.tests.blackbox.test_commit',
1551.2.17 by Aaron Bentley
Fixed conflict commands
49
                     'bzrlib.tests.blackbox.test_conflicts',
1185.50.44 by John Arbash Meinel
[patch] Robey Pointer: diff -r 1.. should diff against working tree.
50
                     'bzrlib.tests.blackbox.test_diff',
1185.61.4 by Jamie Wilkinson
rearrange blackbox tests to be in alphabetical order
51
                     'bzrlib.tests.blackbox.test_export',
1551.2.2 by Aaron Bentley
Fix find-merge-base for new API [recommit]
52
                     '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.
53
                     'bzrlib.tests.blackbox.test_help',
1713.3.1 by Robert Collins
Smoke tests for tree.list_files and bzr ignored when a versioned file matches an ignore rule.
54
                     'bzrlib.tests.blackbox.test_ignored',
1534.5.1 by Robert Collins
Give info some reasonable output and tests.
55
                     'bzrlib.tests.blackbox.test_info',
1553.5.78 by Martin Pool
New bzr init --format option and test
56
                     'bzrlib.tests.blackbox.test_init',
1540.2.6 by Robey Pointer
make 'log' and 'status' treat '-r N..' as implicitly '-r N..-1'
57
                     'bzrlib.tests.blackbox.test_log',
1553.2.11 by Erik Bågfors
blackbox tests for default log format and log-format arguments
58
                     'bzrlib.tests.blackbox.test_logformats',
1551.6.8 by Aaron Bentley
Implemented reprocess for weave
59
                     'bzrlib.tests.blackbox.test_merge',
1185.61.4 by Jamie Wilkinson
rearrange blackbox tests to be in alphabetical order
60
                     'bzrlib.tests.blackbox.test_missing',
1185.62.15 by John Arbash Meinel
Adding fix + test for correct error message when not in branch.
61
                     '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)
62
                     'bzrlib.tests.blackbox.test_pull',
1614.2.9 by Olaf Conradi
Added testcases for using push with --remember. Moved remember code to
63
                     'bzrlib.tests.blackbox.test_push',
1570.1.2 by Robert Collins
Import bzrtools' 'fix' command as 'bzr reconcile.'
64
                     'bzrlib.tests.blackbox.test_reconcile',
1551.6.25 by Aaron Bentley
split out blackbox test for bzr remove
65
                     'bzrlib.tests.blackbox.test_remove',
1185.78.1 by John Arbash Meinel
Updating bzr re-sign to allow multiple arguments, and updating tests
66
                     'bzrlib.tests.blackbox.test_re_sign',
1185.50.53 by John Arbash Meinel
[patch] Aaron Bentley: make revert work in a subdirectory.
67
                     'bzrlib.tests.blackbox.test_revert',
1185.50.16 by John Arbash Meinel
[patch] Michael Ellerman: 'Trivial patch to allow revno to take a location'
68
                     'bzrlib.tests.blackbox.test_revno',
1185.62.2 by John Arbash Meinel
test_revision_info.py is actually a blackbox test.
69
                     '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.
70
                     'bzrlib.tests.blackbox.test_selftest',
1558.5.1 by Aaron Bentley
Added make-repository command
71
                     '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.
72
                     'bzrlib.tests.blackbox.test_sign_my_commits',
1534.4.26 by Robert Collins
Move working tree initialisation out from Branch.initialize, deprecated Branch.initialize to Branch.create.
73
                     'bzrlib.tests.blackbox.test_status',
1185.61.4 by Jamie Wilkinson
rearrange blackbox tests to be in alphabetical order
74
                     'bzrlib.tests.blackbox.test_too_much',
1614.2.10 by Olaf Conradi
Move test_uncommit to blackbox tests.
75
                     'bzrlib.tests.blackbox.test_uncommit',
1508.1.24 by Robert Collins
Add update command for use with checkouts.
76
                     'bzrlib.tests.blackbox.test_update',
1534.4.13 by Robert Collins
Give a reasonable warning on attempts to upgrade a readonly url.
77
                     'bzrlib.tests.blackbox.test_upgrade',
1513 by Robert Collins
Blackbox tests are maintained within the bzrlib.tests.blackbox directory.
78
                     'bzrlib.tests.blackbox.test_versioning',
79
                     ]
1185.50.71 by John Arbash Meinel
Fix blackbox tests so they run again, and they load tests before loading the test suite, so you get proper errors.
80
81
    loader = TestLoader()
1707.2.2 by Robert Collins
Start on bench_add, an add benchtest.
82
    return loader.loadTestsFromModuleNames(testmod_names)
1513 by Robert Collins
Blackbox tests are maintained within the bzrlib.tests.blackbox directory.
83
84
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.
85
class ExternalBase(TestCaseWithTransport):
1513 by Robert Collins
Blackbox tests are maintained within the bzrlib.tests.blackbox directory.
86
87
    def runbzr(self, args, retcode=0, backtick=False):
88
        if isinstance(args, basestring):
89
            args = args.split()
90
        if backtick:
91
            return self.run_bzr_captured(args, retcode=retcode)[0]
92
        else:
93
            return self.run_bzr_captured(args, retcode=retcode)
1570.1.2 by Robert Collins
Import bzrtools' 'fix' command as 'bzr reconcile.'
94
95
1692.3.3 by Robert Collins
Get run_bzr in tests to always assign a new, clean ui factory.
96
class TestUIFactory(ui.CLIUIFactory):
1587.1.2 by Robert Collins
Review comments for reconcile.
97
    """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.'
98
1692.3.3 by Robert Collins
Get run_bzr in tests to always assign a new, clean ui factory.
99
    def __init__(self,
100
                 stdout=None,
101
                 stderr=None):
102
        super(TestUIFactory, self).__init__()
103
        if stdout is None:
104
            self.stdout = sys.stdout
105
        else:
106
            self.stdout = stdout
107
        if stderr is None:
108
            self.stderr = sys.stderr
109
        else:
110
            self.stderr = stderr
111
1570.1.2 by Robert Collins
Import bzrtools' 'fix' command as 'bzr reconcile.'
112
    def clear(self):
113
        """See progress.ProgressBar.clear()."""
114
1666.1.17 by Robert Collins
Add stub clear_term to the blackbox test ui factory.
115
    def clear_term(self):
116
        """See progress.ProgressBar.clear_term()."""
117
1666.1.20 by Robert Collins
Merge bzr.dev.
118
    def clear_term(self):
119
        """See progress.ProgressBar.clear_term()."""
120
1594.1.3 by Robert Collins
Fixup pb usage to use nested_progress_bar.
121
    def finished(self):
122
        """See progress.ProgressBar.finished()."""
123
1570.1.2 by Robert Collins
Import bzrtools' 'fix' command as 'bzr reconcile.'
124
    def note(self, fmt_string, *args, **kwargs):
125
        """See progress.ProgressBar.note()."""
1692.3.3 by Robert Collins
Get run_bzr in tests to always assign a new, clean ui factory.
126
        self.stdout.write((fmt_string + "\n") % args)
1570.1.2 by Robert Collins
Import bzrtools' 'fix' command as 'bzr reconcile.'
127
128
    def progress_bar(self):
129
        return self
1594.1.3 by Robert Collins
Fixup pb usage to use nested_progress_bar.
130
    
131
    def nested_progress_bar(self):
132
        return self
133
1570.1.2 by Robert Collins
Import bzrtools' 'fix' command as 'bzr reconcile.'
134
    def update(self, message, count=None, total=None):
135
        """See progress.ProgressBar.update()."""