mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
gh-108963: using random to generate unique string in sys.intern test (#109491)
This commit is contained in:
parent
f16e81f368
commit
44b1e4ea48
1 changed files with 3 additions and 10 deletions
|
@ -5,6 +5,7 @@ import gc
|
||||||
import locale
|
import locale
|
||||||
import operator
|
import operator
|
||||||
import os
|
import os
|
||||||
|
import random
|
||||||
import struct
|
import struct
|
||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
|
@ -30,10 +31,6 @@ def requires_subinterpreters(meth):
|
||||||
'subinterpreters required')(meth)
|
'subinterpreters required')(meth)
|
||||||
|
|
||||||
|
|
||||||
# count the number of test runs, used to create unique
|
|
||||||
# strings to intern in test_intern()
|
|
||||||
INTERN_NUMRUNS = 0
|
|
||||||
|
|
||||||
DICT_KEY_STRUCT_FORMAT = 'n2BI2n'
|
DICT_KEY_STRUCT_FORMAT = 'n2BI2n'
|
||||||
|
|
||||||
class DisplayHookTest(unittest.TestCase):
|
class DisplayHookTest(unittest.TestCase):
|
||||||
|
@ -696,10 +693,8 @@ class SysModuleTest(unittest.TestCase):
|
||||||
self.assertEqual(sys.__stdout__.encoding, sys.__stderr__.encoding)
|
self.assertEqual(sys.__stdout__.encoding, sys.__stderr__.encoding)
|
||||||
|
|
||||||
def test_intern(self):
|
def test_intern(self):
|
||||||
global INTERN_NUMRUNS
|
|
||||||
INTERN_NUMRUNS += 1
|
|
||||||
self.assertRaises(TypeError, sys.intern)
|
self.assertRaises(TypeError, sys.intern)
|
||||||
s = "never interned before" + str(INTERN_NUMRUNS)
|
s = "never interned before" + str(random.randrange(0, 10**9))
|
||||||
self.assertTrue(sys.intern(s) is s)
|
self.assertTrue(sys.intern(s) is s)
|
||||||
s2 = s.swapcase().swapcase()
|
s2 = s.swapcase().swapcase()
|
||||||
self.assertTrue(sys.intern(s2) is s)
|
self.assertTrue(sys.intern(s2) is s)
|
||||||
|
@ -717,9 +712,7 @@ class SysModuleTest(unittest.TestCase):
|
||||||
|
|
||||||
@requires_subinterpreters
|
@requires_subinterpreters
|
||||||
def test_subinterp_intern_dynamically_allocated(self):
|
def test_subinterp_intern_dynamically_allocated(self):
|
||||||
global INTERN_NUMRUNS
|
s = "never interned before" + str(random.randrange(0, 10**9))
|
||||||
INTERN_NUMRUNS += 1
|
|
||||||
s = "never interned before" + str(INTERN_NUMRUNS)
|
|
||||||
t = sys.intern(s)
|
t = sys.intern(s)
|
||||||
self.assertIs(t, s)
|
self.assertIs(t, s)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue