bpo-33203: Ensure random.choice always raises IndexError on empty sequence (GH-6338) (GH-6387)

(cherry picked from commit 091e95e900)

Co-authored-by: Wolfgang Maier <wolfgang.maier@biologie.uni-freiburg.de>
This commit is contained in:
Miss Islington (bot) 2018-04-05 09:02:12 -07:00 committed by Raymond Hettinger
parent 83f564fd24
commit baf304e82e
3 changed files with 9 additions and 1 deletions

View file

@ -651,7 +651,10 @@ class MersenneTwister_TestBasicOps(TestBasicOps, unittest.TestCase):
# Population range too large (n >= maxsize)
self.gen._randbelow(maxsize+1, maxsize = maxsize)
self.gen._randbelow(5640, maxsize = maxsize)
# issue 33203: test that _randbelow raises ValueError on
# n == 0 also in its getrandbits-independent branch.
with self.assertRaises(ValueError):
self.gen._randbelow(0, maxsize=maxsize)
# This might be going too far to test a single line, but because of our
# noble aim of achieving 100% test coverage we need to write a case in
# which the following line in Random._randbelow() gets executed: