diff options
author | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-07-07 07:38:25 +0000 |
---|---|---|
committer | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-07-07 07:38:25 +0000 |
commit | 9ff1e787f915539b1980654e3d3d2013ff5c81d2 (patch) | |
tree | 8d0fc9ca5b4dbfa9885dc56862292d55091bcaac /ruby_1_8_6/test/drb/drbtest.rb | |
parent | 441546edcfbb1b346c87b69c5f578d1a0e522e06 (diff) |
wrong commit; sorryv1_8_6_269
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tags/v1_8_6_269@17938 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ruby_1_8_6/test/drb/drbtest.rb')
-rw-r--r-- | ruby_1_8_6/test/drb/drbtest.rb | 351 |
1 files changed, 0 insertions, 351 deletions
diff --git a/ruby_1_8_6/test/drb/drbtest.rb b/ruby_1_8_6/test/drb/drbtest.rb deleted file mode 100644 index faf6c059d9..0000000000 --- a/ruby_1_8_6/test/drb/drbtest.rb +++ /dev/null @@ -1,351 +0,0 @@ -require 'test/unit' -require 'drb/drb' -require 'drb/extservm' -require 'timeout' -begin - loadpath = $:.dup - $:.replace($: | [File.expand_path("../ruby", File.dirname(__FILE__))]) - require 'envutil' -ensure - $:.replace(loadpath) -end - -class DRbService - @@manager = DRb::ExtServManager.new - @@ruby = EnvUtil.rubybin - @@ruby += " -d" if $DEBUG - def self.add_service_command(nm) - dir = File.dirname(File.expand_path(__FILE__)) - DRb::ExtServManager.command[nm] = "\"#{@@ruby}\" \"#{dir}/#{nm}\"" - end - - %w(ut_drb.rb ut_array.rb ut_port.rb ut_large.rb ut_safe1.rb ut_eval.rb).each do |nm| - add_service_command(nm) - end - @server = @@server = DRb::DRbServer.new(nil, @@manager, {}) - @@manager.uri = @@server.uri - def self.manager - @@manager - end - def self.server - @server || @@server - end - def self.ext_service(name) - timeout(100, RuntimeError) do - manager.service(name) - end - end -end - -class Onecky - include DRbUndumped - def initialize(n) - @num = n - end - - def to_i - @num.to_i - end - - def sleep(n) - Kernel.sleep(n) - to_i - end -end - -class FailOnecky < Onecky - class OneckyError < RuntimeError; end - def to_i - raise(OneckyError, @num.to_s) - end -end - -class XArray < Array - def initialize(ary) - ary.each do |x| - self.push(x) - end - end -end - -module DRbCore - def setup - @ext = DRbService.ext_service('ut_drb.rb') - @there = @ext.front - end - - def teardown - @ext.stop_service if @ext - end - - def test_00_DRbObject - ro = DRbObject.new(nil, 'druby://localhost:12345') - assert_equal('druby://localhost:12345', ro.__drburi) - assert_equal(nil, ro.__drbref) - - ro = DRbObject.new_with_uri('druby://localhost:12345') - assert_equal('druby://localhost:12345', ro.__drburi) - assert_equal(nil, ro.__drbref) - - ro = DRbObject.new_with_uri('druby://localhost:12345?foobar') - assert_equal('druby://localhost:12345', ro.__drburi) - assert_equal(DRb::DRbURIOption.new('foobar'), ro.__drbref) - end - - def test_01 - assert_equal("hello", @there.hello) - onecky = Onecky.new('3') - assert_equal(6, @there.sample(onecky, 1, 2)) - ary = @there.to_a - assert_kind_of(DRb::DRbObject, ary) - - assert(@there.respond_to?(:to_a, true)) - assert(@there.respond_to?(:eval, true)) - assert(! @there.respond_to?(:eval, false)) - assert(! @there.respond_to?(:eval)) - end - - def test_01_02_loop - onecky = Onecky.new('3') - 50.times do - assert_equal(6, @there.sample(onecky, 1, 2)) - ary = @there.to_a - assert_kind_of(DRb::DRbObject, ary) - end - end - - def test_02_unknown - obj = @there.unknown_class - assert_kind_of(DRb::DRbUnknown, obj) - assert_equal('Unknown2', obj.name) - - obj = @there.unknown_module - assert_kind_of(DRb::DRbUnknown, obj) - if RUBY_VERSION >= '1.8' - assert_equal('DRbEx::', obj.name) - else - assert_equal('DRbEx', obj.name) - end - - assert_raises(DRb::DRbUnknownError) do - @there.unknown_error - end - - onecky = FailOnecky.new('3') - - assert_raises(FailOnecky::OneckyError) do - @there.sample(onecky, 1, 2) - end - end - - def test_03 - assert_equal(8, @there.sum(1, 1, 1, 1, 1, 1, 1, 1)) - assert_raises(ArgumentError) do - @there.sum(1, 1, 1, 1, 1, 1, 1, 1, 1) - end - assert_raises(DRb::DRbConnError) do - @there.sum('1' * 4096) - end - end - - def test_04 - assert_respond_to(@there, 'sum') - assert(!(@there.respond_to? "foobar")) - end - - def test_05_eq - a = @there.to_a[0] - b = @there.to_a[0] - assert(a.object_id != b.object_id) - assert(a == b) - assert_equal(a, b) - assert(a == @there) - assert_equal(a.hash, b.hash) - assert_equal(a.hash, @there.hash) - assert(a.eql?(b)) - assert(a.eql?(@there)) - end - - def test_06_timeout - ten = Onecky.new(10) - assert_raises(TimeoutError) do - @there.do_timeout(ten) - end - assert_raises(TimeoutError) do - @there.do_timeout(ten) - end - end - - def test_07_public_private_protected_missing - assert_nothing_raised() { - begin - @there.method_missing(:eval) - rescue NoMethodError - assert_match(/^private method \`eval\'/, $!.message) - end - } - assert_nothing_raised() { - begin - @there.call_private_method - rescue NoMethodError - assert_equal(NoMethodError, $!.class) - assert_match(/^private method \`call_private_method\'/, $!.message) - end - } - assert_nothing_raised() { - begin - @there.call_protected_method - rescue NoMethodError - assert_equal(NoMethodError, $!.class) - assert_match(/^protected method \`call_protected_method\'/, $!.message) - end - } - assert_nothing_raised() { - begin - @there.method_missing(:undefined_method_test) - rescue NoMethodError - assert_equal(NoMethodError, $!.class) - assert_match(/^undefined method \`undefined_method_test\'/, $!.message) - end - } - assert_raises(SecurityError) do - @there.method_missing(:__send__, :to_s) - end - assert_equal(true, @there.missing) - end - - def test_08_here - ro = DRbObject.new(nil, DRb.uri) - assert_kind_of(String, ro.to_s) - - ro = DRbObject.new_with_uri(DRb.uri) - assert_kind_of(String, ro.to_s) - end - - def uri_concat_option(uri, opt) - "#{uri}?#{opt}" - end - - def test_09_option - uri = uri_concat_option(@there.__drburi, "foo") - ro = DRbObject.new_with_uri(uri) - assert_equal(ro.__drburi, @there.__drburi) - assert_equal(3, ro.size) - - uri = uri_concat_option(@there.__drburi, "") - ro = DRbObject.new_with_uri(uri) - assert_equal(ro.__drburi, @there.__drburi) - assert_equal(DRb::DRbURIOption.new(''), ro.__drbref) - - uri = uri_concat_option(@there.__drburi, "hello?world") - ro = DRbObject.new_with_uri(uri) - assert_equal(DRb::DRbURIOption.new('hello?world'), ro.__drbref) - - uri = uri_concat_option(@there.__drburi, "?hello?world") - ro = DRbObject.new_with_uri(uri) - assert_equal(DRb::DRbURIOption.new('?hello?world'), ro.__drbref) - end - - def test_10_yield - @there.simple_hash.each do |k, v| - assert_kind_of(String, k) - assert_kind_of(Symbol, v) - end - end - - def test_10_yield_undumped - @there.xarray2_hash.each do |k, v| - assert_kind_of(String, k) - assert_kind_of(DRbObject, v) - end - end - - def test_11_remote_no_method_error - assert_raises(DRb::DRbRemoteError) do - @there.remote_no_method_error - end - begin - @there.remote_no_method_error - rescue - error = $! - assert_match(/^undefined method .*\(NoMethodError\)/, error.message) - assert_equal('NoMethodError', error.reason) - end - end -end - -module DRbAry - def setup - @ext = DRbService.ext_service('ut_array.rb') - @there = @ext.front - end - - def teardown - @ext.stop_service if @ext - end - - def test_01 - assert_kind_of(DRb::DRbObject, @there) - end - - def test_02_collect - ary = @there.collect do |x| x + x end - assert_kind_of(Array, ary) - assert_equal([2, 4, 'IIIIII', 8, 'fivefive', 12], ary) - end - - def test_03_redo - ary = [] - count = 0 - @there.each do |x| - count += 1 - ary.push x - redo if count == 3 - end - assert_equal([1, 2, 'III', 'III', 4, 'five', 6], ary) - end - - def test_04_retry - retried = false - ary = [] - @there.each do |x| - ary.push x - if x == 4 && !retried - retried = true - retry - end - end - assert_equal([1, 2, 'III', 4, 1, 2, 'III', 4, 'five', 6], ary) - end - - def test_05_break - ary = [] - @there.each do |x| - ary.push x - break if x == 4 - end - assert_equal([1, 2, 'III', 4], ary) - end - - def test_06_next - ary = [] - @there.each do |x| - next if String === x - ary.push x - end - assert_equal([1, 2, 4, 6], ary) - end - - class_eval <<EOS - def test_07_break_18 - ary = [] - result = @there.each do |x| - ary.push x - break(:done) if x == 4 - end - assert_equal([1, 2, 'III', 4], ary) - assert_equal(:done, result) - end -EOS - -end |