~ubuntu-branches/ubuntu/lucid/dulwich/lucid

« back to all changes in this revision

Viewing changes to dulwich/tests/test_repository.py

  • Committer: Bazaar Package Importer
  • Author(s): Jelmer Vernooij
  • Date: 2009-07-23 22:35:11 UTC
  • mfrom: (1.2.6 upstream)
  • Revision ID: james.westby@ubuntu.com-20090723223511-bz5uwqhyit6sfwc5
Tags: 0.3.3-1
* Run the testsuite during build.
* New upstream release.
* Avoid hard dependency on python2.4. Thanks doko for the help
  debugging this. Closes: #534758.
* Bump standards version to 3.8.2.

Show diffs side-by-side

added added

removed removed

Lines of Context:
33
33
  
34
34
    def open_repo(self, name):
35
35
        return Repo(os.path.join(os.path.dirname(__file__),
36
 
                          'data', 'repos', name, '.git'))
 
36
                          'data', 'repos', name))
37
37
  
38
38
    def test_simple_props(self):
39
 
        r = self.open_repo('a')
 
39
        r = self.open_repo('a.git')
40
40
        basedir = os.path.join(os.path.dirname(__file__), 
41
 
                os.path.join('data', 'repos', 'a', '.git'))
 
41
                os.path.join('data', 'repos', 'a.git'))
42
42
        self.assertEqual(r.controldir(), basedir)
43
43
  
44
44
    def test_ref(self):
45
 
        r = self.open_repo('a')
 
45
        r = self.open_repo('a.git')
46
46
        self.assertEqual(r.ref('refs/heads/master'),
47
47
                         'a90fa2d900a17e99b433217e988c4eb4a2e9a097')
48
48
  
49
49
    def test_get_refs(self):
50
 
        r = self.open_repo('a')
 
50
        r = self.open_repo('a.git')
51
51
        self.assertEquals({
52
52
            'HEAD': 'a90fa2d900a17e99b433217e988c4eb4a2e9a097', 
53
53
            'refs/heads/master': 'a90fa2d900a17e99b433217e988c4eb4a2e9a097'
54
54
            }, r.get_refs())
55
55
  
56
56
    def test_head(self):
57
 
        r = self.open_repo('a')
 
57
        r = self.open_repo('a.git')
58
58
        self.assertEqual(r.head(), 'a90fa2d900a17e99b433217e988c4eb4a2e9a097')
59
59
  
60
60
    def test_get_object(self):
61
 
        r = self.open_repo('a')
 
61
        r = self.open_repo('a.git')
62
62
        obj = r.get_object(r.head())
63
63
        self.assertEqual(obj._type, 'commit')
64
64
  
65
65
    def test_get_object_non_existant(self):
66
 
        r = self.open_repo('a')
 
66
        r = self.open_repo('a.git')
67
67
        self.assertRaises(KeyError, r.get_object, missing_sha)
68
68
  
69
69
    def test_commit(self):
70
 
        r = self.open_repo('a')
 
70
        r = self.open_repo('a.git')
71
71
        obj = r.commit(r.head())
72
72
        self.assertEqual(obj._type, 'commit')
73
73
  
74
74
    def test_commit_not_commit(self):
75
 
        r = self.open_repo('a')
 
75
        r = self.open_repo('a.git')
76
76
        self.assertRaises(errors.NotCommitError,
77
77
                          r.commit, '4f2e6529203aa6d44b5af6e3292c837ceda003f9')
78
78
  
79
79
    def test_tree(self):
80
 
        r = self.open_repo('a')
 
80
        r = self.open_repo('a.git')
81
81
        commit = r.commit(r.head())
82
82
        tree = r.tree(commit.tree)
83
83
        self.assertEqual(tree._type, 'tree')
84
84
        self.assertEqual(tree.sha().hexdigest(), commit.tree)
85
85
  
86
86
    def test_tree_not_tree(self):
87
 
        r = self.open_repo('a')
 
87
        r = self.open_repo('a.git')
88
88
        self.assertRaises(errors.NotTreeError, r.tree, r.head())
89
89
  
90
90
    def test_get_blob(self):
91
 
        r = self.open_repo('a')
 
91
        r = self.open_repo('a.git')
92
92
        commit = r.commit(r.head())
93
93
        tree = r.tree(commit.tree())
94
94
        blob_sha = tree.entries()[0][2]
97
97
        self.assertEqual(blob.sha().hexdigest(), blob_sha)
98
98
  
99
99
    def test_get_blob(self):
100
 
        r = self.open_repo('a')
 
100
        r = self.open_repo('a.git')
101
101
        self.assertRaises(errors.NotBlobError, r.get_blob, r.head())
102
102
    
103
103
    def test_linear_history(self):
104
 
        r = self.open_repo('a')
 
104
        r = self.open_repo('a.git')
105
105
        history = r.revision_history(r.head())
106
106
        shas = [c.sha().hexdigest() for c in history]
107
107
        self.assertEqual(shas, [r.head(),
108
108
                                '2a72d929692c41d8554c07f6301757ba18a65d91'])
109
109
  
110
110
    def test_merge_history(self):
111
 
        r = self.open_repo('simple_merge')
 
111
        r = self.open_repo('simple_merge.git')
112
112
        history = r.revision_history(r.head())
113
113
        shas = [c.sha().hexdigest() for c in history]
114
114
        self.assertEqual(shas, ['5dac377bdded4c9aeb8dff595f0faeebcc8498cc',
118
118
                                '0d89f20333fbb1d2f3a94da77f4981373d8f4310'])
119
119
  
120
120
    def test_revision_history_missing_commit(self):
121
 
        r = self.open_repo('simple_merge')
 
121
        r = self.open_repo('simple_merge.git')
122
122
        self.assertRaises(errors.MissingCommitError, r.revision_history,
123
123
                          missing_sha)
124
124
  
125
125
    def test_out_of_order_merge(self):
126
126
        """Test that revision history is ordered by date, not parent order."""
127
 
        r = self.open_repo('ooo_merge')
 
127
        r = self.open_repo('ooo_merge.git')
128
128
        history = r.revision_history(r.head())
129
129
        shas = [c.sha().hexdigest() for c in history]
130
130
        self.assertEqual(shas, ['7601d7f6231db6a57f7bbb79ee52e4d462fd44d1',
133
133
                                'f9e39b120c68182a4ba35349f832d0e4e61f485c'])
134
134
  
135
135
    def test_get_tags_empty(self):
136
 
        r = self.open_repo('ooo_merge')
 
136
        r = self.open_repo('ooo_merge.git')
137
137
        self.assertEquals({}, r.refs.as_dict('refs/tags'))