nagachika
23390a82e6
merge revision(s) 59368: [Backport #13753 ]
...
random.c: ensure initialized
* random.c (get_rnd, try_get_rnd): ensure initialized to get rid
of crash in forked processes. [ruby-core:82100] [Bug #13753 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@59517 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-05 06:46:23 +00:00
nobu
2edcca66e3
test_rand.rb: refine probability test
...
* test/ruby/test_rand.rb (test_new_seed): refine probability of
failure from 1/256 to 1/256**8.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55955 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-08-18 03:19:24 +00:00
nobu
fc9bc88390
test_rand.rb: tests for seeds
...
* test/ruby/test_rand.rb: tests for Random.raw_seed and
Random.new_seed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54998 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-13 16:36:41 +00:00
nobu
b402cc7161
random.c: use bytes
...
* random.c (obj_random_bytes): base on bytes method instead of
rand method, not to call toplevel rand method.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54968 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-10 05:57:11 +00:00
naruse
3e92b635fb
Add frozen_string_literal: false for all files
...
When you change this to true, you may need to add more tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-16 05:07:31 +00:00
kosaki
a014e9e8c6
* test/ruby/test_rand.rb (TestRand#test_default_seed): add
...
srand case.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52817 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-30 20:33:04 +00:00
kosaki
99c05fb38e
* random.c (Init_RandomSeed): move all Random::DEFAULT
...
construction bits to Init_RandomSeed2. Random::DEFAULT
and Ruby internal hashes are no longer shared their seed.
* random.c (Init_RandomSeed2): ditto. And, kill evil
rb_obj_reveal() stuff.
* random.c (init_hashseed): add MT argument.
* random.c: (init_siphash): ditto.
* test/ruby/test_rand.rb (TestRand#test_default_seed): new
test for Random::DEFAULT::seed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52815 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-30 20:31:31 +00:00
akr
fb2008a73a
* test/lib/envutil.rb: Moved from test/ruby/.
...
* test/lib/find_executable.rb: Ditto.
* test/lib/memory_status.rb: Ditto.
* test/lib/test/unit.rb: require envutil.
* test/: Don't require envutil in test files.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-13 16:05:37 +00:00
usa
9194b220a5
* test/ruby: get rid of warnings.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45273 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-05 13:27:22 +00:00
nobu
3ac0ec4ecd
test/ruby: better assertions
...
* test/ruby: use better assertions instead of mere assert.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44173 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-13 09:18:05 +00:00
akr
ced9ad5ab5
* random.c (rand_init): Make it possible to specify arbitrary array
...
for init_genrand().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43736 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-20 11:05:38 +00:00
ko1
dcad4bda58
* test/ruby/test_rand.rb: fix r43224. local variable `e' is
...
no longer available.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43231 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-09 21:04:12 +00:00
nobu
2918f391dd
test/ruby: assert_raise_with_message
...
* test/ruby: use assert_raise_with_message
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43224 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-09 15:17:20 +00:00
naruse
e2a17dad48
call GC.start before fork-related tests to decrease GC cost on fork children
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41911 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-11 01:31:23 +00:00
shugo
1f828497d1
* safe.c (rb_set_safe_level, safe_setter): raise an ArgumentError
...
when $SAFE is set to 4. $SAFE=4 is now obsolete.
[ruby-core:55222] [Feature #8468 ]
* object.c (rb_obj_untrusted, rb_obj_untrust, rb_obj_trust):
Kernel#untrusted?, untrust, and trust are now deprecated.
Their behavior is same as tainted?, taint, and untaint,
respectively.
* include/ruby/ruby.h (OBJ_UNTRUSTED, OBJ_UNTRUST): OBJ_UNTRUSTED()
and OBJ_UNTRUST() are aliases of OBJ_TAINTED() and OBJ_TAINT(),
respectively.
* array.c, class.c, debug.c, dir.c, encoding.c, error.c, eval.c,
ext/curses/curses.c, ext/dbm/dbm.c, ext/dl/cfunc.c,
ext/dl/cptr.c, ext/dl/dl.c, ext/etc/etc.c, ext/fiddle/fiddle.c,
ext/fiddle/pointer.c, ext/gdbm/gdbm.c, ext/readline/readline.c,
ext/sdbm/init.c, ext/socket/ancdata.c, ext/socket/basicsocket.c,
ext/socket/socket.c, ext/socket/udpsocket.c,
ext/stringio/stringio.c, ext/syslog/syslog.c, ext/tk/tcltklib.c,
ext/win32ole/win32ole.c, file.c, gc.c, hash.c, io.c, iseq.c,
load.c, marshal.c, object.c, proc.c, process.c, random.c, re.c,
safe.c, string.c, thread.c, transcode.c, variable.c,
vm_insnhelper.c, vm_method.c, vm_trace.c: remove code for
$SAFE=4.
* test/dl/test_dl2.rb, test/erb/test_erb.rb,
test/readline/test_readline.rb,
test/readline/test_readline_history.rb, test/ruby/test_alias.rb,
test/ruby/test_array.rb, test/ruby/test_dir.rb,
test/ruby/test_encoding.rb, test/ruby/test_env.rb,
test/ruby/test_eval.rb, test/ruby/test_exception.rb,
test/ruby/test_file_exhaustive.rb, test/ruby/test_hash.rb,
test/ruby/test_io.rb, test/ruby/test_method.rb,
test/ruby/test_module.rb, test/ruby/test_object.rb,
test/ruby/test_pack.rb, test/ruby/test_rand.rb,
test/ruby/test_regexp.rb, test/ruby/test_settracefunc.rb,
test/ruby/test_struct.rb, test/ruby/test_thread.rb,
test/ruby/test_time.rb: remove tests for $SAFE=4.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41259 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-12 14:20:51 +00:00
nobu
d64c926eba
random.c: increase limit for generic rand
...
* random.c (rb_random_ulong_limited): limit is inclusive, but generic
rand method should return a number less than it, so increase for the
difference. [ruby-core:52779] [Bug #7935 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39466 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-24 06:33:49 +00:00
nobu
3f2ce6373f
random.c: fix error message
...
* random.c (rb_random_ulong_limited): fix error message for negative
value. [ruby-dev:47061] [Bug #7903 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39376 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-22 03:46:47 +00:00
nobu
4d73f95068
random.c, rational.c: make marshal methods private
...
* random.c (Init_Random), rational.c (Init_Rational): make marshal
methods private. [Feature #6539 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38157 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-03 10:10:14 +00:00
nobu
e3efce6df1
array.c: use rb_random_ulong_limited
...
* array.c (rb_ary_sample): use rb_random_ulong_limited, since
precision of long may be larger than double.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37126 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-09 09:01:40 +00:00
nobu
91fcdd1865
[Bug #6540 ]
...
* test/ruby/test_rand.rb (TestRand#test_initialize_frozen): add
missing test for [Bug #6540 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36185 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-22 13:37:16 +00:00
nobu
0b0dea752c
random.c: check initialize and load
...
* random.c (random_init, random_load): cannot initialize frozen object
again, nor with tainted/untrusted object. [Bug #6540 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36175 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-22 04:36:54 +00:00
nobu
b87f2fe1e4
* random.c (random_s_rand): ensure default PRNG is re-initialized
...
after fork. patched by Eric Wong. [ruby-core:41209][Bug #5661 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34977 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-11 22:03:36 +00:00
nobu
00d0d6eab0
* test/ruby/test_rand.rb (test_random_bytes): fold mysteriously
...
long line.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32328 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-30 11:35:04 +00:00
mrkn
2aeb3b47ee
* random.c (random_s_rand, Init_Random): Random.rand should behave as
...
Random::DEFAULT.rand rather than Kernel#rand.
* random.c (rand_range, random_rand): rand_range function extracted
from random_rand function.
* random.c (rb_f_rand): accept a Range argument as Random#rand
[ruby-dev:43427] #4605
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31340 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-04-24 22:27:39 +00:00
nobu
7f46fadd9d
* lib/test/unit.rb (assert_include): add alias.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30853 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-02-12 14:17:54 +00:00
nobu
99aaee351e
* random.c (random_rand): get rid of overflow.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29843 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-20 03:04:59 +00:00
nobu
2f6c0e3be3
* array.c (rb_ary_shuffle_bang, rb_ary_sample): add optional
...
argument random. [ruby-dev:41923] [EXPERIMENTAL]
* random.c (rb_random_{int32,real,bytes}): fallback to normal
method invocation.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29083 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-23 22:07:39 +00:00
nobu
5274f89201
* complex.c (nucomp_marshal_load): should check the argument.
...
[ruby-core:31622]
* rational.c (nurat_marshal_load): ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28869 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-05 09:36:16 +00:00
nobu
a4c0f7dfae
* random.c (Init_Random): add Random::DEFAULT.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28846 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-03 12:16:06 +00:00
akr
7f51312344
add an assertion message.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28174 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-05 11:28:23 +00:00
nobu
93bbd7869c
* random.c (random_rand): subtraction method of non-numeric can
...
return Float, and add the result of random to the beginning of
range, not the opposite. [ruby-dev:41410]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28018 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-26 03:08:07 +00:00
akr
9afaef347c
add a test.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27325 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-12 20:50:45 +00:00
nobu
f571492922
* random.c (rand_init): ignore higher bits if all they are same as
...
the lower sign bit. [ruby-core:29292](2)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27255 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-07 22:22:36 +00:00
nobu
6decf411c6
* random.c (random_rand): raise ArgumentError on nil, as the
...
documentation implies. [ruby-core:29075]
* random.c (rb_f_rand): mentioned the case of when max is nil.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27204 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-03 01:51:26 +00:00
naruse
1bf3ca494f
* random.c (rb_reset_random_seed): set seed in this. [ruby-core:28655]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26936 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-15 03:26:29 +00:00
nobu
31875e97b4
* random.c (random_rand): fixed for edge cases of ranges.
...
[ruby-dev:39166]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24674 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-26 14:58:44 +00:00
nobu
9676023607
* random.c (random_rand): unified random_int and random_float.
...
[ruby-dev:39158]. and fixes [ruby-core:24655], [ruby-core:24677],
[ruby-core:24679].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24670 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-26 10:20:30 +00:00
nobu
a194550e5c
* random.c (rb_random_int): arguments have to be converted to
...
integer. [ruby-core:24679]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24358 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-02 15:32:04 +00:00
mame
dfd3d1fb29
* test/ruby/test_rand.rb: add tests for Random#float's rejection
...
against Infinity and NaN.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24354 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-02 08:40:52 +00:00
nobu
e626e0bdec
* random.c (rand_int): prevent from GC.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24353 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-02 05:20:51 +00:00
mame
045136d475
* test/ruby/test_rand.rb: add tests for Random class.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24326 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-30 12:57:02 +00:00
nobu
2e4ad56fc2
* test/ruby/test_rand.rb (test_big_seed): tests also instance methods.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24234 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-21 23:38:23 +00:00
mame
4516f623b8
* random.c (rand_init): array length of random seed was broken, which
...
causes memory error with srand(2**1000000-1).
* test/ruby/test_rand.c: test for above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24228 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-21 14:51:17 +00:00
nobu
eb9bc2d265
* random.c (rb_random_t): objectified. [EXPERIMENTAL]
...
[ruby-dev:30954]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24142 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-16 06:00:35 +00:00
matz
6bbd76a732
* random.c (rb_f_rand): type check simplified. strings are no
...
longer allowed for argument. [ruby-dev:37655]
* test/ruby/test_rand.rb (TestRand::o.to_int): need override
to_int.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21178 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-29 13:29:12 +00:00
mame
7e6dd6142e
* test/ruby/test_rand.rb: add tests to achieve over 95% test coverage
...
of random.c.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15841 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-25 15:56:36 +00:00
akr
c47ca1f02f
add test_rand_0x100000000.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7917 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-02-07 16:11:14 +00:00
akr
943e67ef97
* random.c (init_by_array): imported from mt19937ar-cok.tgz.
...
(genrand_int32): ditto.
(genrand_real): replaced with genrand_res53 in mt19937ar-cok.
(rand_init): support bignum for longer seed.
(random_seed): generate longer seed.
(make_mask): new function.
(limited_rand): ditto.
(limited_big_rand): ditto.
(rb_f_rand): call limited_rand and limited_big_rand.
[ruby-dev:25403]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-01-04 17:38:39 +00:00