Commit graph

8869 commits

Author SHA1 Message Date
akr
75d484a453 more assertions.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12783 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-14 04:13:12 +00:00
akr
3a4e0f1f5a refined.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12773 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-13 16:34:19 +00:00
akr
4122a13560 check values around 16bit.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12771 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-13 15:20:49 +00:00
akr
744701f404 more tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12770 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-13 14:50:06 +00:00
akr
3cf28c2caa add assertions using equations taken from Hacker's Delight.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12769 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-13 13:31:41 +00:00
akr
71467c78c2 new file.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12768 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-13 12:51:27 +00:00
akr
d2113feba8 more tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12767 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-13 10:21:50 +00:00
akr
c6818f4104 check (-0x4000000000000000)/(-1) too.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12765 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-13 09:35:29 +00:00
akr
c393603f94 add test for [ruby-dev:31210].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-13 09:33:17 +00:00
akr
a309f10475 sentence generator updated.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12762 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-13 08:40:09 +00:00
akr
091fb1c2e4 add test for [ruby-dev:31197].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12757 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-13 03:47:18 +00:00
nobu
113a709cce * range.c (range_max, range_min): return nil for empty set as well as
1.8 and Enumerable.  [ruby-dev:31198]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12754 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-13 02:33:11 +00:00
akr
8f79c623f3 add tests for [ruby-dev:31189] and [ruby-dev:31190].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12746 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-12 13:23:29 +00:00
ko1
9aa9c07c07 * test/ruby/test_iterator.rb: fix test to 1.9 spec.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12715 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-06 06:55:19 +00:00
akr
56fe47de3a * test/ruby/sentgen.rb: new file.
* test/ruby/test_assignment.rb: tests implemeneted using assignment
  generator and emulator.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-06 03:16:46 +00:00
ko1
6a858e554c * test/ruby/test_basicinstructions.rb: remove an assertion using
unsupported hash literal (such as {1, 2}).
* test/ruby/test_hash.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12705 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-05 10:18:53 +00:00
usa
a0d50fa3c4 * numeric.c (int_pow): fix previous nubu's commit.
* test/ruby/test_fixnum.rb: new test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12698 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-05 07:38:41 +00:00
akr
50e22262fd revert variable renaming. [ruby-dev:31001]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12690 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-04 06:56:16 +00:00
ko1
62deb7dbbd * insn_send.ci: removed.
* common.mk: ditto.
* vm.c (vm_call_bmethod), isnsn.def: added.  fix to use this
  function instead of using goto.
* vm.c (vm_call_bmethod): renamed from th_invoke_bmethod().
* vm.c (vm_method_missing): renamed from eval_methdo_missing().
* vm_evalbody.ci: remove tmp_* variables.
* insnhelper.h: add some macros.
* insns.def: forbid zsuper from method defined by define_method().
* test/ruby/test_super.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12601 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-24 13:05:51 +00:00
technorama
9fa80b19a6 * ext/openssl/{extconf.rb,ossl_ssl_session.c}:
Fix ruby-Bugs-11513.

* ext/openssl/ossl_pkey_ec.c
  New methods EC::Point.[eql,make_affine!,invert!,on_curve?,infinity?]
  By default output the same key form as the openssl command.

* ext/openssl/ossl_rand.c
  New method Random.status?

* test/openssl/test_ec.rb
  New tests.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12571 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-18 08:56:21 +00:00
ko1
afb1901848 * hash.c: exchange semantics of Hash#each and Hash#each_pair.
pointed out by [ruby-dev:30997].
* test/ruby/test_iterator.rb: ditto.
* test/ruby/test_yield.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12546 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-15 04:25:07 +00:00
ko1
7307d38c4f * test/ruby/test_iterator.rb: remove debug code (GC.stress=true).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12545 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-15 03:37:49 +00:00
ko1
7567fbf080 * vm.c (th_yield_setup_args): |v| should work as |v,|.
ex) def m;yield 1, 2; end; m{|v| p v} #=> 1
* parse.y: apply above change for "for" statement.
* test/ruby/test_assignment.rb: ditto
* test/ruby/test_basicinstructions.rb: ditto.
* test/ruby/test_iterator.rb: ditto.
* test/ruby/test_yield.rb: ditto.
* compile.c (iseq_compile_each): fix debug.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12544 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-15 03:27:33 +00:00
ko1
31ac946975 * cont.c (rb_cont_call): forbid cross fiber continuation call.
* test/ruby/test_fiber.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12542 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-15 03:20:13 +00:00
usa
8e8a3a07b1 * test/ruby/test_beginendblock.rb: typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12509 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-10 07:10:56 +00:00
nobu
7d8743d5c5 * test/ruby/test_beginendblock.rb (test_should_propagate_signaled):
get rid of invoking shell.  [ruby-dev:30942]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12503 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-10 04:46:17 +00:00
ko1
8620de6b04 * cont.c (cont_restore_1): fix to check root fiber [ruby-dev:30911].
* test/ruby/test_fiber.rb: add a test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12457 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-07 03:48:13 +00:00
naruse
b60d64b001 * lib/json/common.rb: Ponder offering parse\! method.
* lib/json/editor.rb: be a bit more robust while loading data.
* ext/json/ext/{generator,parser}/extconf.rb:
  add a have_header directive for st.h
* test/json: fix some tests.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12456 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-06 22:38:42 +00:00
ko1
6d2dee14f3 * test_fiber.rb: add a test (Continuation and Fiber).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12455 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-06 18:30:14 +00:00
ko1
d80e7373cf * cont.c (cont_new): add debug message.
* cont.c (cont_restore_1): copy stack information from fiber.
* cont.c (rb_fiber_s_new): fix to mark created fiber.
* test/ruby/test_fiber.rb: add some tests around Thread and Fiber.
* yarvcore.c (thread_free): fix to skip freeing stack if root fiber
  is available.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12454 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-06 18:19:42 +00:00
ko1
9c0b2b8b65 * test/ruby/test_continuation.rb: add a test for last commit.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12448 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-06 01:56:49 +00:00
nobu
a96aacb08c * ext/json, lib/json, test/json: set properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12446 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-06 01:54:44 +00:00
ko1
64ffdb4440 * cont.c (rb_fiber_start): clear th->tag and check error to fix
[ruby-dev:30888] and [ruby-dev:30889].
* eval_intern.h: fix rb_fiber_start() prototype.
* test/ruby/test_fiber.rb: add tests for above.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12443 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-05 17:55:07 +00:00
ko1
78029f00d5 * parse.y (new_yield), compile.c (iseq_compile_each): fix
passing parameter.
* eval.c, eval_jump.h: simplify rb_yield*.
* proc.c (proc_mark): fix to mark proc->block.proc.
* proc.c (Init_Proc): add Proc#lambda?
* test/ruby/test_lambda.rb: add some tests.
* vm.c (invoke_block): fix to check lambda block or not.
* vm.c (th_yield_setup_args): fix to check arguments size
  when lambda block.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-05 17:26:00 +00:00
