Граф коммитов

322 Коммитов

Автор SHA1 Сообщение Дата
akr b205b5e7b6 fix tests for load_path.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23817 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-22 07:28:33 +00:00
ko1 0cdfbc9446 * thread_pthread.c (rb_thread_create_timer_thread): print fatal error
message to stderr instead of using rb_bug().
* KNOWNBUGS.rb, bootstraptest/test_fork.rb: move a fixed test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23647 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-07 23:59:58 +00:00
nobu f4a0a73175 * variable.c (rb_autoload_load): checks if iv_tbl is valid.
[ruby-dev:38456]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23431 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-15 06:15:14 +00:00
nobu d222c7533c * bootstraptest/test_io.rb: test for [ruby-dev:38131].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23288 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-04-26 09:44:35 +00:00
nobu 5f47ed9b59 * file.c (file_load_ok): checks if regular file. [ruby-dev:38097]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22655 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-27 06:49:43 +00:00
usa 4176051753 * test_fork.rb: no need to test if fork(2) is not implemented.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22643 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-26 05:02:21 +00:00
usa 3eff6d398b * test_thread.rb: broken test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22642 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-26 05:01:03 +00:00
mame c43236eaf7 * bootstraptest/test_thread.rb: fix for environment where fork is not
available.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22578 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-23 16:24:46 +00:00
mame c55dd9b7d8 * thread.c (thread_cleanup_func): unlock all locked mutexes even when
forking.  [ruby-core:22269]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22577 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-23 16:20:06 +00:00
nobu 1e51a7b2c6 * vm_eval.c (method_missing): should not pop cfp if missing method
is method_missing.  [ruby-core:22298]

* vm_eval.c (rb_raise_method_missing): new function to directly
  raise NoMethodError.

* vm_insnhelper.c (vm_call_method): fixed the case method_missing
  is missing.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22495 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-22 01:47:11 +00:00
