diff -r c64216addd7f Lib/test/test_uuid.py --- a/Lib/test/test_uuid.py Mon Aug 22 11:55:57 2011 +1000 +++ b/Lib/test/test_uuid.py Mon Aug 22 16:41:04 2011 +1000 @@ -419,13 +419,7 @@ equal(u, uuid.UUID(v)) equal(str(u), v) - def test_uuid4(self): - # uuid4 requires ctypes. - try: - import ctypes - except ImportError: - return - + def uuid4_test_inner(self): equal = self.assertEqual # Make sure uuid4() generates UUIDs that are actually version 4. @@ -439,6 +433,22 @@ uuids[u] = 1 equal(len(uuids.keys()), 1000) + def test_uuid4_with_ctypes(self): + # uuid4 requires ctypes. + try: + import ctypes + except ImportError: + return + self.uuid4_test_inner() + + def test_uuid4_no_system_routine(self): + saved = uuid._uuid_generate_random + try: + uuid._uuid_generate_random = None + self.uuid4_test_inner() + finally: + uuid._uuid_generate_random = saved + def test_uuid5(self): equal = self.assertEqual