aboutsummaryrefslogtreecommitdiffstats
path: root/bootstraptest
Commit message (Collapse)AuthorAgeFilesLines
* Show the failed message tooNobuyoshi Nakada2019-12-121-1/+1
|
* Show the failed messageNobuyoshi Nakada2019-12-111-1/+1
|
* Use a monotonically increasing number for object_idJohn Hawthorn2019-11-071-0/+9
| | | | | | | | | | | | | | | | | This changes object_id from being based on the objects location in memory (or a nearby memory location in the case of a conflict) to be based on an always increasing number. This number is a Ruby Integer which allows it to overflow the size of a pointer without issue (very unlikely to happen in real programs especially on 64-bit, but a nice guarantee). This changes obj_to_id_tbl and id_to_obj_tbl to both be maps of Ruby objects to Ruby objects (previously they were Ruby object to C integer) which simplifies updating them after compaction as we can run them through gc_update_table_refs. Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>
* Revert "Use a monotonically increasing number for object_id"Aaron Patterson2019-11-061-9/+0
| | | | This reverts commit bd2b314a05ae9192b3143e1e678a37c370d8a9ce.
* Use a monotonically increasing number for object_idJohn Hawthorn2019-11-061-0/+9
| | | | | | | | | | | | | | | | | This changes object_id from being based on the objects location in memory (or a nearby memory location in the case of a conflict) to be based on an always increasing number. This number is a Ruby Integer which allows it to overflow the size of a pointer without issue (very unlikely to happen in real programs especially on 64-bit, but a nice guarantee). This changes obj_to_id_tbl and id_to_obj_tbl to both be maps of Ruby objects to Ruby objects (previously they were Ruby object to C integer) which simplifies updating them after compaction as we can run them through gc_update_table_refs. Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>
* Relaxed tests for CPDEBUG modeNobuyoshi Nakada2019-10-232-4/+6
|
* fix memory corruption in old GCC卜部昌平2019-10-101-1/+0
| | | | | | | | This typo introduced memory corruption when __builtin_add_overflow is not available but uint128_t is. GCC before 5 are one of such situatins. See also https://rubyci.org/logs/rubyci.s3.amazonaws.com/opensuseleap/ruby-master/log/20191009T120004Z.log.html.gz
* Changed numbered parameter prefixNobuyoshi Nakada2019-09-241-1/+1
|
* add tests卜部昌平2019-09-051-0/+2
| | | | Some coverage improvements.
* Move an unstable bootstraptest to pendingTakashi Kokubun2019-09-032-3/+5
| | | | | | | | This has been unstable on AppVeyor mswin since the introduction 3fd83cb6fcc483d2eac0795bc139c521a3a59bd2. https://ci.appveyor.com/project/ruby/ruby/builds/27103307/job/j7xwjmsos2k22cck Let's have it in pending.rb to be fixed.
* Add insn tests for newarraykwsplatTakashi Kokubun2019-09-031-0/+1
|
* Fix opt_regexpmatch1 referencesTakashi Kokubun2019-09-021-2/+2
|
* Fix remaining warning issues in the tests due to keyword argument separationJeremy Evans2019-08-301-2/+17
|
* Compare actual resultNobuyoshi Nakada2019-08-141-2/+2
|
* bootstraptest/test_insns.rb: test opt_nil_pKazuhiro NISHIYAMA2019-08-011-0/+1
|
* Erase only on ttyNobuyoshi Nakada2019-07-291-2/+2
|
* Improved fiber benchmarks. Increase number of iterations.Samuel Williams2019-07-122-21/+39
|
* colors file has been moved from test to toolNobuyoshi Nakada2019-07-021-1/+1
|
* bootstraptest/runner.rb (show_limit): defer messages unless verbose and a ttyNobuyoshi Nakada2019-07-011-5/+2
|
* bootstraptest/runner.rb (show_limit): show dots only when printing to a ttyNobuyoshi Nakada2019-07-011-4/+3
|
* * remove trailing spaces, expand tabs.git2019-06-192-3/+3
|
* Show thread and fiber limits as part of bootstrap tests.Samuel Williams2019-06-192-6/+41
|
* Improve benchmarks and tests for threads.Samuel Williams2019-06-191-0/+3
|
* Numbered parameters [Feature #4475]nobu2019-03-171-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67278 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* on-smash canary detectionshyouhei2019-02-011-1/+1
| | | | | | | | | In addition to detect dead canary, we try to detect the very moment when we smash the stack top. Requested by k0kubun: https://twitter.com/k0kubun/status/1085180749899194368 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66981 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* parse.y: more token namesnobu2019-01-211-3/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66896 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Indented here document (<<~) is Ruby 2.3 featurenaruse2019-01-191-26/+26
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66871 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* support older BASERUBY for btest.ko12019-01-181-2/+4
| | | | | | | | * bootstraptest/test_insns.rb: check RbConfig::LIMITS to support older BASERUBY. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66860 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* support btest on older ruby.ko12019-01-171-1/+3
| | | | | | | | | | | * bootstraptest/runner.rb (assert_normal_exit): check MJIT first to support btest with ruby ~2.5. btest (bootstraptest) should be enable to run with stable ruby interpreter because modified ruby may not able to run runner.rb and we need to know why (this is why we introduce btest). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66842 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* st.c (rb_hash_bulk_insert_into_st_table): avoid out-of-bounds writemame2019-01-151-0/+18
| | | | | | | | | | | | | | "hash_bulk_insert" first expands the table, but the target size was wrong: it was calculated by "num_entries + (size to buld insert)", but it was wrong when "num_entries < entries_bound", i.e., it has a deleted entry. "hash_bulk_insert" adds the given entries from entries_bound, which led to out-of-bounds write access. [Bug #15536] As a simple fix, this commit changes the calculation to "entries_bound + size". I'm afraid if this might be inefficient, but I think it is safe anyway. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66832 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* delete emacs mode lines [ci skip]shyouhei2018-12-271-1/+1
| | | | | | | These settings are now covered by .dir-locals.el. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66584 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* bootstraptest/runner.rb: increase timeout for --jit-waitk0kubun2018-12-121-0/+1
| | | | | | | | | | because test_io.rb:33 randomly fails http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/1519055 checking MJIT.enabled? on driver might not make sense for target, but as long as the CI is -DMJIT_FORCE_ENABLE, I believe it works for now. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66344 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Simply treat IO::WaitReadable just like Errno::EAGAINusa2018-11-201-7/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65829 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* revert r65820 and retry assert_finishk0kubun2018-11-203-8/+12
| | | | | | | | From: MSP-Greg <greg.mpls@gmail.com> https://github.com/ruby/ruby/commit/5187ea768f57315e61486122d688f1992d4cb21f git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65821 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_thread.rb: skip test_thread.rb broken for Windowsk0kubun2018-11-202-6/+8
| | | | | | | | | | msys2. https://ci.appveyor.com/project/ruby/ruby/builds/20419607/job/fuvrfcmrhxr1r1cr https://ci.appveyor.com/project/ruby/ruby/builds/20395349/job/2nqewb06b5eanwea https://ci.appveyor.com/project/ruby/ruby/builds/20382452/job/658pvl1cqolyrixm git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65820 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* bootstraptest/test_insns.rb: test newhashfromarraykazu2018-10-271-0/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65385 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fallback env encoding to ASCII-8BITnobu2018-09-261-0/+12
| | | | | | | | | * hash.c (env_enc_str_new): as no locale/filesystem encoding is available in miniruby on Windows, fallback the encoding to ASCII-8BIT so it is valid encoding when the conversion failed. [ruby-core:89177] [Bug #15164] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64860 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* bootstraptest update test_io.rb [Bug #15060] [Fix GH-1495]nobu2018-09-041-3/+3
| | | | | | From: MSP-Greg <greg.mpls@gmail.com> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64629 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* bootstraptest/runner.rb: speed up assert_finish with IO.select (take #2)normal2018-07-301-2/+15
| | | | | | | Resurrect r63754 in a 1.8-compatible way. While we're at it, add a note to maintain 1.8 compatibility (cf. r63757). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64120 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fix a bug of peephole optimizationmame2018-07-061-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | ``` if L1 L0: jump L2 L1: ... L2: ``` was wrongly optimized to: ``` unless L2 L0: L1: ... L2: ``` To make it conservative, this optimization is now disabled when there is any label between `if` and `jump` instructions. Fixes [Bug #14897]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63868 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* improve C0 coverage of insns.defshyouhei2018-06-291-4/+34
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63788 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rethrow the caught exception as-isnobu2018-06-291-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63787 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tests: increase timeouts and speedup some slow testsnormal2018-06-271-3/+3
| | | | | | | | I'm still using the computer from 2005, so enabling MJIT makes some tests take longer. For test_deadlock_by_signal_at_forking I got it down to 135s to 89s by disabling RubyGems. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63774 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Revert "bootstraptest/runner: speed up assert_finish by avoiding sleep"mame2018-06-271-8/+3
| | | | | | | | | | This reverts commit r63754. Many CI servers still use old ruby as base ruby which does not support read_nonblock. https://rubyci.org/logs/www.rubyist.net/~akr/chkbuild/debian/ruby-trunk/log/20180627T013100Z.fail.html.gz git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63757 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* bootstraptest/runner: speed up assert_finish by avoiding sleepnormal2018-06-261-3/+8
| | | | | | | We may use IO.select to watch for process exit. This speeds up "make test" by 2 seconds for me. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63754 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* error.c: bypass Exception.newnobu2018-02-201-1/+1
| | | | | | | | | | * error.c (rb_exc_new, rb_exc_new_str): instantiate exception object directly without Exception.new method call. Redefinition of class method `new` is an outdated style, and internal exceptions should not be affected by it. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62500 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* bootstraptest/test_fork.rb: Stop too restrict NPROC test temporarilymame2018-01-091-1/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* `$SAFE` as a process global state. [Feature #14250]ko12017-12-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * vm_core.h (rb_vm_t): move `rb_execution_context_t::safe_level` to `rb_vm_t::safe_level_` because `$SAFE` is a process (VM) global state. * vm_core.h (rb_proc_t): remove `rb_proc_t::safe_level` because `Proc` objects don't need to keep `$SAFE` at the creation. Also make `is_from_method` and `is_lambda` as 1 bit fields. * cont.c (cont_restore_thread): no need to keep `$SAFE` for Continuation. * eval.c (ruby_cleanup): use `rb_set_safe_level_force()` instead of access `vm->safe_level_` directly. * eval_jump.c: End procs `END{}` doesn't keep `$SAFE`. * proc.c (proc_dup): removed and introduce `rb_proc_dup` in vm.c. * safe.c (rb_set_safe_level): don't check `$SAFE` 1 -> 0 changes. * safe.c (safe_setter): use `rb_set_safe_level()`. * thread.c (rb_thread_safe_level): `Thread#safe_level` returns `$SAFE`. It should be obsolete. * transcode.c (load_transcoder_entry): `rb_safe_level()` only returns 0 or 1 so that this check is not needed. * vm.c (vm_proc_create_from_captured): don't need to keep `$SAFE` for Proc. * vm.c (rb_proc_create): renamed to `proc_create`. * vm.c (rb_proc_dup): moved from proc.c. * vm.c (vm_invoke_proc): do not need to set and restore `$SAFE` for `Proc#call`. * vm_eval.c (rb_eval_cmd): rename a local variable to represent clearer meaning. * lib/drb/drb.rb: restore `$SAFE`. * lib/erb.rb: restore `$SAFE`, too. * test/lib/leakchecker.rb: check `$SAFE == 0` at the end of tests. * test/rubygems/test_gem.rb: do not set `$SAFE = 1`. * bootstraptest/test_proc.rb: catch up this change. * spec/ruby/optional/capi/string_spec.rb: ditto. * test/bigdecimal/test_bigdecimal.rb: ditto. * test/fiddle/test_func.rb: ditto. * test/fiddle/test_handle.rb: ditto. * test/net/imap/test_imap_response_parser.rb: ditto. * test/pathname/test_pathname.rb: ditto. * test/readline/test_readline.rb: ditto. * test/ruby/test_file.rb: ditto. * test/ruby/test_optimization.rb: ditto. * test/ruby/test_proc.rb: ditto. * test/ruby/test_require.rb: ditto. * test/ruby/test_thread.rb: ditto. * test/rubygems/test_gem_specification.rb: ditto. * test/test_tempfile.rb: ditto. * test/test_tmpdir.rb: ditto. * test/win32ole/test_win32ole.rb: ditto. * test/win32ole/test_win32ole_event.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61510 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* show the location at intterruptedko12017-11-061-0/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60671 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Drop to support NaCl platform.hsbt2017-10-233-12/+4
| | | | | | | | | | | Because NaCl and PNaCl are already sunset status. see https://bugs.chromium.org/p/chromium/issues/detail?id=239656#c160 configure.ac: Patch for this file was provided by @nobu. [Feature #14041][ruby-core:83497][fix GH-1726] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60374 b2dd03c8-39d4-4d8f-98ff-823fe69b080e