~jameinel/bzr/2.0.1-faster-get-deltas-bug374730

« back to all changes in this revision

Viewing changes to bzrlib/tests/per_repository/test_get_deltas_for_revisions.py

  • Committer: John Arbash Meinel
  • Date: 2009-09-24 22:01:02 UTC
  • Revision ID: john@arbash-meinel.com-20090924220102-r0wjsrf47i1y7cpw
Refactor the tests a bit.

The time is down a little (1m13s), but it seems to be missing one ancestry
in bzr.dev's log of 'tools'.

Show diffs side-by-side

added added

removed removed

Lines of Context:
60
60
        self.addCleanup(repo.unlock)
61
61
        return repo
62
62
 
 
63
    def get_all_deltas(self, repo, *args, **kwargs):
 
64
        revisions = [repo.get_revision(r) for r in
 
65
                     ['rev1', 'rev2', 'rev3', 'rev4', 'rev5', 'rev6']]
 
66
        return list(repo.get_deltas_for_revisions(revisions, *args, **kwargs))
 
67
 
63
68
    def test_all_changes(self):
64
69
        repo = self.make_repo_with_history()
65
 
        revisions = [repo.get_revision(r) for r in
66
 
                     ['rev1', 'rev2', 'rev3', 'rev4', 'rev5', 'rev6']]
67
 
        deltas1 = list(repo.get_deltas_for_revisions(revisions))
68
 
        # TODO: this is a bad test, as 'get_revision_delta()' is
 
70
        # TODO: this isn't a great test, as 'get_revision_delta()' is
69
71
        #       implemented in terms of get_deltas_for_revisions()...
70
72
        #       but it is the test we had before
 
73
        revisions = [repo.get_revision(r) for r in
 
74
                     ['rev1', 'rev2', 'rev3', 'rev4', 'rev5', 'rev6']]
 
75
        deltas1 = list(repo.get_deltas_for_revisions(revisions))
71
76
        deltas2 = [repo.get_revision_delta(r.revision_id) for r in revisions]
72
77
        self.assertEqual(deltas1, deltas2)
73
78
        for delta in deltas1:
78
83
 
79
84
    def test_filtered_file_changes(self):
80
85
        repo = self.make_repo_with_history()
81
 
        revisions = [repo.get_revision(r) for r in
82
 
                     ['rev1', 'rev2', 'rev3', 'rev4', 'rev5', 'rev6']]
83
 
        deltas = list(repo.get_deltas_for_revisions(revisions,
84
 
                      specific_fileids=['subfile-id']))
 
86
        deltas = self.get_all_deltas(repo, specific_fileids=['subfile-id'])
85
87
        # Only modified in rev1 and rev5
86
88
        self.assertEqual([True, False, False, False, True, False],
87
89
                         [d.has_changed() for d in deltas])
88
90
 
89
91
    def test_filtered_dirs_include_children(self):
90
92
        repo = self.make_repo_with_history()
91
 
        revisions = [repo.get_revision(r) for r in
92
 
                     ['rev1', 'rev2', 'rev3', 'rev4', 'rev5', 'rev6']]
93
 
        deltas = list(repo.get_deltas_for_revisions(revisions,
94
 
                      specific_fileids=['dir-id']))
 
93
        deltas = self.get_all_deltas(repo, specific_fileids=['dir-id'])
95
94
        # a child was modified in all but rev2
96
95
        self.assertEqual([True, False, True, True, True, True],
97
96
                         [d.has_changed() for d in deltas])
98
97
 
99
98
    def test_filtered_includes_parents(self):
100
99
        repo = self.make_repo_with_history()
101
 
        revisions = [repo.get_revision(r) for r in
102
 
                     ['rev1', 'rev2', 'rev3', 'rev4', 'rev5', 'rev6']]
103
 
        deltas = list(repo.get_deltas_for_revisions(revisions,
104
 
                      specific_fileids=['subsubfile-id']))
 
100
        deltas = self.get_all_deltas(repo, specific_fileids=['subsubfile-id'])
105
101
        self.assertEqual([True, False, True, True, False, True],
106
102
                         [d.has_changed() for d in deltas])