Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Fix tests on Windows
  • Loading branch information
pitrou committed Sep 28, 2017
commit 34df7394b1540b91bd97bd49993921c28a3d656a
9 changes: 8 additions & 1 deletion Lib/test/test_uuid.py
Original file line number Diff line number Diff line change
Expand Up @@ -308,14 +308,16 @@ def test_getnode(self):
node2 = self.uuid.getnode()
self.assertEqual(node1, node2, '%012x != %012x' % (node1, node2))

@unittest.skipUnless(importable('ctypes'), 'requires ctypes')
def test_uuid1(self):
equal = self.assertEqual

# Make sure uuid1() generates UUIDs that are actually version 1.
for u in [self.uuid.uuid1() for i in range(10)]:
equal(u.variant, self.uuid.RFC_4122)
equal(u.version, 1)
self.assertIn(u.is_safe, {self.uuid.SafeUUID.safe,
self.uuid.SafeUUID.unsafe,
self.uuid.SafeUUID.unknown})

# Make sure the generated UUIDs are actually unique.
uuids = {}
Expand Down Expand Up @@ -347,6 +349,7 @@ def test_uuid1(self):
# bpo-29925: On Mac OS X Tiger, self.uuid.uuid1().is_safe returns
# self.uuid.SafeUUID.unknown
@support.requires_mac_ver(10, 5)
@unittest.skipUnless(os.name == 'posix', 'POSIX-only test')
def test_uuid1_safe(self):
if not self.uuid._has_uuid_generate_time_safe:
self.skipTest('requires uuid_generate_time_safe(3)')
Expand All @@ -357,6 +360,7 @@ def test_uuid1_safe(self):
# unknown (unless I suppose the platform is buggy).
self.assertNotEqual(u.is_safe, self.uuid.SafeUUID.unknown)

@unittest.skipUnless(os.name == 'posix', 'POSIX-only test')
def test_uuid1_unknown(self):
# Even if the platform has uuid_generate_time_safe(), let's mock it to
# be uuid_generate_time() and ensure the safety is unknown.
Expand All @@ -366,20 +370,23 @@ def test_uuid1_unknown(self):
u = self.uuid.uuid1()
self.assertEqual(u.is_safe, self.uuid.SafeUUID.unknown)

@unittest.skipUnless(os.name == 'posix', 'POSIX-only test')
def test_uuid1_is_safe(self):
f = self.uuid._generate_time_safe
with unittest.mock.patch.object(self.uuid, '_generate_time_safe',
lambda: (f()[0], 0)):
u = self.uuid.uuid1()
self.assertEqual(u.is_safe, self.uuid.SafeUUID.safe)

@unittest.skipUnless(os.name == 'posix', 'POSIX-only test')
def test_uuid1_is_unsafe(self):
f = self.uuid._generate_time_safe
with unittest.mock.patch.object(self.uuid, '_generate_time_safe',
lambda: (f()[0], -1)):
u = self.uuid.uuid1()
self.assertEqual(u.is_safe, self.uuid.SafeUUID.unsafe)

@unittest.skipUnless(os.name == 'posix', 'POSIX-only test')
def test_uuid1_bogus_return_value(self):
f = self.uuid._generate_time_safe
with unittest.mock.patch.object(self.uuid, '_generate_time_safe',
Expand Down