~vexo/bzr/gpg_verify_download_missing

« back to all changes in this revision

Viewing changes to bzrlib/selftest/test_merge_core.py

  • Committer: Robert Collins
  • Date: 2005-11-27 22:38:34 UTC
  • mfrom: (1185.33.36 bzr.dev)
  • Revision ID: robertc@robertcollins.net-20051127223834-d00ecca0d0b9384a
Merge from mpool, adjusting check to retain HTTP support.

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
import tempfile
4
4
import unittest
5
5
import stat
 
6
import sys
6
7
 
7
8
from bzrlib.selftest import TestCaseInTempDir, TestCase
8
9
from bzrlib.branch import ScratchBranch, Branch
467
468
        builder.apply_changeset(cset)
468
469
        self.assert_(file(builder.this.full_path("1"), "rb").read() == "text4" )
469
470
        self.assert_(file(builder.this.full_path("2"), "rb").read() == "text2" )
470
 
        self.assert_(os.stat(builder.this.full_path("1")).st_mode &0777 == 0755)
471
 
        self.assert_(os.stat(builder.this.full_path("2")).st_mode &0777 == 0655)
472
 
        self.assert_(os.stat(builder.this.full_path("3")).st_mode &0777 == 0744)
 
471
        if sys.platform != "win32":
 
472
            self.assert_(os.stat(builder.this.full_path("1")).st_mode &0777 == 0755)
 
473
            self.assert_(os.stat(builder.this.full_path("2")).st_mode &0777 == 0655)
 
474
            self.assert_(os.stat(builder.this.full_path("3")).st_mode &0777 == 0744)
473
475
        return builder
474
476
 
475
477
    def contents_test_conflicts(self, merge_factory):
482
484
        builder.cleanup()
483
485
 
484
486
    def test_symlink_conflicts(self):
485
 
        builder = MergeBuilder()
486
 
        builder.add_symlink("2", "0", "name2", "target1")
487
 
        builder.change_target("2", other="target4", base="text3")
488
 
        self.assertRaises(changeset.ThreewayContentsConflict,
489
 
                          builder.merge_changeset, ApplyMerge3)
490
 
        builder.cleanup()
 
487
        if sys.platform != "win32":
 
488
            builder = MergeBuilder()
 
489
            builder.add_symlink("2", "0", "name2", "target1")
 
490
            builder.change_target("2", other="target4", base="text3")
 
491
            self.assertRaises(changeset.ThreewayContentsConflict,
 
492
                              builder.merge_changeset, ApplyMerge3)
 
493
            builder.cleanup()
491
494
 
492
495
    def test_symlink_merge(self):
493
 
        builder = MergeBuilder()
494
 
        builder.add_symlink("1", "0", "name1", "target1")
495
 
        builder.add_symlink("2", "0", "name2", "target1")
496
 
        builder.add_symlink("3", "0", "name3", "target1")
497
 
        builder.change_target("1", this="target2")
498
 
        builder.change_target("2", base="target2")
499
 
        builder.change_target("3", other="target2")
500
 
        self.assertNotEqual(builder.cset.entries['2'].contents_change,
501
 
                            builder.cset.entries['3'].contents_change)
502
 
        cset = builder.merge_changeset(ApplyMerge3)
503
 
        builder.apply_changeset(cset)
504
 
        self.assertEqual(builder.this.get_symlink_target("1"), "target2")
505
 
        self.assertEqual(builder.this.get_symlink_target("2"), "target1")
506
 
        self.assertEqual(builder.this.get_symlink_target("3"), "target2")
507
 
        builder.cleanup()
 
496
        if sys.platform != "win32":
 
497
            builder = MergeBuilder()
 
498
            builder.add_symlink("1", "0", "name1", "target1")
 
499
            builder.add_symlink("2", "0", "name2", "target1")
 
500
            builder.add_symlink("3", "0", "name3", "target1")
 
501
            builder.change_target("1", this="target2")
 
502
            builder.change_target("2", base="target2")
 
503
            builder.change_target("3", other="target2")
 
504
            self.assertNotEqual(builder.cset.entries['2'].contents_change,
 
505
                                builder.cset.entries['3'].contents_change)
 
506
            cset = builder.merge_changeset(ApplyMerge3)
 
507
            builder.apply_changeset(cset)
 
508
            self.assertEqual(builder.this.get_symlink_target("1"), "target2")
 
509
            self.assertEqual(builder.this.get_symlink_target("2"), "target1")
 
510
            self.assertEqual(builder.this.get_symlink_target("3"), "target2")
 
511
            builder.cleanup()
508
512
 
509
513
    def test_perms_merge(self):
510
514
        builder = MergeBuilder()
520
524
        self.assert_(isinstance(cset.entries["2"].metadata_change, ExecFlagMerge))
521
525
        self.assert_(cset.entries["3"].is_boring())
522
526
        builder.apply_changeset(cset)
523
 
        self.assert_(os.lstat(builder.this.full_path("1")).st_mode &0100 == 0000)
524
 
        self.assert_(os.lstat(builder.this.full_path("2")).st_mode &0100 == 0100)
525
 
        self.assert_(os.lstat(builder.this.full_path("3")).st_mode &0100 == 0000)
 
527
        if sys.platform != "win32":
 
528
            self.assert_(os.lstat(builder.this.full_path("1")).st_mode &0100 == 0000)
 
529
            self.assert_(os.lstat(builder.this.full_path("2")).st_mode &0100 == 0100)
 
530
            self.assert_(os.lstat(builder.this.full_path("3")).st_mode &0100 == 0000)
526
531
        builder.cleanup();
527
532
 
528
533