mirror of
https://github.com/python/cpython.git
synced 2025-12-23 09:19:18 +00:00
gh-76760: test that uuid.uuid1() sets the version field (#139033)
This commit is contained in:
parent
2fc7004d54
commit
3a04be986a
2 changed files with 6 additions and 0 deletions
|
|
@ -590,6 +590,7 @@ class BaseTestUUID:
|
|||
# dependent on the underlying platform support. At least it cannot be
|
||||
# unknown (unless I suppose the platform is buggy).
|
||||
self.assertNotEqual(u.is_safe, self.uuid.SafeUUID.unknown)
|
||||
self.assertEqual(u.version, 1)
|
||||
|
||||
@contextlib.contextmanager
|
||||
def mock_generate_time_safe(self, safe_value):
|
||||
|
|
@ -612,24 +613,28 @@ class BaseTestUUID:
|
|||
with self.mock_generate_time_safe(None):
|
||||
u = self.uuid.uuid1()
|
||||
self.assertEqual(u.is_safe, self.uuid.SafeUUID.unknown)
|
||||
self.assertEqual(u.version, 1)
|
||||
|
||||
@unittest.skipUnless(os.name == 'posix', 'POSIX-only test')
|
||||
def test_uuid1_is_safe(self):
|
||||
with self.mock_generate_time_safe(0):
|
||||
u = self.uuid.uuid1()
|
||||
self.assertEqual(u.is_safe, self.uuid.SafeUUID.safe)
|
||||
self.assertEqual(u.version, 1)
|
||||
|
||||
@unittest.skipUnless(os.name == 'posix', 'POSIX-only test')
|
||||
def test_uuid1_is_unsafe(self):
|
||||
with self.mock_generate_time_safe(-1):
|
||||
u = self.uuid.uuid1()
|
||||
self.assertEqual(u.is_safe, self.uuid.SafeUUID.unsafe)
|
||||
self.assertEqual(u.version, 1)
|
||||
|
||||
@unittest.skipUnless(os.name == 'posix', 'POSIX-only test')
|
||||
def test_uuid1_bogus_return_value(self):
|
||||
with self.mock_generate_time_safe(3):
|
||||
u = self.uuid.uuid1()
|
||||
self.assertEqual(u.is_safe, self.uuid.SafeUUID.unknown)
|
||||
self.assertEqual(u.version, 1)
|
||||
|
||||
def test_uuid1_time(self):
|
||||
with mock.patch.object(self.uuid, '_generate_time_safe', None), \
|
||||
|
|
|
|||
|
|
@ -737,6 +737,7 @@ def uuid1(node=None, clock_seq=None):
|
|||
is_safe = SafeUUID(safely_generated)
|
||||
except ValueError:
|
||||
is_safe = SafeUUID.unknown
|
||||
# The version field is assumed to be handled by _generate_time_safe().
|
||||
return UUID(bytes=uuid_time, is_safe=is_safe)
|
||||
|
||||
global _last_timestamp
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue