/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/test_pack_repository.py

  • Committer: Andrew Bennetts
  • Date: 2008-11-12 02:29:03 UTC
  • mto: This revision was merged to the branch mainline in revision 3833.
  • Revision ID: andrew.bennetts@canonical.com-20081112022903-jrpp1r2g6h12zlkf
Add suppress_errors to abort_write_group.

Show diffs side-by-side

added added

removed removed

Lines of Context:
507
507
        self.assertEqual(self.format_supports_external_lookups,
508
508
            repo._format.supports_external_lookups)
509
509
 
 
510
    def test_abort_write_group_does_not_raise_when_suppressed(self):
 
511
        """Similar to per_repository.test_write_group's test of the same name.
 
512
 
 
513
        Also requires that the exception is logged.
 
514
        """
 
515
        repo = self.make_repository('repo')
 
516
        token = repo.lock_write()
 
517
        self.addCleanup(repo.unlock)
 
518
        repo.start_write_group()
 
519
        # Damage the repository on the filesystem
 
520
        self.get_transport('').rename('repo', 'foo')
 
521
        # abort_write_group will not raise an error
 
522
        self.assertEqual(None, repo.abort_write_group(suppress_errors=True))
 
523
        # But it does log an error
 
524
        log_file = self._get_log(keep_log_file=True)
 
525
        self.assertContainsRe(log_file, 'abort_write_group failed')
 
526
        self.assertContainsRe(log_file, r'INFO  bzr: ERROR \(ignored\):')
 
527
        if token is not None:
 
528
            repo.leave_lock_in_place()
 
529
        
 
530
    def test_abort_write_group_does_raise_when_not_suppressed(self):
 
531
        repo = self.make_repository('repo')
 
532
        token = repo.lock_write()
 
533
        self.addCleanup(repo.unlock)
 
534
        repo.start_write_group()
 
535
        # Damage the repository on the filesystem
 
536
        self.get_transport('').rename('repo', 'foo')
 
537
        # abort_write_group will not raise an error
 
538
        self.assertRaises(Exception, repo.abort_write_group)
 
539
        if token is not None:
 
540
            repo.leave_lock_in_place()
 
541
        
510
542
 
511
543
class TestPackRepositoryStacking(TestCaseWithTransport):
512
544