~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_hashcache.py

  • Committer: Martin Pool
  • Date: 2010-01-29 10:36:23 UTC
  • mto: This revision was merged to the branch mainline in revision 4992.
  • Revision ID: mbp@sourcefrog.net-20100129103623-hywka5hymo5z13jw
Change url to canonical.com or wiki, plus some doc improvements in passing

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., 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
 
import sha
19
18
import stat
20
19
import sys
21
20
import time
22
21
 
 
22
from bzrlib import osutils
23
23
from bzrlib.errors import BzrError
24
24
from bzrlib.hashcache import HashCache
25
 
from bzrlib.tests import TestCaseInTempDir, TestSkipped, TestCase
 
25
from bzrlib.tests import OsFifoFeature, TestCaseInTempDir, TestCase
26
26
 
27
27
 
28
28
def sha1(t):
29
 
    return sha.new(t).hexdigest()
 
29
    return osutils.sha(t).hexdigest()
30
30
 
31
31
 
32
32
def pause():
111
111
 
112
112
    def test_hashcache_raise(self):
113
113
        """check that hashcache can raise BzrError"""
 
114
        self.requireFeature(OsFifoFeature)
114
115
        hc = self.make_hashcache()
115
 
        if getattr(os, 'mkfifo', None) is None:
116
 
            raise TestSkipped('filesystem fifos not supported on this system')
117
116
        os.mkfifo('a')
118
117
        # It's possible that the system supports fifos but the filesystem
119
118
        # can't.  In that case we should skip at this point.  But in fact
147
146
                10, 20,
148
147
                stat.S_IFREG | 0600)
149
148
 
150
 
    def _really_sha1_file(self, abspath):
 
149
    def _really_sha1_file(self, abspath, filters):
151
150
        if abspath in self._files:
152
151
            return sha1(self._files[abspath][0])
153
152
        else:
159
158
    def pretend_to_sleep(self, secs):
160
159
        self._clock += secs
161
160
 
162
 
    
 
161
 
163
162
class TestHashCacheFakeFilesystem(TestCaseInTempDir):
164
163
    """Tests the hashcache using a simulated OS.
165
164
    """
174
173
        self.assertEquals(hc.get_sha1('foo'), sha1('hello'))
175
174
        self.assertEquals(hc.miss_count, 1)
176
175
        self.assertEquals(hc.hit_count, 0)
177
 
        # if we try again it's still too new; 
 
176
        # if we try again it's still too new;
178
177
        self.assertEquals(hc.get_sha1('foo'), sha1('hello'))
179
178
        self.assertEquals(hc.miss_count, 2)
180
179
        self.assertEquals(hc.hit_count, 0)