~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2009-04-08 12:39:40 UTC
  • mfrom: (4266.2.1 tests.output)
  • Revision ID: pqm@pqm.ubuntu.com-20090408123940-kaho6cwr21163fjn
(robertc) Remove clutter from bzr selftest --list. (Robert Collins)

Show diffs side-by-side

added added

removed removed

Lines of Context:
487
487
class TestSelftestListOnly(TestCase):
488
488
 
489
489
    @staticmethod
490
 
    def _parse_test_list(lines, newlines_in_header=1):
 
490
    def _parse_test_list(lines, newlines_in_header=0):
491
491
        "Parse a list of lines into a tuple of 3 lists (header,body,footer)."
492
 
        in_header = True
 
492
        in_header = newlines_in_header != 0
493
493
        in_footer = False
494
494
        header = []
495
495
        body = []
518
518
    def test_list_only(self):
519
519
        # check that bzr selftest --list-only works correctly
520
520
        out,err = self.run_bzr('selftest selftest --list-only')
521
 
        self.assertEndsWith(err, 'tests passed\n')
522
521
        (header,body,footer) = self._parse_test_list(out.splitlines())
523
522
        num_tests = len(body)
524
 
        self.assertContainsRe(footer[0], 'Listed %s tests in' % num_tests)
 
523
        self.assertLength(0, header)
 
524
        self.assertLength(0, footer)
 
525
        self.assertEqual('', err)
525
526
 
526
527
    def test_list_only_filtered(self):
527
528
        # check that a filtered --list-only works, both include and exclude
551
552
        out_rand,err_rand = self.run_bzr(['selftest', '--list-only',
552
553
                                          'selftest', '--randomize', 'now'])
553
554
        (header_rand,tests_rand,dummy) = self._parse_test_list(
554
 
            out_rand.splitlines(), 2)
 
555
            out_rand.splitlines(), 1)
555
556
        # XXX: The following line asserts that the randomized order is not the
556
557
        # same as the default order.  It is just possible that they'll get
557
558
        # randomized into the same order and this will falsely fail, but
566
567
        out_rand2,err_rand2 = self.run_bzr(['selftest', '--list-only',
567
568
                                            'selftest', '--randomize', seed])
568
569
        (header_rand2,tests_rand2,dummy) = self._parse_test_list(
569
 
            out_rand2.splitlines(), 2)
 
570
            out_rand2.splitlines(), 1)
570
571
        self.assertEqual(tests_rand, tests_rand2)
571
572
 
572
573
 
581
582
        fl.close()
582
583
        out, err = self.run_bzr(
583
584
            ['selftest', '--load-list', test_list_fname, '--list'])
584
 
        self.assertContainsRe(out, "Listed 1 test in")
 
585
        self.assertContainsRe(out, "TestSelftestWithIdList")
 
586
        self.assertLength(1, out.splitlines())
585
587
 
586
588
    def test_load_unknown(self):
587
589
        out, err = self.run_bzr('selftest --load-list I_do_not_exist ',
593
595
    def test_starting_with_single_argument(self):
594
596
        out, err = self.run_bzr(
595
597
            ['selftest', '--starting-with', self.id(), '--list'])
596
 
        self.assertContainsRe(out, "Listed 1 test in")
597
598
        self.assertContainsRe(out, self.id())
598
599
 
599
600
    def test_starting_with_multiple_argument(self):
602
603
             '--starting-with', self.id(),
603
604
             '--starting-with', 'bzrlib.tests.test_sampler',
604
605
             '--list'])
605
 
        self.assertContainsRe(out, "Listed 2 tests in")
606
606
        self.assertContainsRe(out, self.id())
607
607
        self.assertContainsRe(out, 'bzrlib.tests.test_sampler')