~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

  • Committer: John Arbash Meinel
  • Date: 2008-10-30 00:55:00 UTC
  • mto: (3815.2.5 prepare-1.9)
  • mto: This revision was merged to the branch mainline in revision 3811.
  • Revision ID: john@arbash-meinel.com-20081030005500-r5cej1cxflqhs3io
Switch so that we are using a simple timestamp as the first action.

Show diffs side-by-side

added added

removed removed

Lines of Context:
20
20
 
21
21
import os
22
22
 
23
 
import bzrlib
 
23
from bzrlib import osutils
24
24
from bzrlib.tests.blackbox import ExternalBase
25
25
from bzrlib.tests import TestCaseInTempDir, TestCaseWithTransport
26
26
from bzrlib.tests.test_log import (
27
27
    normalize_log,
28
28
    )
 
29
from bzrlib.tests import test_log
 
30
 
 
31
 
 
32
class TestCaseWithoutPropsHandler(ExternalBase, test_log.TestCaseWithoutPropsHandler):
 
33
    pass
29
34
 
30
35
 
31
36
class TestLog(ExternalBase):
133
138
        self.assertTrue('revno: 2\n' not in log)
134
139
        self.assertTrue('branch nick: branch2\n' in log)
135
140
        self.assertTrue('branch nick: branch1\n' not in log)
136
 
        
 
141
 
 
142
    def test_log_change_revno(self):
 
143
        self._prepare()
 
144
        expected_log = self.run_bzr("log -r 1")[0]
 
145
        log = self.run_bzr("log -c 1")[0]
 
146
        self.assertEqualDiff(expected_log, log)
 
147
 
 
148
    def test_log_change_single_revno(self):
 
149
        self._prepare()
 
150
        self.run_bzr_error('bzr: ERROR: Option --change does not'
 
151
                           ' accept revision ranges',
 
152
                           ['log', '--change', '2..3'])
 
153
 
 
154
    def test_log_change_incompatible_with_revision(self):
 
155
        self._prepare()
 
156
        self.run_bzr_error('bzr: ERROR: --revision and --change'
 
157
                           ' are mutually exclusive',
 
158
                           ['log', '--change', '2', '--revision', '3'])
 
159
 
137
160
    def test_log_nonexistent_file(self):
138
161
        # files that don't exist in either the basis tree or working tree
139
162
        # should give an error
172
195
        self.assertContainsRe(log, r'tags: tag1')
173
196
 
174
197
    def test_log_limit(self):
175
 
        self._prepare()
 
198
        tree = self.make_branch_and_tree('.')
 
199
        # We want more commits than our batch size starts at
 
200
        for pos in range(10):
 
201
            tree.commit("%s" % pos)
176
202
        log = self.run_bzr("log --limit 2")[0]
177
203
        self.assertNotContainsRe(log, r'revno: 1\n')
178
 
        self.assertContainsRe(log, r'revno: 2\n')
179
 
        self.assertContainsRe(log, r'revno: 3\n')
 
204
        self.assertNotContainsRe(log, r'revno: 2\n')
 
205
        self.assertNotContainsRe(log, r'revno: 3\n')
 
206
        self.assertNotContainsRe(log, r'revno: 4\n')
 
207
        self.assertNotContainsRe(log, r'revno: 5\n')
 
208
        self.assertNotContainsRe(log, r'revno: 6\n')
 
209
        self.assertNotContainsRe(log, r'revno: 7\n')
 
210
        self.assertNotContainsRe(log, r'revno: 8\n')
 
211
        self.assertContainsRe(log, r'revno: 9\n')
 
212
        self.assertContainsRe(log, r'revno: 10\n')
180
213
 
181
214
    def test_log_limit_short(self):
182
215
        self._prepare()
185
218
        self.assertContainsRe(log, r'revno: 2\n')
186
219
        self.assertContainsRe(log, r'revno: 3\n')
187
220
 
188
 
class TestLogMerges(ExternalBase):
 
221
 
 
222
class TestLogMerges(TestCaseWithoutPropsHandler):
189
223
 
190
224
    def _prepare(self):
191
225
        parent_tree = self.make_branch_and_tree('parent')
329
363
 
330
364
    def setUp(self):
331
365
        TestCaseInTempDir.setUp(self)
332
 
        self.user_encoding = bzrlib.user_encoding
 
366
        self.user_encoding = osutils._cached_user_encoding
333
367
 
334
368
    def tearDown(self):
335
 
        bzrlib.user_encoding = self.user_encoding
 
369
        osutils._cached_user_encoding = self.user_encoding
336
370
        TestCaseInTempDir.tearDown(self)
337
371
 
338
372
    def create_branch(self):
351
385
        else:
352
386
            encoded_msg = self._message.encode(encoding)
353
387
 
354
 
        old_encoding = bzrlib.user_encoding
 
388
        old_encoding = osutils._cached_user_encoding
355
389
        # This test requires that 'run_bzr' uses the current
356
390
        # bzrlib, because we override user_encoding, and expect
357
391
        # it to be used
358
392
        try:
359
 
            bzrlib.user_encoding = 'ascii'
 
393
            osutils._cached_user_encoding = 'ascii'
360
394
            # We should be able to handle any encoding
361
395
            out, err = bzr('log', encoding=encoding)
362
396
            if not fail:
367
401
            else:
368
402
                self.assertNotEqual(-1, out.find('Message with ?'))
369
403
        finally:
370
 
            bzrlib.user_encoding = old_encoding
 
404
            osutils._cached_user_encoding = old_encoding
371
405
 
372
406
    def test_log_handles_encoding(self):
373
407
        self.create_branch()
383
417
 
384
418
    def test_stdout_encoding(self):
385
419
        bzr = self.run_bzr
386
 
        bzrlib.user_encoding = "cp1251"
 
420
        osutils._cached_user_encoding = "cp1251"
387
421
 
388
422
        bzr('init')
389
423
        self.build_tree(['a'])