~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
2552.2.3 by Vincent Ladeuil
Deprecate the varargs syntax and fix the tests.
31
        def bzr(args, **kwargs):
32
            return self.run_bzr(args, **kwargs)[0]
1553.6.6 by Erik Bågfors
blackbox tests for aliases,--no-aliases and aliases with options
33
2552.2.3 by Vincent Ladeuil
Deprecate the varargs syntax and fix the tests.
34
        def bzr_catch_error(args, **kwargs):
35
            return self.run_bzr(args, **kwargs)[1]
1553.6.16 by Erik Bågfors
better test for --no-aliases
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)
2552.2.3 by Vincent Ladeuil
Deprecate the varargs syntax and fix the tests.
57
        bzr('add a')
58
59
        bzr('commit -m 1')
60
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)
2552.2.3 by Vincent Ladeuil
Deprecate the varargs syntax and fix the tests.
64
        bzr('commit -m 2')
1553.6.6 by Erik Bågfors
blackbox tests for aliases,--no-aliases and aliases with options
65
2552.2.3 by Vincent Ladeuil
Deprecate the varargs syntax and fix the tests.
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
2552.2.3 by Vincent Ladeuil
Deprecate the varargs syntax and fix the tests.
71
        bzr('--no-aliases c a', retcode=3)
1553.6.6 by Erik Bågfors
blackbox tests for aliases,--no-aliases and aliases with options
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
2552.2.3 by Vincent Ladeuil
Deprecate the varargs syntax and fix the tests.
75
        self.assertEquals(bzr_catch_error('--no-aliases c a',
1740.5.6 by Martin Pool
Clean up many exception classes.
76
                                          retcode=None),
77
                          'bzr: ERROR: unknown command "c"\n')
1553.6.16 by Erik Bågfors
better test for --no-aliases
78
2552.2.3 by Vincent Ladeuil
Deprecate the varargs syntax and fix the tests.
79
        bzr('c -r1 -r2', retcode=3)
80
        bzr('c1 -r1 -r2', retcode=3)
1553.6.7 by Erik Bågfors
test for option overrides
81
        bzr('c2', retcode=3)
2552.2.3 by Vincent Ladeuil
Deprecate the varargs syntax and fix the tests.
82
        bzr('c2 -r1', retcode=3)