~bzr-pqm/bzr/bzr.dev

2052.3.1 by John Arbash Meinel
Add tests to cleanup the copyright of all source files
1
# Copyright (C) 2005, 2006 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
1553.6.6 by Erik Bågfors
blackbox tests for aliases,--no-aliases and aliases with options
16
"""Black-box tests for bzr aliases.
17
"""
18
19
import os
20
21
from bzrlib.branch import Branch
22
from bzrlib.tests import TestCaseInTempDir
23
from bzrlib.trace import mutter
1551.2.48 by abentley
Used ensure_config_dir exists instead of makedirs
24
from bzrlib.config import (ensure_config_dir_exists, config_filename)
1553.6.6 by Erik Bågfors
blackbox tests for aliases,--no-aliases and aliases with options
25
1553.6.9 by Erik Bågfors
PEP8-ify
26
1553.6.6 by Erik Bågfors
blackbox tests for aliases,--no-aliases and aliases with options
27
class TestAliases(TestCaseInTempDir):
28
29
    def test_aliases(self):
30
31
        def bzr(*args, **kwargs):
32
            return self.run_bzr(*args, **kwargs)[0]
33
1553.6.16 by Erik Bågfors
better test for --no-aliases
34
        def bzr_catch_error(*args, **kwargs):
35
            return self.run_bzr(*args, **kwargs)[1]
36
37
1553.6.6 by Erik Bågfors
blackbox tests for aliases,--no-aliases and aliases with options
38
        if os.path.isfile(config_filename()):
1553.6.9 by Erik Bågfors
PEP8-ify
39
            # Something is wrong in environment, 
40
            # we risk overwriting users config 
1553.6.6 by Erik Bågfors
blackbox tests for aliases,--no-aliases and aliases with options
41
            self.assert_(config_filename() + "exists, abort")
1551.2.42 by abentley
Fixed config directory creation in test_aliases
42
        
1551.2.48 by abentley
Used ensure_config_dir exists instead of makedirs
43
        ensure_config_dir_exists()
1553.6.7 by Erik Bågfors
test for option overrides
44
        CONFIG=("[ALIASES]\n"
45
                "c=cat\n"
46
                "c1=cat -r 1\n"
47
                "c2=cat -r 1 -r2\n")
48
49
        open(config_filename(),'wb').write(CONFIG)
50
51
52
        str1 = 'foo\n'
53
        str2 = 'bar\n'
1553.6.6 by Erik Bågfors
blackbox tests for aliases,--no-aliases and aliases with options
54
55
        bzr('init')
1553.6.7 by Erik Bågfors
test for option overrides
56
        open('a', 'wb').write(str1)
1553.6.6 by Erik Bågfors
blackbox tests for aliases,--no-aliases and aliases with options
57
        bzr('add', 'a')
58
59
        bzr('commit', '-m', '1')
60
1553.6.7 by Erik Bågfors
test for option overrides
61
        self.assertEquals(bzr('c', 'a'), str1)
1553.6.6 by Erik Bågfors
blackbox tests for aliases,--no-aliases and aliases with options
62
1553.6.7 by Erik Bågfors
test for option overrides
63
        open('a', 'wb').write(str2)
1553.6.6 by Erik Bågfors
blackbox tests for aliases,--no-aliases and aliases with options
64
        bzr('commit', '-m', '2')
65
1553.6.7 by Erik Bågfors
test for option overrides
66
        self.assertEquals(bzr('c', 'a'), str2)
67
        self.assertEquals(bzr('c1', 'a'), str1)
68
        self.assertEquals(bzr('c1', '--revision', '2', 'a'), str2)
1553.6.6 by Erik Bågfors
blackbox tests for aliases,--no-aliases and aliases with options
69
1553.6.16 by Erik Bågfors
better test for --no-aliases
70
        # If --no-aliases isn't working, we will not get retcode=3
1553.6.6 by Erik Bågfors
blackbox tests for aliases,--no-aliases and aliases with options
71
        bzr('--no-aliases', 'c', 'a', retcode=3)
72
1553.6.16 by Erik Bågfors
better test for --no-aliases
73
        # If --no-aliases breaks all of bzr, we also get retcode=3
74
        # So we need to catch the output as well
1740.5.6 by Martin Pool
Clean up many exception classes.
75
        self.assertEquals(bzr_catch_error('--no-aliases', 'c', 'a',
76
                                          retcode=None),
77
                          'bzr: ERROR: unknown command "c"\n')
1553.6.16 by Erik Bågfors
better test for --no-aliases
78
1553.6.7 by Erik Bågfors
test for option overrides
79
        bzr('c', '-r1', '-r2', retcode=3)
80
        bzr('c1', '-r1', '-r2', retcode=3)
81
        bzr('c2', retcode=3)
82
        bzr('c2', '-r1', retcode=3)