/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 breezy/tests/test_pack.py

  • Committer: Jelmer Vernooij
  • Date: 2019-03-05 07:32:38 UTC
  • mto: (7290.1.21 work)
  • mto: This revision was merged to the branch mainline in revision 7311.
  • Revision ID: jelmer@jelmer.uk-20190305073238-zlqn981opwnqsmzi
Add appveyor configuration.

Show diffs side-by-side

added added

removed removed

Lines of Context:
16
16
 
17
17
"""Tests for breezy.pack."""
18
18
 
19
 
from io import BytesIO
20
 
 
21
 
from ... import errors, tests
22
 
from .. import (
 
19
from .. import errors, tests
 
20
from ..bzr import (
23
21
    pack,
24
22
    )
 
23
from ..sixish import (
 
24
    BytesIO,
 
25
    )
25
26
 
26
27
 
27
28
class TestContainerSerialiser(tests.TestCase):
118
119
    def test_non_empty_end_does_not_add_a_record_to_records_written(self):
119
120
        """The end() method does not count towards the records written."""
120
121
        self.writer.begin()
121
 
        self.writer.add_bytes_record([b'foo'], len(b'foo'), names=[])
 
122
        self.writer.add_bytes_record(b'foo', names=[])
122
123
        self.writer.end()
123
124
        self.assertEqual(1, self.writer.records_written)
124
125
 
125
126
    def test_add_bytes_record_no_name(self):
126
127
        """Add a bytes record with no name."""
127
128
        self.writer.begin()
128
 
        offset, length = self.writer.add_bytes_record([b'abc'], len(b'abc'), names=[])
 
129
        offset, length = self.writer.add_bytes_record(b'abc', names=[])
129
130
        self.assertEqual((42, 7), (offset, length))
130
131
        self.assertOutput(
131
132
            b'Bazaar pack format 1 (introduced in 0.18)\nB3\n\nabc')
135
136
        self.writer.begin()
136
137
 
137
138
        offset, length = self.writer.add_bytes_record(
138
 
            [b'abc'], len(b'abc'), names=[(b'name1', )])
 
139
            b'abc', names=[(b'name1', )])
139
140
        self.assertEqual((42, 13), (offset, length))
140
141
        self.assertOutput(
141
142
            b'Bazaar pack format 1 (introduced in 0.18)\n'
156
157
 
157
158
        self.writer.begin()
158
159
        offset, length = self.writer.add_bytes_record(
159
 
            [b'abcabc'], len(b'abcabc'), names=[(b'name1', )])
 
160
            b'abcabc', names=[(b'name1', )])
160
161
        self.assertEqual((42, 16), (offset, length))
161
162
        self.assertOutput(
162
163
            b'Bazaar pack format 1 (introduced in 0.18)\n'
172
173
        """Add a bytes record with two names."""
173
174
        self.writer.begin()
174
175
        offset, length = self.writer.add_bytes_record(
175
 
            [b'abc'], len(b'abc'), names=[(b'name1', ), (b'name2', )])
 
176
            b'abc', names=[(b'name1', ), (b'name2', )])
176
177
        self.assertEqual((42, 19), (offset, length))
177
178
        self.assertOutput(
178
179
            b'Bazaar pack format 1 (introduced in 0.18)\n'
182
183
        """Add a bytes record with two names."""
183
184
        self.writer.begin()
184
185
        offset, length = self.writer.add_bytes_record(
185
 
            [b'abc'], len(b'abc'), names=[(b'name1', ), (b'name2', )])
 
186
            b'abc', names=[(b'name1', ), (b'name2', )])
186
187
        self.assertEqual((42, 19), (offset, length))
187
188
        self.assertOutput(
188
189
            b'Bazaar pack format 1 (introduced in 0.18)\n'
192
193
        """Add a bytes record with a two-element name."""
193
194
        self.writer.begin()
194
195
        offset, length = self.writer.add_bytes_record(
195
 
            [b'abc'], len(b'abc'), names=[(b'name1', b'name2')])
 
196
            b'abc', names=[(b'name1', b'name2')])
196
197
        self.assertEqual((42, 19), (offset, length))
197
198
        self.assertOutput(
198
199
            b'Bazaar pack format 1 (introduced in 0.18)\n'
200
201
 
201
202
    def test_add_second_bytes_record_gets_higher_offset(self):
202
203
        self.writer.begin()
203
 
        self.writer.add_bytes_record([b'a', b'bc'], len(b'abc'), names=[])
204
 
        offset, length = self.writer.add_bytes_record([b'abc'], len(b'abc'), names=[])
 
204
        self.writer.add_bytes_record(b'abc', names=[])
 
205
        offset, length = self.writer.add_bytes_record(b'abc', names=[])
205
206
        self.assertEqual((49, 7), (offset, length))
206
207
        self.assertOutput(
207
208
            b'Bazaar pack format 1 (introduced in 0.18)\n'
215
216
        self.writer.begin()
216
217
        self.assertRaises(
217
218
            errors.InvalidRecordError,
218
 
            self.writer.add_bytes_record, [b'abc'], len(b'abc'), names=[(b'bad name', )])
 
219
            self.writer.add_bytes_record, b'abc', names=[(b'bad name', )])
219
220
 
220
221
    def test_add_bytes_records_add_to_records_written(self):
221
222
        """Adding a Bytes record increments the records_written counter."""
222
223
        self.writer.begin()
223
 
        self.writer.add_bytes_record([b'foo'], len(b'foo'), names=[])
 
224
        self.writer.add_bytes_record(b'foo', names=[])
224
225
        self.assertEqual(1, self.writer.records_written)
225
 
        self.writer.add_bytes_record([b'foo'], len(b'foo'), names=[])
 
226
        self.writer.add_bytes_record(b'foo', names=[])
226
227
        self.assertEqual(2, self.writer.records_written)
227
228
 
228
229
 
538
539
        writer = pack.ContainerWriter(pack_data.write)
539
540
        writer.begin()
540
541
        memos = []
541
 
        memos.append(writer.add_bytes_record([b'abc'], 3, names=[]))
542
 
        memos.append(writer.add_bytes_record([b'def'], 3, names=[(b'name1', )]))
543
 
        memos.append(writer.add_bytes_record([b'ghi'], 3, names=[(b'name2', )]))
544
 
        memos.append(writer.add_bytes_record([b'jkl'], 3, names=[]))
 
542
        memos.append(writer.add_bytes_record(b'abc', names=[]))
 
543
        memos.append(writer.add_bytes_record(b'def', names=[(b'name1', )]))
 
544
        memos.append(writer.add_bytes_record(b'ghi', names=[(b'name2', )]))
 
545
        memos.append(writer.add_bytes_record(b'jkl', names=[]))
545
546
        writer.end()
546
547
        transport = self.get_transport()
547
548
        transport.put_bytes('mypack', pack_data.getvalue())