Rev 3506: Add a test case that shows the mtime is not being returned correctly. in http://bzr.arbash-meinel.com/branches/bzr/1.6-dev/win32_find_files
John Arbash Meinel
john at arbash-meinel.com
Thu Jun 26 22:18:06 BST 2008
At http://bzr.arbash-meinel.com/branches/bzr/1.6-dev/win32_find_files
------------------------------------------------------------
revno: 3506
revision-id: john at arbash-meinel.com-20080626211800-mb234d9wpgxklotf
parent: john at arbash-meinel.com-20080626164622-s0dpqlxzdybnmcb8
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: win32_find_files
timestamp: Thu 2008-06-26 16:18:00 -0500
message:
Add a test case that shows the mtime is not being returned correctly.
-------------- next part --------------
=== modified file 'bzrlib/tests/test_osutils.py'
--- a/bzrlib/tests/test_osutils.py 2008-06-26 16:46:22 +0000
+++ b/bzrlib/tests/test_osutils.py 2008-06-26 21:18:00 +0000
@@ -21,6 +21,7 @@
import socket
import stat
import sys
+import time
import bzrlib
from bzrlib import (
@@ -1050,6 +1051,53 @@
self._filter_out_stat(result)
self.assertEqual(expected_dirblocks, result)
+ def assertStatIsCorrect(self, path, win32stat):
+ os_stat = os.stat(path)
+ self.assertEqual(os_stat.st_size, win32stat.st_size)
+ import pdb; pdb.set_trace()
+ self.assertEqual(int(os_stat.st_mtime), win32stat.st_mtime)
+ self.assertEqual(int(os_stat.st_ctime), win32stat.st_ctime)
+ self.assertEqual(int(os_stat.st_atime), win32stat.st_atime)
+ self.assertEqual(os_stat.st_dev, win32stat.st_dev)
+ self.assertEqual(os_stat.st_ino, win32stat.st_ino)
+ self.assertEqual(os_stat.st_mode, win32stat.st_mode)
+
+ def test__walkdirs_utf_win32_find_file_stat_file(self):
+ """make sure our Stat values are valid"""
+ self.requireFeature(Win32FileFeature)
+ self.requireFeature(tests.UnicodeFilenameFeature)
+ name0u = u'0file-\xb6'
+ name0 = name0u.encode('utf8')
+ self.build_tree([name0u])
+ # I hate to sleep() here, but I'm trying to make the ctime different
+ # from the mtime
+ time.sleep(2)
+ f = open(name0u, 'ab')
+ try:
+ f.write('just a small update')
+ finally:
+ f.close()
+
+ result = list(osutils._walkdirs_utf8_win32_find_file(u'.'))
+ entry = result[0][1][0]
+ self.assertEqual((name0, name0, 'file'), entry[:3])
+ self.assertEqual(u'./' + name0u, entry[4])
+ self.assertStatIsCorrect(entry[4], entry[3])
+
+ def test__walkdirs_utf_win32_find_file_stat_directory(self):
+ """make sure our Stat values are valid"""
+ self.requireFeature(Win32FileFeature)
+ self.requireFeature(tests.UnicodeFilenameFeature)
+ name0u = u'0dir-\u062c\u0648'
+ name0 = name0u.encode('utf8')
+ self.build_tree([name0u + '/'])
+
+ result = list(osutils._walkdirs_utf8_win32_find_file(u'.'))
+ entry = result[0][1][0]
+ self.assertEqual((name0, name0, 'directory'), entry[:3])
+ self.assertEqual(u'./' + name0u, entry[4])
+ self.assertStatIsCorrect(entry[4], entry[3])
+
def assertPathCompare(self, path_less, path_greater):
"""check that path_less and path_greater compare correctly."""
self.assertEqual(0, osutils.compare_paths_prefix_order(
More information about the bazaar-commits
mailing list