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

  • Committer: John Arbash Meinel
  • Date: 2007-03-20 00:49:11 UTC
  • mto: This revision was merged to the branch mainline in revision 2366.
  • Revision ID: john@arbash-meinel.com-20070320004911-0qajqnddr3rf9r2e
Simplify the test even further....
Basically, if you have a file deleted as removed, and then you unversion its directory
it deletes all records in the dirblock, not realizing that some of them might
already be marked as removed.

Show diffs side-by-side

added added

removed removed

Lines of Context:
12
12
#
13
13
# You should have received a copy of the GNU General Public License
14
14
# along with this program; if not, write to the Free Software
15
 
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16
16
 
17
17
from bzrlib import bzrdir, errors, repository, workingtree, tests
18
18
 
22
22
    def make_branch_and_tree(self, relpath, format=None):
23
23
        if format is None:
24
24
            format = 'dirstate-with-subtree'
25
 
        return tests.TestCaseWithTransport.make_branch_and_tree(self, relpath,
 
25
        return tests.TestCaseWithTransport.make_branch_and_tree(self, relpath, 
26
26
                                                                format)
27
27
 
28
28
    def make_trees(self, format=None, same_root=False):
49
49
        """
50
50
        base_tree, sub_tree = self.make_trees(format='knit',
51
51
                                              same_root=True)
52
 
        self.assertRaises(errors.BadSubsumeSource, base_tree.subsume,
 
52
        self.assertRaises(errors.BadSubsumeSource, base_tree.subsume, 
53
53
                          sub_tree)
54
54
 
55
55
    def test_knit1_failure(self):
56
56
        base_tree, sub_tree = self.make_trees(format='knit')
57
 
        self.assertRaises(errors.SubsumeTargetNeedsUpgrade, base_tree.subsume,
 
57
        self.assertRaises(errors.SubsumeTargetNeedsUpgrade, base_tree.subsume, 
58
58
                          sub_tree)
59
59
 
60
60
    def test_subsume_tree(self):
61
61
        base_tree, sub_tree = self.make_trees()
62
 
        self.assertNotEqual(base_tree.get_root_id(), sub_tree.get_root_id())
 
62
        assert base_tree.get_root_id() != sub_tree.get_root_id()
63
63
        sub_root_id = sub_tree.get_root_id()
64
64
        # this test checks the subdir is removed, so it needs to know the
65
65
        # control directory; that changes rarely so just hardcode (and check)
100
100
        if base_tree.get_root_id() == sub_tree.get_root_id():
101
101
            raise tests.TestSkipped('This test requires unique roots')
102
102
        sub_root_id = sub_tree.get_root_id()
103
 
        self.assertRaises(errors.BadSubsumeSource, base_tree.subsume,
 
103
        self.assertRaises(errors.BadSubsumeSource, base_tree.subsume, 
104
104
                          base_tree)
105
 
        self.assertRaises(errors.BadSubsumeSource, sub_tree.subsume,
 
105
        self.assertRaises(errors.BadSubsumeSource, sub_tree.subsume, 
106
106
                          base_tree)
107
107
        self.build_tree(['subtree2/'])
108
108
        sub_tree2 = self.make_branch_and_tree('subtree2')
109
 
        self.assertRaises(errors.BadSubsumeSource, sub_tree.subsume,
 
109
        self.assertRaises(errors.BadSubsumeSource, sub_tree.subsume, 
110
110
                          sub_tree2)
111
111
        self.build_tree(['tree/subtree/subtree3/'])
112
112
        sub_tree3 = self.make_branch_and_tree('tree/subtree/subtree3')