~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/blackbox/test_config.py

  • Committer: Patch Queue Manager
  • Date: 2016-02-01 19:13:13 UTC
  • mfrom: (6614.2.2 trunk)
  • Revision ID: pqm@pqm.ubuntu.com-20160201191313-wdfvmfff1djde6oq
(vila) Release 2.7.0 (Vincent Ladeuil)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2010 Canonical Ltd
 
1
# Copyright (C) 2010, 2011, 2012, 2016 Canonical Ltd
2
2
#
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
25
25
    script,
26
26
    test_config as _t_config,
27
27
    )
 
28
from bzrlib.tests.matchers import ContainsNoVfsCalls
 
29
 
28
30
 
29
31
class TestWithoutConfig(tests.TestCaseWithTransport):
30
32
 
31
33
    def test_config_all(self):
32
34
        out, err = self.run_bzr(['config'])
33
 
        self.assertEquals('', out)
34
 
        self.assertEquals('', err)
 
35
        self.assertEqual('', out)
 
36
        self.assertEqual('', err)
35
37
 
36
38
    def test_remove_unknown_option(self):
37
39
        self.run_bzr_error(['The "file" configuration option does not exist',],
77
79
        script.run_script(self, '''\
78
80
            $ bzr config -d tree
79
81
            bazaar:
 
82
              [DEFAULT]
80
83
              multiline = """1
81
84
            2
82
85
            """
92
95
            """
93
96
            ''')
94
97
 
95
 
    def test_list_all_values(self):
96
 
        # FIXME: we should register the option as a list or it's displayed as
97
 
        # astring and as such, quoted.
 
98
    def test_list_value_all(self):
 
99
        config.option_registry.register(config.ListOption('list'))
 
100
        self.addCleanup(config.option_registry.remove, 'list')
98
101
        self.bazaar_config.set_user_option('list', [1, 'a', 'with, a comma'])
99
102
        script.run_script(self, '''\
100
103
            $ bzr config -d tree
101
104
            bazaar:
102
 
              list = '1, a, "with, a comma"'
 
105
              [DEFAULT]
 
106
              list = 1, a, "with, a comma"
103
107
            ''')
104
108
 
105
 
    def test_list_value_only(self):
106
 
        # FIXME: we should register the option as a list or it's displayed as
107
 
        # astring and as such, quoted.
 
109
    def test_list_value_one(self):
 
110
        config.option_registry.register(config.ListOption('list'))
 
111
        self.addCleanup(config.option_registry.remove, 'list')
108
112
        self.bazaar_config.set_user_option('list', [1, 'a', 'with, a comma'])
109
113
        script.run_script(self, '''\
110
114
            $ bzr config -d tree list
111
 
            '1, a, "with, a comma"'
 
115
            1, a, "with, a comma"
 
116
            ''')
 
117
 
 
118
    def test_registry_value_all(self):
 
119
        self.bazaar_config.set_user_option('bzr.transform.orphan_policy',
 
120
                                           u'move')
 
121
        script.run_script(self, '''\
 
122
            $ bzr config -d tree
 
123
            bazaar:
 
124
              [DEFAULT]
 
125
              bzr.transform.orphan_policy = move
 
126
            ''')
 
127
 
 
128
    def test_registry_value_one(self):
 
129
        self.bazaar_config.set_user_option('bzr.transform.orphan_policy',
 
130
                                           u'move')
 
131
        script.run_script(self, '''\
 
132
            $ bzr config -d tree bzr.transform.orphan_policy
 
133
            move
112
134
            ''')
113
135
 
114
136
    def test_bazaar_config(self):
116
138
        script.run_script(self, '''\
117
139
            $ bzr config -d tree
118
140
            bazaar:
 
141
              [DEFAULT]
119
142
              hello = world
120
143
            ''')
121
144
 
137
160
        script.run_script(self, '''\
138
161
            $ bzr config
139
162
            bazaar:
140
 
              hello = world
141
 
            ''')
 
163
              [DEFAULT]
 
164
              hello = world
 
165
            ''')
 
166
 
 
167
    def test_cmd_line(self):
 
168
        self.bazaar_config.set_user_option('hello', 'world')
 
169
        script.run_script(self, '''\
 
170
            $ bzr config -Ohello=bzr
 
171
            cmdline:
 
172
              hello = bzr
 
173
            bazaar:
 
174
              [DEFAULT]
 
175
              hello = world
 
176
            ''')
 
177
 
142
178
 
143
179
class TestConfigDisplayWithPolicy(tests.TestCaseWithTransport):
144
180
 
211
247
            $ bzr config --scope bazaar hello=world
212
248
            $ bzr config -d tree --all hello
213
249
            bazaar:
 
250
              [DEFAULT]
214
251
              hello = world
215
252
            ''')
216
253
 
219
256
            $ bzr config -d tree --scope bazaar hello=world
220
257
            $ bzr config -d tree --all hello
221
258
            bazaar:
 
259
              [DEFAULT]
222
260
              hello = world
223
261
            ''')
224
262
 
287
325
            branch:
288
326
              file = branch
289
327
            bazaar:
 
328
              [DEFAULT]
290
329
              file = bazaar
291
330
            ''')
292
331
 
297
336
            branch:
298
337
              file = branch
299
338
            bazaar:
 
339
              [DEFAULT]
300
340
              file = bazaar
301
341
            ''')
302
342
        script.run_script(self, '''\
303
343
            $ bzr config -d tree --remove file
304
344
            $ bzr config -d tree --all file
305
345
            bazaar:
 
346
              [DEFAULT]
306
347
              file = bazaar
307
348
            ''')
308
349
 
314
355
              [.../work/tree]
315
356
              file = locations
316
357
            bazaar:
 
358
              [DEFAULT]
317
359
              file = bazaar
318
360
            ''')
319
361
        script.run_script(self, '''\
320
362
            $ bzr config -d tree --scope locations --remove file
321
363
            $ bzr config -d tree --all file
322
364
            bazaar:
 
365
              [DEFAULT]
323
366
              file = bazaar
324
367
            ''')
325
368
 
337
380
        # become necessary for this use case. Please do not adjust this number
338
381
        # upwards without agreement from bzr's network support maintainers.
339
382
        self.assertLength(5, self.hpss_calls)
 
383
        self.assertLength(1, self.hpss_connections)
 
384
        self.assertThat(self.hpss_calls, ContainsNoVfsCalls)
 
385
 
 
386
 
 
387
class TestConfigDirectory(tests.TestCaseWithTransport):
 
388
 
 
389
    def test_parent_alias(self):
 
390
        t = self.make_branch_and_tree('base')
 
391
        t.branch.get_config_stack().set('test', 'base')
 
392
        clone = t.branch.bzrdir.sprout('clone').open_branch()
 
393
        clone.get_config_stack().set('test', 'clone')
 
394
        out, err = self.run_bzr(['config', '-d', ':parent', 'test'],
 
395
                                working_dir='clone')
 
396
        self.assertEqual('base\n', out)