New submission from Trent Nelson:
I've got two FreeBSD buildslaves running on ZFS (8.2 and 9.1) experiencing this:
======================================================================
FAIL: test_futimes_ns (test.test_os.StatAttributeTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File
"/home/buildslave/cpython/3.x.snakebite-freebsd91-amd64/build/Lib/test/test_os.py",
line 369, in test_futimes_ns
self._test_utime_ns(futimes_ns, test_dir=False)
File
"/home/buildslave/cpython/3.x.snakebite-freebsd91-amd64/build/Lib/test/test_os.py",
line 339, in _test_utime_ns
self._test_utime(self.fname, getattr_ns, set_times_ns, ten_s)
File
"/home/buildslave/cpython/3.x.snakebite-freebsd91-amd64/build/Lib/test/test_os.py",
line 318, in _test_utime
self.assertEqual(attr(st0, "st_mtime"), attr(st1, "st_mtime"))
AssertionError: 1345497270884503433 != 1345497270884503000
======================================================================
FAIL: test_lutimes_ns (test.test_os.StatAttributeTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File
"/home/buildslave/cpython/3.x.snakebite-freebsd91-amd64/build/Lib/test/test_os.py",
line 362, in test_lutimes_ns
self._test_utime_ns(lutimes_ns)
File
"/home/buildslave/cpython/3.x.snakebite-freebsd91-amd64/build/Lib/test/test_os.py",
line 339, in _test_utime_ns
self._test_utime(self.fname, getattr_ns, set_times_ns, ten_s)
File
"/home/buildslave/cpython/3.x.snakebite-freebsd91-amd64/build/Lib/test/test_os.py",
line 318, in _test_utime
self.assertEqual(attr(st0, "st_mtime"), attr(st1, "st_mtime"))
AssertionError: 1345497270888847634 != 1345497270888847000
======================================================================
FAIL: test_utime (test.test_os.StatAttributeTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File
"/home/buildslave/cpython/3.x.snakebite-freebsd91-amd64/build/Lib/test/test_os.py",
line 331, in test_utime
self._test_utime(self.fname, getattr, utime, 10)
File
"/home/buildslave/cpython/3.x.snakebite-freebsd91-amd64/build/Lib/test/test_os.py",
line 318, in _test_utime
self.assertEqual(attr(st0, "st_mtime"), attr(st1, "st_mtime"))
AssertionError: 1345497270.8923829 != 1345497270.892382
======================================================================
FAIL: test_utime_ns (test.test_os.StatAttributeTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File
"/home/buildslave/cpython/3.x.snakebite-freebsd91-amd64/build/Lib/test/test_os.py",
line 346, in test_utime_ns
self._test_utime_ns(utime_ns)
File
"/home/buildslave/cpython/3.x.snakebite-freebsd91-amd64/build/Lib/test/test_os.py",
line 339, in _test_utime_ns
self._test_utime(self.fname, getattr_ns, set_times_ns, ten_s)
File
"/home/buildslave/cpython/3.x.snakebite-freebsd91-amd64/build/Lib/test/test_os.py",
line 318, in _test_utime
self.assertEqual(attr(st0, "st_mtime"), attr(st1, "st_mtime"))
AssertionError: 1345497270894558518 != 1345497270894558000
I briefly stepped through the test on one of the affected slaves. There's a
rounding issue somewhere... I personally think this method is involved:
def _test_utime_ns(self, set_times_ns, test_dir=True):
def getattr_ns(o, attr):
return getattr(o, attr + "_ns")
ten_s = 10 * 1000 * 1000 * 1000
self._test_utime(self.fname, getattr_ns, set_times_ns, ten_s)
if test_dir:
self._test_utime(support.TESTFN, getattr_ns, set_times_ns, ten_s)
I didn't have enough time to keep debugging, so I'm raising this as a
placeholder until I can pick it back up again.
----------
assignee: trent
messages: 168728
nosy: trent
priority: normal
severity: normal
stage: needs patch
status: open
title: Numerous utime ns tests fail on FreeBSD w/ ZFS
type: behavior
versions: Python 2.7, Python 3.2, Python 3.3
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue15745>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com