1
0
mirror of https://github.com/django/django.git synced 2025-06-04 19:19:13 +00:00

Fixed flakiness in file_storage.tests.CustomStorageTests.test_file_get_accessed_time.

Two separate calls to look up access time can result in sub-second
differences which cause the test to fail.

Also made the equivalent tests for ctime and mtime have the same
changes to ensure that they won't flake in the same way in future.
This commit is contained in:
Nick Pope 2025-05-22 22:23:02 +01:00 committed by nessita
parent c2615a0500
commit b373721af0

View File

@ -186,17 +186,19 @@ class FileStorageTests(SimpleTestCase):
f = ContentFile("custom contents")
f_name = self.storage.save("test.file", f)
self.addCleanup(self.storage.delete, f_name)
path = self.storage.path(f_name)
atime = self.storage.get_accessed_time(f_name)
self.assertEqual(
self.assertAlmostEqual(
atime,
datetime.datetime.fromtimestamp(
os.path.getatime(self.storage.path(f_name))
),
datetime.datetime.fromtimestamp(os.path.getatime(path)),
delta=datetime.timedelta(seconds=1),
)
self.assertLess(
timezone.now() - self.storage.get_accessed_time(f_name),
datetime.timedelta(seconds=2),
self.assertAlmostEqual(
atime,
timezone.now(),
delta=datetime.timedelta(seconds=1),
)
@requires_tz_support
@ -212,17 +214,19 @@ class FileStorageTests(SimpleTestCase):
f = ContentFile("custom contents")
f_name = self.storage.save("test.file", f)
self.addCleanup(self.storage.delete, f_name)
path = self.storage.path(f_name)
ctime = self.storage.get_created_time(f_name)
self.assertEqual(
self.assertAlmostEqual(
ctime,
datetime.datetime.fromtimestamp(
os.path.getctime(self.storage.path(f_name))
),
datetime.datetime.fromtimestamp(os.path.getctime(path)),
delta=datetime.timedelta(seconds=1),
)
self.assertLess(
timezone.now() - self.storage.get_created_time(f_name),
datetime.timedelta(seconds=2),
self.assertAlmostEqual(
ctime,
timezone.now(),
delta=datetime.timedelta(seconds=1),
)
@requires_tz_support
@ -238,17 +242,19 @@ class FileStorageTests(SimpleTestCase):
f = ContentFile("custom contents")
f_name = self.storage.save("test.file", f)
self.addCleanup(self.storage.delete, f_name)
path = self.storage.path(f_name)
mtime = self.storage.get_modified_time(f_name)
self.assertEqual(
self.assertAlmostEqual(
mtime,
datetime.datetime.fromtimestamp(
os.path.getmtime(self.storage.path(f_name))
),
datetime.datetime.fromtimestamp(os.path.getmtime(path)),
delta=datetime.timedelta(seconds=1),
)
self.assertLess(
timezone.now() - self.storage.get_modified_time(f_name),
datetime.timedelta(seconds=2),
self.assertAlmostEqual(
mtime,
timezone.now(),
delta=datetime.timedelta(seconds=1),
)
@requires_tz_support