/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

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

  • Committer: Vincent Ladeuil
  • Date: 2010-01-25 15:55:48 UTC
  • mto: (4985.1.4 add-attr-cleanup)
  • mto: This revision was merged to the branch mainline in revision 4988.
  • Revision ID: v.ladeuil+lp@free.fr-20100125155548-0l352pujvt5bzl5e
Deploy addAttrCleanup on the whole test suite.

Several use case worth mentioning:

- setting a module or any other object attribute is the majority
by far. In some cases the setting itself is deferred but most of
the time we want to set at the same time we add the cleanup.

- there multiple occurrences of protecting hooks or ui factory
which are now useless (the test framework takes care of that now),

- there was some lambda uses that can now be avoided.

That first cleanup already simplifies things a lot.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2006-2010 Canonical Ltd
 
1
# Copyright (C) 2006, 2007, 2008, 2009 Canonical Ltd
2
2
# Authors: Aaron Bentley
3
3
#
4
4
# This program is free software; you can redistribute it and/or modify
26
26
    tests,
27
27
    )
28
28
from bzrlib.bundle import serializer
29
 
from bzrlib.transport import memory
30
29
 
31
30
 
32
31
def load_tests(standard_tests, module, loader):
281
280
        self.assertEqual('rev3', md.revision_id)
282
281
 
283
282
    def test_nonexistant_branch(self):
284
 
        self.vfs_transport_factory = memory.MemoryServer
 
283
        self.vfs_transport_factory = tests.MemoryServer
285
284
        location = self.get_url('absentdir/')
286
285
        out, err = self.run_bzr(["send", "--from", location], retcode=3)
287
286
        self.assertEqual(out, '')
307
306
    _default_sent_revs = ['local']
308
307
    _default_errors = ['Working tree ".*/local/" has uncommitted '
309
308
                       'changes \(See bzr status\)\.',]
310
 
    _default_additional_error = 'Use --no-strict to force the send.\n'
311
 
    _default_additional_warning = 'Uncommitted changes will not be sent.'
312
309
 
313
310
    def set_config_send_strict(self, value):
314
311
        # set config var (any of bazaar.conf, locations.conf, branch.conf
317
314
        conf.set_user_option('send_strict', value)
318
315
 
319
316
    def assertSendFails(self, args):
320
 
        out, err = self.run_send(args, rc=3, err_re=self._default_errors)
321
 
        self.assertContainsRe(err, self._default_additional_error)
 
317
        self.run_send(args, rc=3, err_re=self._default_errors)
322
318
 
323
 
    def assertSendSucceeds(self, args, revs=None, with_warning=False):
324
 
        if with_warning:
325
 
            err_re = self._default_errors
326
 
        else:
327
 
            err_re = []
 
319
    def assertSendSucceeds(self, args, revs=None):
328
320
        if revs is None:
329
321
            revs = self._default_sent_revs
330
 
        out, err = self.run_send(args, err_re=err_re)
331
 
        bundling_revs = 'Bundling %d revision(s).\n' % len(revs)
332
 
        if with_warning:
333
 
            self.assertContainsRe(err, self._default_additional_warning)
334
 
            self.assertEndsWith(err, bundling_revs)
335
 
        else:
336
 
            self.assertEquals(bundling_revs, err)
 
322
        out, err = self.run_send(args)
 
323
        self.assertEquals(
 
324
            'Bundling %d revision(s).\n' % len(revs), err)
337
325
        md = merge_directive.MergeDirective.from_lines(StringIO(out))
338
326
        self.assertEqual('parent', md.base_revision_id)
339
327
        br = serializer.read_bundle(StringIO(md.get_raw_bundle()))
407
395
        self._default_sent_revs = ['modified-in-local', 'local']
408
396
 
409
397
    def test_send_default(self):
410
 
        self.assertSendSucceeds([], with_warning=True)
 
398
        self.assertSendFails([])
411
399
 
412
400
    def test_send_with_revision(self):
413
401
        self.assertSendSucceeds(['-r', 'revid:local'], revs=['local'])
423
411
        self.assertSendFails([])
424
412
        self.assertSendSucceeds(['--no-strict'])
425
413
 
 
414
 
426
415
    def test_send_bogus_config_var_ignored(self):
427
416
        self.set_config_send_strict("I'm unsure")
428
 
        self.assertSendSucceeds([], with_warning=True)
 
417
        self.assertSendFails([])
 
418
 
429
419
 
430
420
    def test_send_no_strict_command_line_override_config(self):
431
421
        self.set_config_send_strict('true')