~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/__init__.py

  • Committer: John Arbash Meinel
  • Date: 2006-07-07 15:22:42 UTC
  • mfrom: (1843 +trunk)
  • mto: This revision was merged to the branch mainline in revision 1846.
  • Revision ID: john@arbash-meinel.com-20060707152242-a7b5e0afd64d9d5a
[merge] bzr.dev 1843

Show diffs side-by-side

added added

removed removed

Lines of Context:
262
262
        self.stream.flush()
263
263
        # seems best to treat this as success from point-of-view of unittest
264
264
        # -- it actually does nothing so it barely matters :)
265
 
        unittest.TestResult.addSuccess(self, test)
 
265
        try:
 
266
            test.tearDown()
 
267
        except KeyboardInterrupt:
 
268
            raise
 
269
        except:
 
270
            self.addError(test, test.__exc_info())
 
271
        else:
 
272
            unittest.TestResult.addSuccess(self, test)
266
273
 
267
274
    def printErrorList(self, flavour, errors):
268
275
        for test, err in errors:
552
559
 
553
560
        Read contents into memory, close, and delete.
554
561
        """
 
562
        if self._log_file is None:
 
563
            return
555
564
        bzrlib.trace.disable_test_log(self._log_nonce)
556
565
        self._log_file.seek(0)
557
566
        self._log_contents = self._log_file.read()
742
751
    def run_bzr_error(self, error_regexes, *args, **kwargs):
743
752
        """Run bzr, and check that stderr contains the supplied regexes
744
753
        
745
 
        This defaults to retcode=3, so you must supply retcode=? if you expect
746
 
        a different value.
 
754
        :param error_regexes: Sequence of regular expressions which 
 
755
            must each be found in the error output. The relative ordering
 
756
            is not enforced.
 
757
        :param args: command-line arguments for bzr
 
758
        :param kwargs: Keyword arguments which are interpreted by run_bzr
 
759
            This function changes the default value of retcode to be 3,
 
760
            since in most cases this is run when you expect bzr to fail.
747
761
        :return: (out, err) The actual output of running the command (in case you
748
762
                 want to do more inspection)
 
763
 
 
764
        Examples of use:
 
765
            # Make sure that commit is failing because there is nothing to do
 
766
            self.run_bzr_error(['no changes to commit'],
 
767
                               'commit', '-m', 'my commit comment')
 
768
            # Make sure --strict is handling an unknown file, rather than
 
769
            # giving us the 'nothing to do' error
 
770
            self.build_tree(['unknown'])
 
771
            self.run_bzr_error(['Commit refused because there are unknown files'],
 
772
                               'commit', '--strict', '-m', 'my commit comment')
749
773
        """
750
774
        kwargs.setdefault('retcode', 3)
751
775
        out, err = self.run_bzr(*args, **kwargs)