~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_hashcache.py

(jameinel) Allow 'bzr serve' to interpret SIGHUP as a graceful shutdown.
 (bug #795025) (John A Meinel)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2005, 2006 Canonical Ltd
 
1
# Copyright (C) 2005-2009, 2011 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
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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
15
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
16
 
17
17
import os
18
18
import stat
19
 
import sys
20
19
import time
21
20
 
22
21
from bzrlib import osutils
23
22
from bzrlib.errors import BzrError
24
23
from bzrlib.hashcache import HashCache
25
 
from bzrlib.tests import OsFifoFeature, TestCaseInTempDir, TestCase
26
 
 
27
 
 
28
 
def sha1(t):
29
 
    return osutils.sha(t).hexdigest()
 
24
from bzrlib.tests import (
 
25
    TestCaseInTempDir,
 
26
    )
 
27
from bzrlib.tests.features import (
 
28
    OsFifoFeature,
 
29
    )
 
30
 
 
31
 
 
32
sha1 = osutils.sha_string
30
33
 
31
34
 
32
35
def pause():
146
149
                10, 20,
147
150
                stat.S_IFREG | 0600)
148
151
 
149
 
    def _really_sha1_file(self, abspath):
 
152
    def _really_sha1_file(self, abspath, filters):
150
153
        if abspath in self._files:
151
154
            return sha1(self._files[abspath][0])
152
155
        else:
158
161
    def pretend_to_sleep(self, secs):
159
162
        self._clock += secs
160
163
 
161
 
    
 
164
 
162
165
class TestHashCacheFakeFilesystem(TestCaseInTempDir):
163
166
    """Tests the hashcache using a simulated OS.
164
167
    """
173
176
        self.assertEquals(hc.get_sha1('foo'), sha1('hello'))
174
177
        self.assertEquals(hc.miss_count, 1)
175
178
        self.assertEquals(hc.hit_count, 0)
176
 
        # if we try again it's still too new; 
 
179
        # if we try again it's still too new;
177
180
        self.assertEquals(hc.get_sha1('foo'), sha1('hello'))
178
181
        self.assertEquals(hc.miss_count, 2)
179
182
        self.assertEquals(hc.hit_count, 0)