~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_knit.py

Merge missing-parents-in-pack-index work-in-progress.

Show diffs side-by-side

added added

removed removed

Lines of Context:
862
862
 
863
863
class LowLevelKnitIndexTests(TestCase):
864
864
 
 
865
    # XXX call new API blows up
 
866
 
865
867
    def get_knit_index(self, transport, name, mode):
866
868
        mapper = ConstantMapper(name)
867
869
        orig = knit._load_data
1601
1603
             (('tip',), 'line-delta', (None, 0, 100), [('parent',)])])
1602
1604
        self.assertEqual([], self.caught_entries)
1603
1605
 
 
1606
    # XXX: duplicate these test methods in other test cases.
 
1607
    def test_add_good_unvalidated_index(self):
 
1608
        index = _KnitGraphIndex(CombinedGraphIndex([]), lambda: True)
 
1609
        class HappyIndex(object):
 
1610
            def _external_references(self):
 
1611
                return []
 
1612
        index._add_unvalidated_index(HappyIndex())
 
1613
        self.assertEqual(frozenset(), index.get_missing_compression_parents())
 
1614
 
 
1615
    def test_add_incomplete_unvalidated_index(self):
 
1616
        index = _KnitGraphIndex(CombinedGraphIndex([]), lambda: True)
 
1617
        class SadIndex(object):
 
1618
            def _external_references(self):
 
1619
                return [('missing',)]
 
1620
        index._add_unvalidated_index(SadIndex())
 
1621
        self.assertEqual(
 
1622
            frozenset([('missing',)]), index.get_missing_compression_parents())
 
1623
 
 
1624
    def test_add_unvalidated_index_with_present_external_references(self):
 
1625
        index = self.two_graph_index(deltas=True)
 
1626
        class SadIndex(object):
 
1627
            def _external_references(self):
 
1628
                # 'parent' exists in the index returned from two_graph_index
 
1629
                return [('parent',)]
 
1630
        index._add_unvalidated_index(SadIndex())
 
1631
        self.assertEqual(frozenset(), index.get_missing_compression_parents())
 
1632
 
1604
1633
 
1605
1634
class TestNoParentsGraphIndexKnit(KnitTests):
1606
1635
    """Tests for knits using _KnitGraphIndex with no parents."""