~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

  • Committer: Jelmer Vernooij
  • Date: 2012-01-06 22:44:57 UTC
  • mfrom: (6436 +trunk)
  • mto: (6437.3.11 2.5)
  • mto: This revision was merged to the branch mainline in revision 6444.
  • Revision ID: jelmer@samba.org-20120106224457-re0pcy0fz31xob77
Merge bzr.dev.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2006-2010 Canonical Ltd
 
1
# Copyright (C) 2006-2012 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
16
16
 
17
17
"""External tests of 'bzr ls'"""
18
18
 
19
 
import os
20
 
 
21
 
from bzrlib import ignores
22
 
from bzrlib.tests import TestCaseWithTransport
23
 
 
24
 
 
25
 
class TestLS(TestCaseWithTransport):
 
19
from bzrlib import (
 
20
    ignores,
 
21
    tests,
 
22
    )
 
23
from bzrlib.tests.matchers import ContainsNoVfsCalls
 
24
 
 
25
 
 
26
class TestLS(tests.TestCaseWithTransport):
26
27
 
27
28
    def setUp(self):
28
29
        super(TestLS, self).setUp()
36
37
                                 ('a', 'hello\n'),
37
38
                                 ])
38
39
 
39
 
    def ls_equals(self, value, args=None, recursive=True):
 
40
    def ls_equals(self, value, args=None, recursive=True, working_dir=None):
40
41
        command = 'ls'
41
42
        if args is not None:
42
43
            command += ' ' + args
43
44
        if recursive:
44
45
            command += ' -R'
45
 
        out, err = self.run_bzr(command)
 
46
        out, err = self.run_bzr(command, working_dir=working_dir)
46
47
        self.assertEqual('', err)
47
48
        self.assertEqualDiff(value, out)
48
49
 
126
127
                       , '--verbose', recursive=False)
127
128
 
128
129
        # Check what happens in a sub-directory
129
 
        os.chdir('subdir')
130
 
        self.ls_equals('b\n')
131
 
        self.ls_equals('b\0'
132
 
                  , '--null')
133
 
        self.ls_equals('subdir/b\n'
134
 
                       , '--from-root')
135
 
        self.ls_equals('subdir/b\0'
136
 
                       , '--from-root --null')
137
 
        self.ls_equals('subdir/b\n'
138
 
                       , '--from-root', recursive=False)
 
130
        self.ls_equals('b\n', working_dir='subdir')
 
131
        self.ls_equals('b\0', '--null', working_dir='subdir')
 
132
        self.ls_equals('subdir/b\n', '--from-root', working_dir='subdir')
 
133
        self.ls_equals('subdir/b\0', '--from-root --null',
 
134
                       working_dir='subdir')
 
135
        self.ls_equals('subdir/b\n', '--from-root', recursive=False,
 
136
                       working_dir='subdir')
139
137
 
140
138
    def test_ls_path(self):
141
139
        """If a path is specified, files are listed with that prefix"""
143
141
        self.wt.add(['subdir', 'subdir/b'])
144
142
        self.ls_equals('subdir/b\n' ,
145
143
                       'subdir')
146
 
        os.chdir('subdir')
147
144
        self.ls_equals('../.bzrignore\n'
148
145
                       '../a\n'
149
146
                       '../subdir/\n'
150
147
                       '../subdir/b\n' ,
151
 
                       '..')
 
148
                       '..', working_dir='subdir')
152
149
        self.ls_equals('../.bzrignore\0'
153
150
                       '../a\0'
154
151
                       '../subdir\0'
155
152
                       '../subdir/b\0' ,
156
 
                       '.. --null')
 
153
                       '.. --null', working_dir='subdir')
157
154
        self.ls_equals('?        ../.bzrignore\n'
158
155
                       '?        ../a\n'
159
156
                       'V        ../subdir/\n'
160
157
                       'V        ../subdir/b\n' ,
161
 
                       '.. --verbose')
 
158
                       '.. --verbose', working_dir='subdir')
162
159
        self.run_bzr_error(['cannot specify both --from-root and PATH'],
163
 
                           'ls --from-root ..')
 
160
                           'ls --from-root ..', working_dir='subdir')
164
161
 
165
162
    def test_ls_revision(self):
166
163
        self.wt.add(['a'])
173
170
        self.ls_equals('V        a\n'
174
171
                       , '--verbose --revision 1')
175
172
 
176
 
        os.chdir('subdir')
177
 
        self.ls_equals('', '--revision 1')
 
173
        self.ls_equals('', '--revision 1', working_dir='subdir')
178
174
 
179
175
    def test_ls_branch(self):
180
176
        """If a branch is specified, files are listed from it"""
246
242
        self.ls_equals('sub/file\n', '-d dir sub')
247
243
 
248
244
 
249
 
class TestSmartServerLs(TestCaseWithTransport):
 
245
class TestSmartServerLs(tests.TestCaseWithTransport):
250
246
 
251
247
    def test_simple_ls(self):
252
248
        self.setup_smart_server_with_call_log()
261
257
        # being too low. If rpc_count increases, more network roundtrips have
262
258
        # become necessary for this use case. Please do not adjust this number
263
259
        # upwards without agreement from bzr's network support maintainers.
264
 
        self.assertLength(15, self.hpss_calls)
 
260
        self.assertLength(6, self.hpss_calls)
 
261
        self.assertLength(1, self.hpss_connections)
 
262
        self.assertThat(self.hpss_calls, ContainsNoVfsCalls)