~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_hashcache.py

  • Committer: Patch Queue Manager
  • Date: 2016-02-01 19:13:13 UTC
  • mfrom: (6614.2.2 trunk)
  • Revision ID: pqm@pqm.ubuntu.com-20160201191313-wdfvmfff1djde6oq
(vila) Release 2.7.0 (Vincent Ladeuil)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2005-2009, 2011 Canonical Ltd
 
1
# Copyright (C) 2005-2011, 2016 Canonical Ltd
2
2
#
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
54
54
        """Get correct hash from an empty hashcache"""
55
55
        hc = self.make_hashcache()
56
56
        self.build_tree_contents([('foo', 'hello')])
57
 
        self.assertEquals(hc.get_sha1('foo'),
 
57
        self.assertEqual(hc.get_sha1('foo'),
58
58
                          'aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d')
59
 
        self.assertEquals(hc.miss_count, 1)
60
 
        self.assertEquals(hc.hit_count, 0)
 
59
        self.assertEqual(hc.miss_count, 1)
 
60
        self.assertEqual(hc.hit_count, 0)
61
61
 
62
62
    def test_hashcache_new_file(self):
63
63
        hc = self.make_hashcache()
64
64
        self.build_tree_contents([('foo', 'goodbye')])
65
65
        # now read without pausing; it may not be possible to cache it as its
66
66
        # so new
67
 
        self.assertEquals(hc.get_sha1('foo'), sha1('goodbye'))
 
67
        self.assertEqual(hc.get_sha1('foo'), sha1('goodbye'))
68
68
 
69
69
    def test_hashcache_nonexistent_file(self):
70
70
        hc = self.make_hashcache()
71
 
        self.assertEquals(hc.get_sha1('no-name-yet'), None)
 
71
        self.assertEqual(hc.get_sha1('no-name-yet'), None)
72
72
 
73
73
    def test_hashcache_replaced_file(self):
74
74
        hc = self.make_hashcache()
75
75
        self.build_tree_contents([('foo', 'goodbye')])
76
 
        self.assertEquals(hc.get_sha1('foo'), sha1('goodbye'))
 
76
        self.assertEqual(hc.get_sha1('foo'), sha1('goodbye'))
77
77
        os.remove('foo')
78
 
        self.assertEquals(hc.get_sha1('foo'), None)
 
78
        self.assertEqual(hc.get_sha1('foo'), None)
79
79
        self.build_tree_contents([('foo', 'new content')])
80
 
        self.assertEquals(hc.get_sha1('foo'), sha1('new content'))
 
80
        self.assertEqual(hc.get_sha1('foo'), sha1('new content'))
81
81
 
82
82
    def test_hashcache_not_file(self):
83
83
        hc = self.make_hashcache()
84
84
        self.build_tree(['subdir/'])
85
 
        self.assertEquals(hc.get_sha1('subdir'), None)
 
85
        self.assertEqual(hc.get_sha1('subdir'), None)
86
86
 
87
87
    def test_hashcache_load(self):
88
88
        hc = self.make_hashcache()
89
89
        self.build_tree_contents([('foo', 'contents')])
90
90
        pause()
91
 
        self.assertEquals(hc.get_sha1('foo'), sha1('contents'))
 
91
        self.assertEqual(hc.get_sha1('foo'), sha1('contents'))
92
92
        hc.write()
93
93
        hc = self.reopen_hashcache()
94
 
        self.assertEquals(hc.get_sha1('foo'), sha1('contents'))
95
 
        self.assertEquals(hc.hit_count, 1)
 
94
        self.assertEqual(hc.get_sha1('foo'), sha1('contents'))
 
95
        self.assertEqual(hc.hit_count, 1)
96
96
 
97
97
    def test_hammer_hashcache(self):
98
98
        hc = self.make_hashcache()
108
108
            self.log("iteration %d: %r -> %r",
109
109
                     i, last_content, last_sha1)
110
110
            got_sha1 = hc.get_sha1('foo')
111
 
            self.assertEquals(got_sha1, last_sha1)
 
111
            self.assertEqual(got_sha1, last_sha1)
112
112
            hc.write()
113
113
            hc = self.reopen_hashcache()
114
114
 
173
173
        """A new file gives the right sha1 but misses"""
174
174
        hc = self.make_hashcache()
175
175
        hc.put_file('foo', 'hello')
176
 
        self.assertEquals(hc.get_sha1('foo'), sha1('hello'))
177
 
        self.assertEquals(hc.miss_count, 1)
178
 
        self.assertEquals(hc.hit_count, 0)
 
176
        self.assertEqual(hc.get_sha1('foo'), sha1('hello'))
 
177
        self.assertEqual(hc.miss_count, 1)
 
178
        self.assertEqual(hc.hit_count, 0)
179
179
        # if we try again it's still too new;
180
 
        self.assertEquals(hc.get_sha1('foo'), sha1('hello'))
181
 
        self.assertEquals(hc.miss_count, 2)
182
 
        self.assertEquals(hc.hit_count, 0)
 
180
        self.assertEqual(hc.get_sha1('foo'), sha1('hello'))
 
181
        self.assertEqual(hc.miss_count, 2)
 
182
        self.assertEqual(hc.hit_count, 0)
183
183
 
184
184
    def test_hashcache_old_file(self):
185
185
        """An old file gives the right sha1 and hits"""
187
187
        hc.put_file('foo', 'hello')
188
188
        hc.pretend_to_sleep(20)
189
189
        # file is new; should get the correct hash but miss
190
 
        self.assertEquals(hc.get_sha1('foo'), sha1('hello'))
191
 
        self.assertEquals(hc.miss_count, 1)
192
 
        self.assertEquals(hc.hit_count, 0)
 
190
        self.assertEqual(hc.get_sha1('foo'), sha1('hello'))
 
191
        self.assertEqual(hc.miss_count, 1)
 
192
        self.assertEqual(hc.hit_count, 0)
193
193
        # and can now be hit
194
 
        self.assertEquals(hc.get_sha1('foo'), sha1('hello'))
195
 
        self.assertEquals(hc.miss_count, 1)
196
 
        self.assertEquals(hc.hit_count, 1)
 
194
        self.assertEqual(hc.get_sha1('foo'), sha1('hello'))
 
195
        self.assertEqual(hc.miss_count, 1)
 
196
        self.assertEqual(hc.hit_count, 1)
197
197
        hc.pretend_to_sleep(3)
198
198
        # and again
199
 
        self.assertEquals(hc.get_sha1('foo'), sha1('hello'))
200
 
        self.assertEquals(hc.miss_count, 1)
201
 
        self.assertEquals(hc.hit_count, 2)
 
199
        self.assertEqual(hc.get_sha1('foo'), sha1('hello'))
 
200
        self.assertEqual(hc.miss_count, 1)
 
201
        self.assertEqual(hc.hit_count, 2)
202
202
 
203
203
    def test_hashcache_invalidates(self):
204
204
        hc = self.make_hashcache()
206
206
        hc.pretend_to_sleep(20)
207
207
        hc.get_sha1('foo')
208
208
        hc.put_file('foo', 'h1llo')
209
 
        self.assertEquals(hc.get_sha1('foo'), sha1('h1llo'))
210
 
        self.assertEquals(hc.miss_count, 2)
211
 
        self.assertEquals(hc.hit_count, 0)
 
209
        self.assertEqual(hc.get_sha1('foo'), sha1('h1llo'))
 
210
        self.assertEqual(hc.miss_count, 2)
 
211
        self.assertEqual(hc.hit_count, 0)