~bzr-pqm/bzr/bzr.dev

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
4183.7.1 by Sabin Iacob
update FSF mailing address
15
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
1513 by Robert Collins
Blackbox tests are maintained within the bzrlib.tests.blackbox directory.
16
17
18
"""Black-box tests for bzr.
19
20
These check that it behaves properly when it's invoked through the regular
3943.8.1 by Marius Kruger
remove all trailing whitespace from bzr source
21
command-line interface. This doesn't actually run a new interpreter but
1513 by Robert Collins
Blackbox tests are maintained within the bzrlib.tests.blackbox directory.
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
4084.5.1 by Robert Collins
Bulk update all test adaptation into a single approach, using multiply_tests rather than test adapters.
26
from bzrlib.tests import TestCaseWithTransport
1570.1.2 by Robert Collins
Import bzrtools' 'fix' command as 'bzr reconcile.'
27
1513 by Robert Collins
Blackbox tests are maintained within the bzrlib.tests.blackbox directory.
28
3302.9.6 by Vincent Ladeuil
bzrlib.tests.blackbox switched from test_suite() to load_tests().
29
def load_tests(basic_tests, module, loader):
30
    suite = loader.suiteClass()
31
    # add the tests for this module
32
    suite.addTests(basic_tests)
33
1513 by Robert Collins
Blackbox tests are maintained within the bzrlib.tests.blackbox directory.
34
    testmod_names = [
1711.1.2 by Robert Collins
'bzr add' is now less verbose in telling you what ignore globs were
35
                     'bzrlib.tests.blackbox.test_add',
1548 by Martin Pool
Fix 'bzr added' typo, and tests for that command.
36
                     'bzrlib.tests.blackbox.test_added',
2900.3.6 by Tim Penhey
Added tests.
37
                     'bzrlib.tests.blackbox.test_alias',
1553.6.6 by Erik Bågfors
blackbox tests for aliases,--no-aliases and aliases with options
38
                     'bzrlib.tests.blackbox.test_aliases',
1551.3.11 by Aaron Bentley
Merge from Robert
39
                     'bzrlib.tests.blackbox.test_ancestry',
1694.2.6 by Martin Pool
[merge] bzr.dev
40
                     'bzrlib.tests.blackbox.test_annotate',
1711.2.5 by John Arbash Meinel
Factoring blackbox tests into their own file.
41
                     'bzrlib.tests.blackbox.test_branch',
1553.5.34 by Martin Pool
Stub lock-breaking command
42
                     'bzrlib.tests.blackbox.test_break_lock',
2423.3.7 by Martin Pool
Add BZR_SIGQUIT_PDB=0 option to disable breakin.
43
                     'bzrlib.tests.blackbox.test_breakin',
1505.1.22 by John Arbash Meinel
Some small cleanup and discussion in preparation for modifying commit, pull, and merge
44
                     'bzrlib.tests.blackbox.test_bound_branches',
1551.18.5 by Aaron Bentley
Add test cases for bzr bundle-info
45
                     'bzrlib.tests.blackbox.test_bundle_info',
1185.50.9 by John Arbash Meinel
[bug 3632] Matthieu Moy- bzr cat should default to last revision
46
                     'bzrlib.tests.blackbox.test_cat',
1551.13.16 by Aaron Bentley
Fix cat-revision REVISION
47
                     'bzrlib.tests.blackbox.test_cat_revision',
2929.2.2 by Robert Collins
Review feedback on dirstate update_basis_via_delta logic.
48
                     'bzrlib.tests.blackbox.test_check',
1508.1.20 by Robert Collins
Create a checkout command.
49
                     'bzrlib.tests.blackbox.test_checkout',
4020.1.2 by Jelmer Vernooij
Import blackbox test for clean-tree, run regular tests.
50
                     'bzrlib.tests.blackbox.test_clean_tree',
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',
3770.1.1 by John Arbash Meinel
First draft of a basic dump-btree command.
56
                     'bzrlib.tests.blackbox.test_dump_btree',
3920.2.3 by Jelmer Vernooij
Make determine_fileid_renames() return a dictionary.
57
                     'bzrlib.tests.blackbox.test_dpush',
1740.5.1 by Martin Pool
When an unhandled exception occurs, write the traceback to stderr.
58
                     'bzrlib.tests.blackbox.test_exceptions',
1185.61.4 by Jamie Wilkinson
rearrange blackbox tests to be in alphabetical order
59
                     'bzrlib.tests.blackbox.test_export',
3794.5.2 by Mark Hammond
Add case-insensitive-case-preserving black-box tests and fixes using canonical_abspath
60
                     'bzrlib.tests.blackbox.test_filesystem_cicp',
3586.1.22 by Ian Clatworthy
add initial filtered-view-ops tests
61
                     'bzrlib.tests.blackbox.test_filtered_view_ops',
1551.2.2 by Aaron Bentley
Fix find-merge-base for new API [recommit]
62
                     '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.
63
                     'bzrlib.tests.blackbox.test_help',
3254.2.2 by Daniel Watkins
Added test_hooks stub.
64
                     'bzrlib.tests.blackbox.test_hooks',
1765.1.3 by Robert Collins
Merge from integration.
65
                     '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.
66
                     'bzrlib.tests.blackbox.test_ignored',
1534.5.1 by Robert Collins
Give info some reasonable output and tests.
67
                     'bzrlib.tests.blackbox.test_info',
1553.5.78 by Martin Pool
New bzr init --format option and test
68
                     'bzrlib.tests.blackbox.test_init',
2027.4.1 by John Arbash Meinel
Factor the 'bzr inventory' tests out of tests_too_much
69
                     'bzrlib.tests.blackbox.test_inventory',
1731.2.7 by Aaron Bentley
Add join command
70
                     'bzrlib.tests.blackbox.test_join',
1955.2.2 by John Arbash Meinel
Change the name of the test classes (test_lang => test_locale), move the function into osutils.py
71
                     'bzrlib.tests.blackbox.test_locale',
1185.85.4 by John Arbash Meinel
currently broken, trying to fix things up.
72
                     'bzrlib.tests.blackbox.test_log',
1553.2.11 by Erik Bågfors
blackbox tests for default log format and log-format arguments
73
                     'bzrlib.tests.blackbox.test_logformats',
1836.1.17 by John Arbash Meinel
move 'bzr ls' tests into their own file, and fix them up.
74
                     'bzrlib.tests.blackbox.test_ls',
1551.15.30 by Aaron Bentley
Write lsprof file name to stderr, not stdout
75
                     'bzrlib.tests.blackbox.test_lsprof',
1551.6.8 by Aaron Bentley
Implemented reprocess for weave
76
                     'bzrlib.tests.blackbox.test_merge',
1551.12.14 by Aaron Bentley
Get merge-directive command basically working
77
                     'bzrlib.tests.blackbox.test_merge_directive',
1185.61.4 by Jamie Wilkinson
rearrange blackbox tests to be in alphabetical order
78
                     'bzrlib.tests.blackbox.test_missing',
3251.6.1 by Adrian Wilkins
Consistent implementation of path quoting in unknowns, added, modified.
79
                     'bzrlib.tests.blackbox.test_modified',
1846.1.1 by Wouter van Heyst
Don't fail on 'bzr mv', extract move tests from OldTests.
80
                     'bzrlib.tests.blackbox.test_mv',
2120.5.1 by Alexander Belchenko
Added test for bug #66857 (autonick is urlencoded)
81
                     'bzrlib.tests.blackbox.test_nick',
4084.5.1 by Robert Collins
Bulk update all test adaptation into a single approach, using multiply_tests rather than test adapters.
82
                     'bzrlib.tests.blackbox.test_non_ascii',
1185.62.15 by John Arbash Meinel
Adding fix + test for correct error message when not in branch.
83
                     'bzrlib.tests.blackbox.test_outside_wt',
2604.2.1 by Robert Collins
(robertc) Introduce a pack command.
84
                     'bzrlib.tests.blackbox.test_pack',
1185.50.5 by John Arbash Meinel
pull --overwrite should always overwrite, not just if diverged. (Test case from Robey Pointer)
85
                     'bzrlib.tests.blackbox.test_pull',
1614.2.9 by Olaf Conradi
Added testcases for using push with --remember. Moved remember code to
86
                     'bzrlib.tests.blackbox.test_push',
1570.1.2 by Robert Collins
Import bzrtools' 'fix' command as 'bzr reconcile.'
87
                     'bzrlib.tests.blackbox.test_reconcile',
2796.2.5 by Aaron Bentley
Implement reconfigure command
88
                     'bzrlib.tests.blackbox.test_reconfigure',
4273.1.19 by Aaron Bentley
Implement reference command
89
                     'bzrlib.tests.blackbox.test_reference',
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.
90
                     'bzrlib.tests.blackbox.test_remerge',
1551.6.25 by Aaron Bentley
split out blackbox test for bzr remove
91
                     'bzrlib.tests.blackbox.test_remove',
1185.78.1 by John Arbash Meinel
Updating bzr re-sign to allow multiple arguments, and updating tests
92
                     'bzrlib.tests.blackbox.test_re_sign',
2127.2.1 by Daniel Silverstone
Add remove-tree and its blackbox tests
93
                     'bzrlib.tests.blackbox.test_remove_tree',
1185.50.53 by John Arbash Meinel
[patch] Aaron Bentley: make revert work in a subdirectory.
94
                     'bzrlib.tests.blackbox.test_revert',
1185.50.16 by John Arbash Meinel
[patch] Michael Ellerman: 'Trivial patch to allow revno to take a location'
95
                     'bzrlib.tests.blackbox.test_revno',
1733.2.1 by Michael Ellerman
Add an optional location parameter to the 'revision-history' command.
96
                     'bzrlib.tests.blackbox.test_revision_history',
1185.62.2 by John Arbash Meinel
test_revision_info.py is actually a blackbox test.
97
                     '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.
98
                     'bzrlib.tests.blackbox.test_selftest',
2654.3.1 by Aaron Bentley
Rename submit to send, make -o required, support -o- for stdout
99
                     'bzrlib.tests.blackbox.test_send',
1910.19.7 by Andrew Bennetts
Allow specifying the host/interface to bzr serve, and use the new test
100
                     'bzrlib.tests.blackbox.test_serve',
1558.5.1 by Aaron Bentley
Added make-repository command
101
                     'bzrlib.tests.blackbox.test_shared_repository',
0.16.113 by Aaron Bentley
Change ls-shelf to shelve --list
102
                     'bzrlib.tests.blackbox.test_shelve',
1185.78.6 by John Arbash Meinel
Adding sign-my-commits as a builtin, along with some simple tests.
103
                     'bzrlib.tests.blackbox.test_sign_my_commits',
1731.2.22 by Aaron Bentley
Initial work on split command
104
                     'bzrlib.tests.blackbox.test_split',
1185.85.39 by John Arbash Meinel
cleanup of Alexander's patch
105
                     'bzrlib.tests.blackbox.test_status',
2999.1.2 by Ian Clatworthy
incorporate review feedback including basic blackbox tests
106
                     'bzrlib.tests.blackbox.test_switch',
2220.2.2 by Martin Pool
Add tag command and basic implementation
107
                     'bzrlib.tests.blackbox.test_tags',
1930.2.1 by John Arbash Meinel
Move out the blackbox testament tests into a real blackbox module
108
                     'bzrlib.tests.blackbox.test_testament',
1185.61.4 by Jamie Wilkinson
rearrange blackbox tests to be in alphabetical order
109
                     'bzrlib.tests.blackbox.test_too_much',
1614.2.10 by Olaf Conradi
Move test_uncommit to blackbox tests.
110
                     'bzrlib.tests.blackbox.test_uncommit',
2795.2.2 by Daniel Watkins
Added tests.blackbox.test_unknowns.
111
                     'bzrlib.tests.blackbox.test_unknowns',
1508.1.24 by Robert Collins
Add update command for use with checkouts.
112
                     'bzrlib.tests.blackbox.test_update',
1534.4.13 by Robert Collins
Give a reasonable warning on attempts to upgrade a readonly url.
113
                     'bzrlib.tests.blackbox.test_upgrade',
2324.3.2 by John Whitley
Added blackbox test for bzr version.
114
                     'bzrlib.tests.blackbox.test_version',
2022.1.1 by John Arbash Meinel
[merge] version-info plugin, and cleanup for layout in bzr
115
                     'bzrlib.tests.blackbox.test_version_info',
1513 by Robert Collins
Blackbox tests are maintained within the bzrlib.tests.blackbox directory.
116
                     'bzrlib.tests.blackbox.test_versioning',
3586.1.16 by Ian Clatworthy
added blackbox tests for the view command
117
                     'bzrlib.tests.blackbox.test_view',
1816.2.3 by Robey Pointer
move the whoami blackbox tests into their own file and add more tests
118
                     'bzrlib.tests.blackbox.test_whoami',
1513 by Robert Collins
Blackbox tests are maintained within the bzrlib.tests.blackbox directory.
119
                     ]
3302.9.27 by Vincent Ladeuil
Fixed as per Ian's review.
120
    # add the tests for the sub modules
3302.9.6 by Vincent Ladeuil
bzrlib.tests.blackbox switched from test_suite() to load_tests().
121
    suite.addTests(loader.loadTestsFromModuleNames(testmod_names))
1185.85.24 by John Arbash Meinel
Moved run_bzr_decode into TestCase
122
    return suite
1513 by Robert Collins
Blackbox tests are maintained within the bzrlib.tests.blackbox directory.
123
124
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.
125
class ExternalBase(TestCaseWithTransport):
1513 by Robert Collins
Blackbox tests are maintained within the bzrlib.tests.blackbox directory.
126
1551.13.17 by Aaron Bentley
Move cat-revision tests out of test_revision_info
127
    def check_output(self, output, *args):
128
        """Verify that the expected output matches what bzr says.
129
130
        The output is supplied first, so that you can supply a variable
131
        number of arguments to bzr.
132
        """
2530.3.4 by Martin Pool
Deprecate run_bzr_captured in favour of just run_bzr
133
        self.assertEquals(self.run_bzr(*args)[0], output)