naruse
af1c416728 * lib/json.rb, lib/json, ext/json, test/json:
import JSON library.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12428 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-04 12:31:26 +00:00
ko1
6b3ef2249c * cont.c (Fiber#pass): rename to Fiber#yield. Block parameter
of fiber body receive first yield values.
  e.g.: Fiber.new{|x| p x}.yield(:ok) #=> :ok
* cont.c: rename rb_context_t#retval to rb_context_t#value.
* test/ruby/test_fiber.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12425 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-02 07:48:29 +00:00
ko1
284565992f * cont.c (cont_capture): store all local variables in heap
([ruby-dev:30832]).
* vm.c (th_stack_to_heap): added.
* test/ruby/test_continuation.rb: add a test for above.
* eval_intern.h (th_get_ruby_level_cfp): fix to clean code.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12415 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-05-30 05:56:13 +00:00
ko1
d64609463f * cont.c: fix bug around Continuation and Fiber.
* test/ruby/test_continuation.rb: add tests for Continuation.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12401 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-05-29 01:59:53 +00:00
ko1
57062d91b9 * cont.c: support Fiber. Check test/ruby/test_fiber.rb for detail.
Fiber is known as "Micro Thread", "Coroutine", and other terms.
  At this time, only Fiber#pass is supported to change context.
  I want to know more suitable method name/API for Fiber (... do you
  know more suitable class name instead of Fiber?) as "suspend/resume",
  "call", "yield", "start/kick/stop/restart", ....
* eval.c, eval_intern.h, thread.c, yarvcore.c, yarvcore.h: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12395 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-05-27 19:12:43 +00:00
nobu
a1cb9efd34 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12385 b2dd03c8-39d4-4d8f-98ff-823fe69b080e 2007-05-25 15:04:05 +00:00
nobu
2b9cbceb5e * test/ruby/test_beginendblock.rb (test_endblockwarn): now parser
warnings emit source names and line numbers.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12283 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-05-15 07:38:59 +00:00
aamine
22d6ff16d3 * lib/net/http.rb (tokens): forgot to add strip. [ruby-core:11120]
* test/net/http/test_http.rb: test Net::HTTP.post_form.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12274 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-05-12 09:25:56 +00:00
usa
54420c2614 * test/ruby/test_super.rb: add tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12270 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-05-10 06:17:07 +00:00
kou
1548542f21 * lib/rss/image.rb, test/rss/test_image.rb: fixed Image module
namespace URI. reported by Dmitry Borodaenko. Thanks.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12251 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-05-07 02:02:50 +00:00
ko1
75d28f8870 * yarvcore.h, compile.c (set_arguments): support post arguments.
* test/ruby/test_method.rb: add tests for above.
* test/ruby/test_proc.rb: ditto.
* proc.c: fix an arity bug ([ruby-core:11029]).
* vm.c, vm.h, insns.def, vm_dump.h: fix bmethod process.
* vm.c: support block argument on block parameter.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12231 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-05-01 04:35:58 +00:00
ko1
a73894337a * eval.c, node.h, thread.c, yarvcore.[ch], eval_intern.h:
support set_trace_func (incomplete.  id and klass
  don't be passed).  And support Thread#set_trace_func
  which hook only specified thread and Thread#add_trace_func
  which add new trace func instead of replace old one.
  C level API was modified.  See thread.c (logic) and
  yarvcore.h (data structures).
* vm.c, vm_macro.def: add hook points.
* compile.c, insns.def: fix "trace" instruction.
* iseq.c, vm_macro.h: add compile option "trace_instruction".
* test/ruby/test_settracefunc.rb: hook "c-return" of set_trace_func.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12195 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-04-19 10:37:08 +00:00
usa
4be1dfb9fa * test/ruby/test_bignum.rb (test_to_s): add tests for Bignum#to_s.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12119 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-03-22 01:28:23 +00:00
ntalbott
25ac9f24fd * test/testunit/collector/test_dir.rb: Fixed test/unit tests that
were breaking due to Module#public_instance_methods now 
  returning a Symbol instead of a String.

* test/testunit/collector/test_objectspace.rb: Ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12114 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-03-20 23:29:49 +00:00
kou
966a25465a * lib/rss, test/rss:
- supported Atom.
  - bumped version 0.1.6 to 0.1.7.
* sample/rss/convert.rb: added new sample.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12087 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-03-17 10:13:25 +00:00
suke
c769454c0e * ext/win32ole/win32ole.c: add WIN32OLE_TYPELIB#library_name,
WIN32OLE_TYPELIB#visible?.

* test/win32ole/test_win32ole_typelib.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12022 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-03-09 22:21:59 +00:00