Commit Graph

116 Commits

Author SHA1 Message Date
Raymond Hettinger 190fac99c5
bpo-40465: Deprecate the optional argument to random.shuffle(). (#19867) 2020-05-02 16:45:32 -07:00
Raymond Hettinger 4168f1e460
Simplify choice()'s interaction with the private _randbelow() method (GH-19831) 2020-05-01 10:34:19 -07:00
Raymond Hettinger 4fe002045f
bpo-40325: Deprecate set object support in random.sample() (GH-19591) 2020-04-19 00:36:42 -07:00
Serhiy Storchaka 223221b290
bpo-40286: Makes simpler the relation between randbytes() and getrandbits() (GH-19574) 2020-04-17 23:51:28 +03:00
Antoine Pitrou 75a3378810
bpo-40282: Allow random.getrandbits(0) (GH-19539) 2020-04-17 19:32:14 +02:00
Victor Stinner 9f5fe7910f
bpo-40286: Add randbytes() method to random.Random (GH-19527)
Add random.randbytes() function and random.Random.randbytes()
method to generate random bytes.

Modify secrets.token_bytes() to use SystemRandom.randbytes()
rather than calling directly os.urandom().

Rename also genrand_int32() to genrand_uint32(), since it returns an
unsigned 32-bit integer, not a signed integer.

The _random module is now built with Py_BUILD_CORE_MODULE defined.
2020-04-17 19:05:35 +02:00
Victor Stinner 278c1e159c
bpo-40094: Add test.support.wait_process() (GH-19254)
Moreover, the following tests now check the child process exit code:

* test_os.PtyTests
* test_mailbox.test_lock_conflict()
* test_tempfile.test_process_awareness()
* test_uuid.testIssue8621()
* multiprocessing resource tracker tests
2020-03-31 20:08:12 +02:00
Victor Stinner 00d7cd8ab8
bpo-38075: Fix random_seed(): use PyObject_CallOneArg() (GH-18897)
Fix the random.Random.seed() method when a bool is passed as the
seed.

PyObject_Vectorcall() was misused: use PyObject_CallOneArg() instead.
2020-03-10 15:15:14 +01:00
Raymond Hettinger 041d8b48a2
bpo-38881: choices() raises ValueError when all weights are zero (GH-17362) 2019-11-23 02:22:13 -08:00
Xtreak a06d683d7f bpo-38120: Fix DeprecationWarning in test_random for invalid type of arguments to random.seed. (GH-15987) 2019-09-12 11:13:20 +03:00
Min ho Kim 96e12d5f4f Fix typos in docs, comments and test assert messages (#14872) 2019-07-21 16:12:33 -04:00
penguindustin 9646630895 bpo-36766: Typos in docs and code comments (GH-13116) 2019-05-06 14:57:17 -04:00
Serhiy Storchaka 5b10b98247
bpo-22831: Use "with" to avoid possible fd leaks in tests (part 2). (GH-10929) 2019-03-05 10:06:26 +02:00
leodema 63d152232e bpo-30561: Sync-up expovariate() and gammavariate code (GH-1934) 2018-12-23 22:54:25 -08:00
Raymond Hettinger ddf7171911
bpo-24567: Random subnormal.diff (#7954)
Handle subnormal weights for choices()
2018-06-27 01:08:31 -07:00
Serhiy Storchaka ec1622d56c
bpo-33144: Fix choosing random.Random._randbelow implementation. (GH-6563)
random() takes precedence over getrandbits() if defined later
in the class tree.
2018-05-08 15:45:15 +03:00
Wolfgang Maier ba3a87aca3 bpo-33144: random.Random and subclasses: split _randbelow implementation (GH-6291) 2018-04-17 08:16:17 -07:00
Wolfgang Maier 091e95e900 bpo-33203: Ensure random.choice always raises IndexError on empty sequence (GH-6338) 2018-04-05 08:19:44 -07:00
Mike 53f7a7c281 bpo-32297: Few misspellings found in Python source code comments. (#4803)
* Fix multiple typos in code comments

* Add spacing in comments (test_logging.py, test_math.py)

* Fix spaces at the beginning of comments in test_logging.py
2017-12-14 13:04:53 +02:00
Oren Milman d780b2d588 bpo-31478: Fix an assertion failure in random.seed() in case a seed has a bad __abs__() method. (#3596) 2017-09-28 10:50:01 +03:00
Raymond Hettinger 132a7d7cdb bpo-31482: Missing bytes support for random.seed() version 1 (#3614)
bpo-31482: Missing bytes support for random.seed() version 1 #3614
2017-09-17 09:04:30 -07:00
Victor Stinner da5e930187 bpo-31160: Fix test_random for zombie process (#3045)
TestModule.test_after_fork() now calls os.waitpid() to read the exit
status of the child process to avoid creating a zombie process.
2017-08-09 17:59:05 +02:00
Antoine Pitrou 346cbd351e bpo-16500: Allow registering at-fork handlers (#1715)
* bpo-16500: Allow registering at-fork handlers

* Address Serhiy's comments

* Add doc for new C API

* Add doc for new Python-facing function

* Add NEWS entry + doc nit
2017-05-27 17:50:54 +02:00
csabella f111fd2e65 bpo-30308: Code coverage for argument in random.shuffle (#1504)
* bpo-30308: Code coverage for argument in random.shuffle

* bpo-30308: Code coverage for argument in random.shuffle

* bpo-30308: Code coverage for argument in random.shuffle
2017-05-11 08:19:35 -07:00
bladebryan 9616a82e78 bpo-29960 _random.Random corrupted on exception in setstate(). (#1019) 2017-04-22 09:10:46 +03:00
Raymond Hettinger e205f8b29e merge 2016-11-21 15:32:26 -08:00
Raymond Hettinger 6023d33433 Issue #28743: Reduce memory consumption for random module tests 2016-11-21 15:32:08 -08:00
Raymond Hettinger 6088cfcfd4 merge 2016-11-21 14:34:51 -08:00
Raymond Hettinger bf87126a63 Issue 28475: Improve error message for random.sample() with k < 0. (Contributed by Francisco Couzo). 2016-11-21 14:34:33 -08:00
Raymond Hettinger 77f6411d96 merge 2016-11-13 00:44:24 -05:00
Raymond Hettinger 24e4239434 Fix typos 2016-11-13 00:42:56 -05:00
Raymond Hettinger 77d574d4ae Issue #18844: Strengthen tests to include a case with unequal weighting 2016-10-29 17:42:36 -07:00
Raymond Hettinger 30d00e54dd Issue #18844: Make the various ways for specifing weights produce the same results. 2016-10-29 16:55:36 -07:00
Raymond Hettinger fdf6716ea9 merge 2016-10-29 17:43:02 -07:00
Raymond Hettinger ba25f61490 merge 2016-10-29 16:57:09 -07:00
Victor Stinner bd1b49a242 Close #28476: Reuse math.factorial() in test_random
Patch written by Francisco Couzo.
2016-10-19 10:11:37 +02:00
Raymond Hettinger 7b16652f1c Issue #18844: Add more tests 2016-10-14 01:19:38 -04:00
Raymond Hettinger 1c3a121bb0 Issue #18844: Fix-up examples for random.choices(). Remove over-specified test. 2016-10-12 01:42:10 -04:00
Raymond Hettinger 9016f2864a Issue #18844: Make the number of selections a keyword-only argument for random.choices(). 2016-09-26 21:45:57 -07:00
Raymond Hettinger 28aa4a0684 Rename weighted_choices() to just choices() 2016-09-07 00:08:44 -07:00
Raymond Hettinger e8f1e002c6 Issue #18844: Add random.weighted_choices() 2016-09-06 17:15:29 -07:00
Raymond Hettinger c7bab7cbf5 Issue #27706: Fix regression in random.seed(somestr, version=1) 2016-08-31 15:01:08 -07:00
Martin Panter e26da7c03a Issue #27171: Fix typos in documentation, comments, and test function names 2016-06-02 10:07:09 +00:00
Serhiy Storchaka 178f0b6ddc Issue #24620: Random.setstate() now validates the value of state last element. 2015-07-24 09:02:53 +03:00
Serhiy Storchaka bad1257c96 Issue #22777: Test pickling with all protocols. 2014-12-15 14:03:42 +02:00
Raymond Hettinger 978c6abced Issue 13355: Make random.triangular degrade gracefully when low == high. 2014-05-25 17:25:27 -07:00
Serhiy Storchaka 8f8ec92de8 Issue #19936: Added executable bits or shebang lines to Python scripts which
requires them.  Disable executable bits and shebang lines in test and
benchmark files in order to prevent using a random system python, and in
source files of modules which don't provide command line interface.  Fixed
shebang lines in the unittestgui and checkpip scripts.
2014-01-16 17:33:23 +02:00
Serhiy Storchaka b992a0e102 Issue #19936: Added executable bits or shebang lines to Python scripts which
requires them.  Disable executable bits and shebang lines in test and
benchmark files in order to prevent using a random system python, and in
source files of modules which don't provide command line interface.  Fixed
shebang line to use python3 executable in the unittestgui script.
2014-01-16 17:15:49 +02:00
Zachary Ware 29f8cb64e6 Issue #19588: Merge with 3.3 2013-11-26 14:54:21 -06:00
Zachary Ware a6edea530b Issue #19588: Fixed tests in test_random that were silently skipped most
of the time.  Patch by Julian Gindi.
2013-11-26 14:50:10 -06:00