From: <pj...@us...> - 2009-05-26 06:40:45
|
Revision: 6379 http://jython.svn.sourceforge.net/jython/?rev=6379&view=rev Author: pjenvey Date: 2009-05-26 06:40:28 +0000 (Tue, 26 May 2009) Log Message: ----------- from: http://svn.python.org/projects/python/branches/release25-maint/Lib/test/test_dircache.py@41342 Added Paths: ----------- trunk/jython/Lib/test/test_dircache.py Added: trunk/jython/Lib/test/test_dircache.py =================================================================== --- trunk/jython/Lib/test/test_dircache.py (rev 0) +++ trunk/jython/Lib/test/test_dircache.py 2009-05-26 06:40:28 UTC (rev 6379) @@ -0,0 +1,73 @@ +""" + Test cases for the dircache module + Nick Mathewson +""" + +import unittest +from test.test_support import run_unittest, TESTFN +import dircache, os, time, sys, tempfile + + +class DircacheTests(unittest.TestCase): + def setUp(self): + self.tempdir = tempfile.mkdtemp() + + def tearDown(self): + for fname in os.listdir(self.tempdir): + self.delTemp(fname) + os.rmdir(self.tempdir) + + def writeTemp(self, fname): + f = open(os.path.join(self.tempdir, fname), 'w') + f.close() + + def mkdirTemp(self, fname): + os.mkdir(os.path.join(self.tempdir, fname)) + + def delTemp(self, fname): + fname = os.path.join(self.tempdir, fname) + if os.path.isdir(fname): + os.rmdir(fname) + else: + os.unlink(fname) + + def test_listdir(self): + ## SUCCESSFUL CASES + entries = dircache.listdir(self.tempdir) + self.assertEquals(entries, []) + + # Check that cache is actually caching, not just passing through. + self.assert_(dircache.listdir(self.tempdir) is entries) + + # Directories aren't "files" on Windows, and directory mtime has + # nothing to do with when files under a directory get created. + # That is, this test can't possibly work under Windows -- dircache + # is only good for capturing a one-shot snapshot there. + + if sys.platform[:3] not in ('win', 'os2'): + # Sadly, dircache has the same granularity as stat.mtime, and so + # can't notice any changes that occurred within 1 sec of the last + # time it examined a directory. + time.sleep(1) + self.writeTemp("test1") + entries = dircache.listdir(self.tempdir) + self.assertEquals(entries, ['test1']) + self.assert_(dircache.listdir(self.tempdir) is entries) + + ## UNSUCCESSFUL CASES + self.assertRaises(OSError, dircache.listdir, self.tempdir+"_nonexistent") + + def test_annotate(self): + self.writeTemp("test2") + self.mkdirTemp("A") + lst = ['A', 'test2', 'test_nonexistent'] + dircache.annotate(self.tempdir, lst) + self.assertEquals(lst, ['A/', 'test2', 'test_nonexistent']) + + +def test_main(): + run_unittest(DircacheTests) + + +if __name__ == "__main__": + test_main() Property changes on: trunk/jython/Lib/test/test_dircache.py ___________________________________________________________________ Added: svn:keywords + Id This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |