-
-
Notifications
You must be signed in to change notification settings - Fork 33.7k
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