-
-
Notifications
You must be signed in to change notification settings - Fork 32.4k
Closed as not planned
Closed as not planned
Copy link
Labels
testsTests in the Lib/test dirTests in the Lib/test dirtype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
Description
Seen in https://buildbot.python.org/all/#/builders/310/builds/1665/steps/6/logs/stdio
======================================================================
ERROR: test_kde_random (test.test_statistics.TestKDE.test_kde_random) (kernel='gauss')
----------------------------------------------------------------------
Traceback (most recent call last):
File "/root/buildarea/pull_request.angelico-debian-amd64/build/Lib/test/test_statistics.py", line 2518, in test_kde_random
big_sample = sorted([rand() for i in range(n)])
~~~~^^
File "/root/buildarea/pull_request.angelico-debian-amd64/build/Lib/statistics.py", line 1122, in rand
return choice(data) + h * invcdf(random())
~~~~~~^^^^^^
File "/root/buildarea/pull_request.angelico-debian-amd64/build/Lib/random.py", line 352, in choice
return seq[self._randbelow(len(seq))]
~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: 'Random' object is not subscriptable
----------------------------------------------------------------------
cpython/Lib/test/test_statistics.py
Line 2518 in c989e74
big_sample = sorted([rand() for i in range(n)]) |
Lines 1117 to 1122 in c989e74
prng = _random.Random(seed) | |
random = prng.random | |
choice = prng.choice | |
def rand(): | |
return choice(data) + h * invcdf(random()) |
Lines 345 to 352 in c989e74
def choice(self, seq): | |
"""Choose a random element from a non-empty sequence.""" | |
# As an accommodation for NumPy, we don't use "if not seq" | |
# because bool(numpy.array()) raises a ValueError. | |
if not len(seq): | |
raise IndexError('Cannot choose from an empty sequence') | |
return seq[self._randbelow(len(seq))] |
Lines 225 to 243 in c989e74
def __init_subclass__(cls, /, **kwargs): | |
"""Control how subclasses generate random integers. | |
The algorithm a subclass can use depends on the random() and/or | |
getrandbits() implementation available to it and determines | |
whether it can generate random integers from arbitrarily large | |
ranges. | |
""" | |
for c in cls.__mro__: | |
if '_randbelow' in c.__dict__: | |
# just inherit it | |
break | |
if 'getrandbits' in c.__dict__: | |
cls._randbelow = cls._randbelow_with_getrandbits | |
break | |
if 'random' in c.__dict__: | |
cls._randbelow = cls._randbelow_without_getrandbits | |
break |
Metadata
Metadata
Assignees
Labels
testsTests in the Lib/test dirTests in the Lib/test dirtype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error