~abentley/bzrtools/bzrtools.dev

« back to all changes in this revision

Viewing changes to tests/test_baz_import.py

  • Committer: Aaron Bentley
  • Date: 2006-03-01 14:16:44 UTC
  • mto: (147.4.30 trunk)
  • mto: This revision was merged to the branch mainline in revision 324.
  • Revision ID: abentley@panoramicfeedback.com-20060301141644-dabb411c8c886c23
Cleaned up baz_import and tests

Show diffs side-by-side

added added

removed removed

Lines of Context:
55
55
        os.environ['HOME'] = self._homedir
56
56
 
57
57
        self._archiveroot = os.path.join(self._tmpdir, 'archive')
58
 
        self._archive = pybaz.make_archive('demo@DONOTUSE', str(self._archiveroot))
 
58
        self._archive = pybaz.make_archive('demo@DONOTUSE', 
 
59
                                           str(self._archiveroot))
59
60
        pybaz.set_my_id("Test User<test@example.org>")
60
61
 
61
62
        self.make_empty_import()
83
84
        
84
85
        # tree, two commits, includes merge of other branch
85
86
        self._empty_merged_tag_2 = 'demo@DONOTUSE/c--empty-tag-2--0'
86
 
        self._empty_merged_tag_2_bzr_base = revision_id(self._empty_merged_tag_2 + '--base-0')
87
 
        self._empty_merged_tag_2_bzr = revision_id(self._empty_merged_tag_2 + '--patch-1')
 
87
        self._empty_merged_tag_2_bzr_base = revision_id(
 
88
            self._empty_merged_tag_2 + '--base-0')
 
89
        self._empty_merged_tag_2_bzr = revision_id(
 
90
            self._empty_merged_tag_2 + '--patch-1')
88
91
        pybaz.Revision('demo@DONOTUSE/c--import--0--base-0').make_continuation(
89
92
            pybaz.Version(self._empty_merged_tag_2))
90
93
        tree = pybaz.Revision(self._empty_merged_tag_2 + '--base-0').get (
104
107
        tree = pybaz.Revision(self._bad_id_tag + '--base-0').get(
105
108
            os.path.join(self._tmpdir, 'tree'))
106
109
        from bzrlib.plugins.bzrtools.baz_import import add_file
107
 
        add_file(os.path.join(self._tmpdir,'tree/path'), 'text', 'this_id/needs%escaping')
 
110
        add_file(os.path.join(self._tmpdir,'tree/path'), 'text', 
 
111
                 'this_id/needs%escaping')
108
112
        msg = tree.log_message()
109
113
        msg["summary"] = "commit something which needs escaping."
110
114
        tree.commit(msg)
115
119
 
116
120
    def make_import_symlink(self):
117
121
        self._import_symlink = 'demo@DONOTUSE/c--import-symlink--0'
118
 
        self._import_symlink_bzr = revision_id(self._import_symlink + '--base-0')
 
122
        self._import_symlink_bzr = revision_id(
 
123
            self._import_symlink + '--base-0')
119
124
        os.mkdir(os.path.join(self._tmpdir, 'tree'))
120
125
        tree = pybaz.init_tree(os.path.join(self._tmpdir, 'tree'),
121
126
                               self._import_symlink)
133
138
    def make_empty_import(self):
134
139
        self._import = 'demo@DONOTUSE/c--import--0'
135
140
        os.mkdir(os.path.join(self._tmpdir, 'tree'))
136
 
        tree = pybaz.init_tree(os.path.join(self._tmpdir, 'tree'), self._import)
 
141
        tree = pybaz.init_tree(os.path.join(self._tmpdir, 'tree'), 
 
142
                               self._import)
137
143
        msg = tree.log_message()
138
144
        msg["summary"] = "I am importing now"
139
145
        tree.import_(msg)
203
209
        self.output.write("\n")
204
210
 
205
211
    def test_import_empty(self):
206
 
        import_version('output', pybaz.Version(self._baz._import), self.collect)
 
212
        import_version('output', pybaz.Version(self._baz._import), 
 
213
                       self.collect)
207
214
        # expected results:
208
 
        # one commit, no files, revision identifier of 'demo@DONOTUSE_c--import--0--base-0'
 
215
        # one commit, no files, revision identifier of 
 
216
        # 'demo@DONOTUSE_c--import--0--base-0'
209
217
        branch = Branch.open('output')
 
218
        repo = branch.repository
210
219
        self.assertEqual(branch.revision_history(),
211
220
                         ['Arch-1:demo@DONOTUSE%c--import--0--base-0'])
212
 
        rev = branch.repository.get_revision('Arch-1:demo@DONOTUSE%c--import--0--base-0')
 
221
        rev = repo.get_revision('Arch-1:demo@DONOTUSE%c--import--0--base-0')
213
222
        # and again.
214
223
        import_version('output2', pybaz.Version('demo@DONOTUSE/c--import--0'),
215
224
                       self.collect)
216
225
        branch2 = Branch.open('output2')
 
226
        repo2 = branch2.repository
217
227
        self.assertEqual(branch.revision_history(), branch2.revision_history())
218
 
        rev2 = branch2.repository.get_revision('Arch-1:demo@DONOTUSE%c--import--0--base-0')
 
228
        rev2 = repo2.get_revision('Arch-1:demo@DONOTUSE%c--import--0--base-0')
219
229
        # they must be the same
220
230
        self.assertEqual(rev, rev2)
221
231
 
248
258
 
249
259
        # and we should get some expected values:
250
260
        self.assertEqual(rev.committer, "Test User<test@example.org>")
251
 
        self.assertEqual(rev.message, "tag of demo@DONOTUSE/c--import--0--base-0")
 
261
        self.assertEqual(rev.message, 
 
262
                         "tag of demo@DONOTUSE/c--import--0--base-0")
252
263
        self.assertEqual(rev.revision_id, self._baz._empty_tag_bzr)
253
264
 
254
265
    def test_empty_merged_tagged(self):
262
273
        # and a merged revision from the latter of
263
274
        # self._baz._empty_tag_bzr
264
275
        branch = Branch.open('output')
 
276
        repo = branch.repository
265
277
        self.assertEqual(branch.revision_history(),
266
278
                         ['Arch-1:demo@DONOTUSE%c--import--0--base-0',
267
279
                          self._baz._empty_merged_tag_bzr_base,
270
282
        import_version('output2', pybaz.Version(self._baz._empty_merged_tag),
271
283
                       self.collect)
272
284
        branch2 = Branch.open('output2')
 
285
        repo2 = branch2.repository
273
286
        # and import what we should be merged up against for checking with.
274
287
        import_version('output3', pybaz.Version(self._baz._empty_tag),
275
288
                       self.collect)
276
289
        branch3 = Branch.open('output3')
277
290
        
278
291
        self.assertEqual(branch.revision_history(), branch2.revision_history())
279
 
        self.assertNotEqual(branch.revision_history(), branch3.revision_history())
 
292
        self.assertNotEqual(branch.revision_history(), 
 
293
                            branch3.revision_history())
280
294
        # check revisions in the history.
281
 
        rev = branch.repository.get_revision(self._baz._empty_merged_tag_bzr_base)
282
 
        rev2 = branch2.repository.get_revision(self._baz._empty_merged_tag_bzr_base)
 
295
        rev = repo.get_revision(self._baz._empty_merged_tag_bzr_base)
 
296
        rev2 = repo2.get_revision(self._baz._empty_merged_tag_bzr_base)
283
297
        # they must be the same
284
298
        self.assertEqual(rev, rev2)
285
299
        # and we should get some expected values:
286
300
        self.assertEqual(rev.committer, "Test User<test@example.org>")
287
 
        self.assertEqual(rev.message, "tag of demo@DONOTUSE/c--import--0--base-0")
 
301
        self.assertEqual(rev.message, 
 
302
                         "tag of demo@DONOTUSE/c--import--0--base-0")
288
303
        self.assertEqual(rev.revision_id, self._baz._empty_merged_tag_bzr_base)
289
304
        self.assertEqual(['Arch-1:demo@DONOTUSE%c--import--0--base-0'],
290
305
                         rev.parent_ids)
291
306
 
292
307
        # check next revisions in the history.
293
 
        rev = branch.repository.get_revision(self._baz._empty_merged_tag_bzr)
294
 
        rev2 = branch2.repository.get_revision(self._baz._empty_merged_tag_bzr)
 
308
        rev = repo.get_revision(self._baz._empty_merged_tag_bzr)
 
309
        rev2 = repo2.get_revision(self._baz._empty_merged_tag_bzr)
295
310
        # they must be the same
296
311
        self.assertEqual(rev, rev2)
297
312
        # and we should get some expected values:
317
332
        # and a merged revision from the latter of
318
333
        # self._baz._empty_merged_tag_bzr
319
334
        branch = Branch.open('output')
 
335
        repo = branch.repository
320
336
        self.assertEqual(branch.revision_history(),
321
337
                         ['Arch-1:demo@DONOTUSE%c--import--0--base-0',
322
338
                          self._baz._empty_merged_tag_2_bzr_base,
325
341
        import_version('output2', pybaz.Version(self._baz._empty_merged_tag_2),
326
342
                       self.collect)
327
343
        branch2 = Branch.open('output2')
 
344
        repo2 = branch2.repository
328
345
        # and import what we should be merged up against for checking with.
329
346
        import_version('output3', pybaz.Version(self._baz._empty_merged_tag),
330
347
                       self.collect)
331
348
        branch3 = Branch.open('output3')
332
349
        
333
350
        self.assertEqual(branch.revision_history(), branch2.revision_history())
334
 
        self.assertNotEqual(branch.revision_history(), branch3.revision_history())
 
351
        self.assertNotEqual(branch.revision_history(), 
 
352
                            branch3.revision_history())
335
353
        # check revisions in the history.
336
 
        rev = branch.repository.get_revision(self._baz._empty_merged_tag_2_bzr_base)
337
 
        rev2 = branch2.repository.get_revision(self._baz._empty_merged_tag_2_bzr_base)
 
354
        rev = repo.get_revision(self._baz._empty_merged_tag_2_bzr_base)
 
355
        rev2 = repo2.get_revision(self._baz._empty_merged_tag_2_bzr_base)
338
356
        # they must be the same
339
357
        self.assertEqual(rev, rev2)
340
358
        # and we should get some expected values:
341
359
        self.assertEqual(rev.committer, "Test User<test@example.org>")
342
 
        self.assertEqual(rev.message, "tag of demo@DONOTUSE/c--import--0--base-0")
343
 
        self.assertEqual(rev.revision_id, self._baz._empty_merged_tag_2_bzr_base)
 
360
        self.assertEqual(rev.message, 
 
361
                         "tag of demo@DONOTUSE/c--import--0--base-0")
 
362
        self.assertEqual(rev.revision_id, 
 
363
                         self._baz._empty_merged_tag_2_bzr_base)
344
364
 
345
365
        # check next revisions in the history.
346
 
        rev = branch.repository.get_revision(self._baz._empty_merged_tag_2_bzr)
347
 
        rev2 = branch2.repository.get_revision(self._baz._empty_merged_tag_2_bzr)
 
366
        rev = repo.get_revision(self._baz._empty_merged_tag_2_bzr)
 
367
        rev2 = repo2.get_revision(self._baz._empty_merged_tag_2_bzr)
348
368
        # they must be the same
349
369
        self.assertEqual(rev, rev2)
350
370
        # and we should get some expected values:
364
384
        import_version('output', pybaz.Version(self._baz._import_symlink),
365
385
                       self.collect)
366
386
        # expected results:
367
 
        # one commit, no files, revision identifier of 'demo@DONOTUSE_c--import--0--base-0'
 
387
        # one commit, no files, revision identifier of 
 
388
        # 'demo@DONOTUSE_c--import--0--base-0'
368
389
        branch = Branch.open('output')
369
390
        self.assertEqual(branch.revision_history(),
370
391
                         [self._baz._import_symlink_bzr])
412
433
 
413
434
        # and we should get some expected values:
414
435
        self.assertEqual(rev.committer, "Test User<test@example.org>")
415
 
        self.assertEqual(rev.message, "tag of demo-gone@DONOTUSE/c--import--0--base-0")
 
436
        self.assertEqual(rev.message, 
 
437
                         "tag of demo-gone@DONOTUSE/c--import--0--base-0")
416
438
        self.assertEqual(rev.revision_id, self._baz._missing_ancestor_bzr)
417
439
        self.assertEqual(rev.parent_ids[0], self._baz._missing_import_bzr)
418
440
        self.assertEqual(1, len(rev.parent_ids))
449
471
 
450
472
        # and we should get some expected values:
451
473
        self.assertEqual(rev.committer, "Test User<test@example.org>")
452
 
        self.assertEqual(rev.message, "tag of demo-gone@DONOTUSE/c--import--0--base-0")
 
474
        self.assertEqual(rev.message, 
 
475
                         "tag of demo-gone@DONOTUSE/c--import--0--base-0")
453
476
        self.assertEqual(rev.revision_id, self._baz._missing_ancestor_bzr)
454
477
        self.assertEqual(rev.parent_ids[0], self._baz._missing_import_bzr)
455
478
        self.assertEqual(1, len(rev.parent_ids))
613
636
    def make_import(self, namespace):
614
637
        self._import = 'demo@DONOTUSE/%s' % namespace
615
638
        os.mkdir(os.path.join(self._tmpdir, 'tree'))
616
 
        tree = pybaz.init_tree(os.path.join(self._tmpdir, 'tree'), self._import)
 
639
        tree = pybaz.init_tree(os.path.join(self._tmpdir, 'tree'), 
 
640
                               self._import)
617
641
        msg = tree.log_message()
618
642
        msg["summary"] = "I am importing now"
619
643
        tree.import_(msg)
626
650
        command = cmd_baz_import()
627
651
        command.run(os.path.join(self._tmpdir, 'output'), 'demo@DONOTUSE')
628
652
        self.failUnless(os.path.exists(os.path.join(self._tmpdir,'output')))
629
 
        self.assertEqual(1, 
630
 
                        len(list(os.walk(os.path.join(self._tmpdir,'output')))))
 
653
        walk_len = len(list(os.walk(os.path.join(self._tmpdir,'output'))))
 
654
        self.assertEqual(1, walk_len)
631
655
 
632
656
    def test_two_branches(self):
633
657
        self.make_import('c--0')
635
659
        command = cmd_baz_import()
636
660
        command.run(os.path.join(self._tmpdir, 'output'), 'demo@DONOTUSE')
637
661
        self.failUnless(os.path.exists(os.path.join(self._tmpdir,'output')))
638
 
        self.failUnless(os.path.exists(os.path.join(self._tmpdir,'output', 'c','+trunk')))
639
 
        self.failUnless(os.path.exists(os.path.join(self._tmpdir,'output', 'c1', '0.2','branch')))
640
 
        self.assertEqual(14,
641
 
                        len(list(os.walk(os.path.join(self._tmpdir,'output')))))
 
662
        self.failUnless(os.path.exists(os.path.join(self._tmpdir,'output', 
 
663
                                       'c','+trunk')))
 
664
        self.failUnless(os.path.exists(os.path.join(self._tmpdir,'output', 
 
665
                                                    'c1', '0.2','branch')))
 
666
        walk_len = len(list(os.walk(os.path.join(self._tmpdir,'output'))))
 
667
        self.assertEqual(14, walk_len)
642
668
 
643
669
    def test_run_twice(self):
644
670
        self.make_import('c--0')