knu fd2b650d06 * bootstraptest/runner.rb: Use RUBY_DESCRIPTION if defined.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22397 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-18 06:27:47 +00:00
nobu e5edfbf207 * bootstraptest/test_fork.rb: test for [ruby-core:22158]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22390 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-18 01:49:17 +00:00
ko1 c9e4dc308f * compile.c: fix to add "ensure" codes across "while" clause
before "return" expression.  [ruby-dev:37967]
* bootstraptest/test_flow.rb: add a test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22363 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-16 20:54:58 +00:00
nobu 6b7dbd3e31 * insns.def (defineclass): try to autoload const to be overridden.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22269 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-12 15:48:44 +00:00
akr c77f323088 * bootstraptest/runner.rb: refine success message.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22035 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-04 12:57:17 +00:00
akr 21675bb6a7 reduce test time.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21961 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-02 08:08:52 +00:00
nobu 132d0624ec * variable.c (rb_const_get_0), vm_insnhelper.c (vm_get_ev_const):
avoids infinite self recursion autoload.  [ruby-core:21696]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21925 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-31 20:19:44 +00:00
ko1 a3a45fafa3 * vm.c (rb_vm_inc_const_missing_count, ruby_vm_const_missing_count):
added.
* vm_insnhelper.h: ditto.
* variable.c (rb_const_get_0), insns.def: Constants should not be
  cached if const_missing is called.  [ruby-core:21059] [Bug #967]
* bootstraptest/test_class.rb: add a test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21536 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-15 15:31:43 +00:00
mame f35f46a9f1 * bootstraptest/test_proc.rb: suppress error message.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21274 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-02 13:20:46 +00:00
ko1 bd96f1fe70 * eval.c (get_errinfo): return th->errinfo value
if normal errinfo place (dynamic local viriable) is not found.
  fixes Bug #732 [ruby-dev:37046].
* bootstraptest/test_proc.rb: add a test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21086 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-27 04:45:28 +00:00
ko1 597220ef0c * vm.c (Init_VM): create and define TOPLEVEL_BINDING at first.
* vm.c (vm_set_main_stack, rb_iseq_eval_main): added.
* parse.y (rb_parser_compile_file): fix to check parse_in_eval flag.
* eval.c (ruby_exec_node): use rb_iseq_eval_main()
  instead of rb_iseq_eval().
* iseq.c (rb_iseq_new_main), vm_core.h: added.
  main script (specified by -e or script name) should be run
  under TOPLEVEL_BINDING using Kernel#eval.  Above changes
  simulate Kernel#eval behaviour.  [ruby-dev:37240]
* compile.c (make_name_for_block): skip iseq except block type.
  this fix is needed for [ruby-dev:37240], and also fixes
  [ruby-dev:35392].



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21079 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-27 01:15:56 +00:00
ko1 a71fb38d47 * vm_insnhelper.c (vm_method_search): return rb_cObject if there is no
super class.  [ruby-dev:37587]
* bootstraptest/test_method.rb: add tests for above.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20981 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-25 04:19:33 +00:00
ko1 7c982059ea * proc.c (proc_new): should use proc_dup() if block has Proc.
* vm.c (vm_make_proc_from_block): should use rb_cProc for block.
* vm.c (vm_make_proc): add an assertion.
* bootstraptest/test_proc.rb: add a test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20980 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-25 03:51:35 +00:00
ko1 f0da2e1657 * vm_insnhelper.c (vm_call_method): use class of method defined
instead of receiver's class on bmethod.  fixes [ruby-core:20786]
* bootstraptest/test_method.rb: add a test for above.
* vm_insnhelper.c (vm_setup_method): remove unused parameter klass.
* vm_insnhelper.h (CALL_METHOD): ditto.
* insns.def, vm_eval.c: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20967 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-24 11:47:00 +00:00
nobu 8c8d666467 * vm_insnhelper.c (vm_callee_setup_arg_complex): uses cfp from
blockptr instead of the current cfp.  [ruby-core:20544]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20748 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-15 07:26:48 +00:00
nobu 8e864d1e86 * load.c (rb_get_load_path): returns the load path without
touching.

* load.c (rb_feature_provided): new function to return the loading
  path in addition to rb_provided().

* load.c (search_required): sets path if loading.

* variable.c (autoload_provided): load paths are expanded to check
  if loading.

* variable.c (autoload_node): keeps autoload mark while loading.
  [ruby-core:20235]

* variable.c (rb_const_get_0): loops while autoload mark is set.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20531 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-04 18:29:20 +00:00
usa e8d91f1213 * bootstraptest/test_thread.rb: ignore some exceptions.
[ruby-dev:36951]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19973 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-28 00:52:32 +00:00
ko1 3337185ed6 * parse.y (arg_concat_gen): concat target node should be NODE_ARRAY.
[ruby-core:19413]
* bootstraptest/test_method.rb: add tests.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19880 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-21 20:45:35 +00:00
ko1 03b2fc9adf * bootstraptest/test_thread.rb: add a test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18983 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-31 07:39:45 +00:00
ko1 100d0a568e * vm_insnhelper.c (vm_call_method): copy arguments to allocated
memory from machine stack.  [ruby-dev:36028]
* KNOWNBUGS.rb, bootstraptest/test_method.rb: move fixed test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18918 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-29 08:24:51 +00:00
usa a7fa5122d7 * bootstraptest/test_io.rb: no need to create real file.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18893 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-28 10:05:35 +00:00
nobu faf2541c2b * gc.c (rb_gc_call_finalizer_at_exit): self-referencing finalizers
cannot be invoked.  [ruby-dev:35681]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18391 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-06 11:48:30 +00:00
naruse 99c3a01dc7 * bootstraptests/method.rb: increase RLIMIT_STACK size to 4M+8Kbytes
because FreeBSD fails this less than that.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18233 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-27 13:24:18 +00:00
nobu f3fcd2e4a0 * io.c (rb_io_wait_readable, rb_io_wait_writable): check if the file
descriptor is closed.

* thread.c (rb_thread_wait_fd_rw): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18027 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-11 11:51:39 +00:00
akr 5c91367675 add ML ref.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18013 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-10 14:52:24 +00:00
nobu 1a5f1a8c69 * vm_core.h (rb_thread_t), vm.c (rb_thread_mark), process.c
(rb_last_status_get, rb_last_status_set, rb_last_status_clear):
  moved last_status from rb_vm_t.  [ruby-dev:35414]

* vm.c (th_init2): initialize last_status with nil.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-10 03:10:00 +00:00
matz 5336cbdfd3 * string.c (str_gsub): should preserve last successful match
data.  [ruby-dev:35182]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-19 17:11:55 +00:00
ko1 e929f49e56 * KNOWNBUGS.rb, bootstraptest/pending.rb: move a bug (?) to pending.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17443 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-19 16:08:16 +00:00
ko1 e7dac48a91 * proc.c (proc_new): fix to return Proc object if block is already
in heap.  [ruby-core:15711]
* bootstraptest/test_proc.rb: add a test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17442 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-19 15:43:25 +00:00
ko1 c3e619c83d * vm_insnhelper.c (vm_throw): fix "return" process from "lambda".
* bootstraptest/test_proc.rb: add a test.
* bootstraptest/pending.rb: add a pending bug.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17421 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-19 02:46:02 +00:00
ko1 f98e6b91de * KNOWNBUGS.rb, bootstraptest/pending.rb: move pending bug.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17391 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-17 19:29:38 +00:00
ko1 00e4fd42f3 * vm.c, vm_insnhelper.c: fix escape process with "braek" and "return"
syntax in "lambda".  [ ruby-Bugs-19304 ], [ruby-core:17164]
* KNOWNBUGS.rb, bootstraptest/test_proc.rb: add/move solved test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17390 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-17 19:27:24 +00:00
ko1 faa93e847d * eval.c (rb_f_block_given_p): fix to skip class frame.
[ruby-core:14813]
* KNOWNBUGS.rb, bootstraptest/test_method.rb: move solved test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17351 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-15 16:50:37 +00:00
mame 6f5aaff73b * thread.c, vm_core.h, vm.c, thread_pthread.c, thread_win32.c: add
deadlock detection.  [ruby-dev:35044]

* bootstraptest/test_thread.rb: add tests for above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17110 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-12 13:01:38 +00:00
akr 2dc5f35a3a * bootstraptest/runner.rb (assert_normal_exit): hide stderr output
when success.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17089 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-11 03:16:28 +00:00
ko1 9e324fdd3e * vm.c, eval_intern.h (PASS_PASSED_BLOCK):
set a VM_FRAME_FLAG_PASSED flag to skip this frame when
  searching ruby-level-cfp.
* eval.c, eval_intern.h, proc.c: fix to check cfp.  if there is
  no valid ruby-level-cfp, cause RuntimeError exception.
  [ruby-dev:34128]
* vm_core.h, vm_evalbody.c, vm.c, vm_dump.c, vm_insnhelper.c,
  insns.def: rename FRAME_MAGIC_* to VM_FRAME_MAGIC_*.
* KNOWNBUGS.rb, bootstraptest/test*.rb: move solved bugs.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17084 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-10 21:46:43 +00:00
ko1 fe54190f68 * bootstraptest/test_knownbug.rb -> ./test_knownbug.rb: moved.
* common.mk: add a rule "test-knownbug".



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17057 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-09 12:10:43 +00:00
ko1 7e6c9db4e2 * bootstraptest/pending.rb: move/remove solved issues.
* bootstraptest/test_class.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17027 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-08 18:13:09 +00:00
akr f52d9a169b add a test for [ruby-dev:34679].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16567 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-24 01:57:02 +00:00
mame 846ea1727f * compile.c (get_destination_insn, get_next_insn, get_prev_insn):
peephole optimization should not ignore ISEQ_ELEMENT_ADJUST.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16535 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-22 14:45:54 +00:00