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

  • Committer: Andrew Bennetts
  • Date: 2009-02-20 00:52:10 UTC
  • mto: (4002.1.9 suspend-write-group)
  • mto: This revision was merged to the branch mainline in revision 4025.
  • Revision ID: andrew.bennetts@canonical.com-20090220005210-df3lbaxuyv754oju
Most tests passing.

Show diffs side-by-side

added added

removed removed

Lines of Context:
102
102
            'factory':make_file_factory(False, ConstantMapper('revisions')),
103
103
            'graph':True,
104
104
            'key_length':1,
105
 
            'support_partial_insertion': True,
 
105
            'support_partial_insertion': False,
106
106
            }),
107
107
        ('named-nograph-nodelta-knit-pack', {
108
108
            'cleanup':cleanup_pack_knit,
1996
1996
        not added.
1997
1997
        """
1998
1998
        source = self.get_knit_delta_source()
1999
 
        entries = source.get_record_stream([self.get_simple_key('origin'),
2000
 
            self.get_simple_key('merged')], 'unordered', False)
 
1999
        keys = [self.get_simple_key('origin'), self.get_simple_key('merged')]
 
2000
        entries = source.get_record_stream(keys, 'unordered', False)
2001
2001
        files = self.get_versionedfiles()
2002
2002
        self.assertEqual([], list(files.get_missing_compression_parent_keys()))
2003
2003
        if self.support_partial_insertion:
2005
2005
            missing_bases = files.get_missing_compression_parent_keys()
2006
2006
            self.assertEqual(set([self.get_simple_key('left')]),
2007
2007
                set(missing_bases))
 
2008
            self.assertEqual(set(keys), set(files.get_parent_map(keys)))
2008
2009
        else:
2009
2010
            self.assertRaises(
2010
2011
                errors.RevisionNotPresent, files.insert_record_stream, entries)
2011
 
        files.check()
2012
 
        self.assertEqual({}, files.get_parent_map([]))
 
2012
            files.check()
2013
2013
 
2014
2014
    def test_insert_record_stream_delta_missing_basis_can_be_added_later(self):
2015
2015
        """Insertion where a needed basis is not included notifies the caller
2029
2029
        missing_bases = files.get_missing_compression_parent_keys()
2030
2030
        self.assertEqual(set([self.get_simple_key('left')]),
2031
2031
            set(missing_bases))
2032
 
        # 'merged' is not yet inserted
2033
 
        files.check()
 
2032
        # 'merged' is inserted (although a commit of a write group involving
 
2033
        # this versionedfiles would fail).
2034
2034
        merged_key = self.get_simple_key('merged')
2035
 
        self.assertEqual([], files.get_parent_map([merged_key]).keys())
 
2035
        self.assertEqual(
 
2036
            [merged_key], files.get_parent_map([merged_key]).keys())
 
2037
        # Add the full delta closure of the missing records
2036
2038
        missing_entries = source.get_record_stream(
2037
 
            [self.get_simple_key('left')], 'unordered', True)
 
2039
            missing_bases, 'unordered', True)
2038
2040
        files.insert_record_stream(missing_entries)
 
2041
        # Now 'merged' is fully inserted (and a commit would succeed).
2039
2042
        self.assertEqual([], list(files.get_missing_compression_parent_keys()))
2040
 
        # Now 'merged' is fully inserted
2041
 
        files.check()
2042
2043
        self.assertEqual(
2043
2044
            [merged_key], files.get_parent_map([merged_key]).keys())
 
2045
        files.check()
2044
2046
 
2045
2047
    def test_iter_lines_added_or_present_in_keys(self):
2046
2048
        # test that we get at least an equalset of the lines added by