Skip to content

Commit 392d289

Browse files
committed
add tests
1 parent c3d4745 commit 392d289

File tree

1 file changed

+26
-1
lines changed

1 file changed

+26
-1
lines changed

Lib/test/test_uuid.py

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,10 @@
88
import io
99
import os
1010
import pickle
11+
import random
1112
import sys
1213
import weakref
14+
from itertools import product
1315
from unittest import mock
1416

1517
py_uuid = import_helper.import_fresh_module('uuid', blocked=['_uuid'])
@@ -267,7 +269,7 @@ def test_exceptions(self):
267269

268270
# Version number out of range.
269271
badvalue(lambda: self.uuid.UUID('00'*16, version=0))
270-
badvalue(lambda: self.uuid.UUID('00'*16, version=6))
272+
badvalue(lambda: self.uuid.UUID('00'*16, version=42))
271273

272274
# Integer value out of range.
273275
badvalue(lambda: self.uuid.UUID(int=-1))
@@ -681,6 +683,29 @@ def test_uuid5(self):
681683
equal(u, self.uuid.UUID(v))
682684
equal(str(u), v)
683685

686+
def test_uuid8(self):
687+
equal = self.assertEqual
688+
u = self.uuid.uuid8()
689+
690+
equal(u.variant, self.uuid.RFC_4122)
691+
equal(u.version, 8)
692+
693+
for (_, hi, mid, lo) in product(
694+
range(10), # repeat 10 times
695+
[None, 0, random.getrandbits(48)],
696+
[None, 0, random.getrandbits(12)],
697+
[None, 0, random.getrandbits(62)],
698+
):
699+
u = self.uuid.uuid8(hi, mid, lo)
700+
equal(u.variant, self.uuid.RFC_4122)
701+
equal(u.version, 8)
702+
if hi is not None:
703+
equal((u.int >> 80) & 0xffffffffffff, hi)
704+
if mid is not None:
705+
equal((u.int >> 64) & 0xfff, mid)
706+
if lo is not None:
707+
equal(u.int & 0x3fffffffffffffff, lo)
708+
684709
@support.requires_fork()
685710
def testIssue8621(self):
686711
# On at least some versions of OSX self.uuid.uuid4 generates

0 commit comments

Comments
 (0)