r2corba 1.4.1 → 1.5.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES +15 -1
  3. data/THANKS +3 -1
  4. data/bin/r2corba +1 -1
  5. data/bin/ridlc +1 -1
  6. data/bin/rins +1 -1
  7. data/lib/corba/cbase/ORB.rb +8 -2
  8. data/lib/corba/common/ORB.rb +1 -1
  9. data/lib/corba/common/Object.rb +1 -1
  10. data/lib/corba/common/version.rb +1 -1
  11. data/lib/corba/jbase/ORB.rb +14 -1
  12. data/lib/corba/jbase/Object.rb +12 -11
  13. data/lib/corba/jbase/Servant.rb +3 -2
  14. data/lib/corba/jbase/require.rb +7 -4
  15. data/lib/ridlbe/ruby/config.rb +6 -6
  16. data/mkrf_conf_srcgem.rb +8 -2
  17. data/rakelib/bin.rb +3 -3
  18. data/rakelib/config.rb +96 -2
  19. data/rakelib/ext.rake +1 -1
  20. data/rakelib/ext.rb +10 -2
  21. data/rakelib/ext_r2tao.rb +6 -3
  22. data/rakelib/gem.rake +48 -24
  23. data/rakelib/gem.rb +6 -6
  24. data/test/BiDirectional/server.ior +1 -0
  25. data/test/CORBA_Services/Naming/BindingIterator/ins.ior +1 -0
  26. data/test/CORBA_Services/Naming/Corbaname/corbaname.ior +1 -0
  27. data/test/CORBA_Services/Naming/Corbaname/ins.ior +1 -0
  28. data/test/CORBA_Services/Naming/Simple/ins.ior +1 -0
  29. data/test/DII/server.ior +1 -0
  30. data/test/DSI/server.ior +1 -0
  31. data/test/Exceptions/server.ior +1 -0
  32. data/test/Hello/gateway.ior +1 -0
  33. data/test/IDL_Test/server.ior +1 -0
  34. data/test/IORMap/server.ior +1 -0
  35. data/test/IORTable/server.ior +0 -0
  36. data/test/Implicit_Conversion/server.ior +1 -0
  37. data/test/Multi_Threading/Multiple_ORB/server0.ior +1 -0
  38. data/test/Multi_Threading/Multiple_ORB/server1.ior +1 -0
  39. data/test/Multi_Threading/Simple/Test.idl +1 -1
  40. data/test/Multi_Threading/Simple/client.rb +17 -12
  41. data/test/Multi_Threading/Simple/server.ior +1 -0
  42. data/test/Multi_Threading/Simple/server.rb +2 -2
  43. data/test/Multi_Threading/Threads/server.ior +1 -0
  44. data/test/Multi_Threading/Threads/server.rb +1 -1
  45. data/test/Multi_Threading/Threads/watchdog.ior +1 -0
  46. data/test/Multiple_Servant_Interfaces/server.ior +1 -0
  47. data/test/OBV/AbstractInterface/server.ior +1 -0
  48. data/test/OBV/Custom/server.ior +1 -0
  49. data/test/OBV/Simple/server.ior +1 -0
  50. data/test/OBV/Simple_Event/server.ior +1 -0
  51. data/test/OBV/Supports/server.ior +1 -0
  52. data/test/OBV/Tree/server.ior +1 -0
  53. data/test/OBV/Truncatable/server.ior +1 -0
  54. data/test/OBV/ValueBox/server.ior +1 -0
  55. data/test/Object/client.rb +30 -21
  56. data/test/Object/server.ior +1 -0
  57. data/test/Param_Test/server.ior +1 -0
  58. data/test/Performance/Simple/server.ior +1 -0
  59. data/test/Timeout/server.ior +1 -0
  60. data/test/test.log +20 -0
  61. data/test/test2.log +5000 -0
  62. metadata +241 -209
@@ -56,7 +56,7 @@ module R2CORBA
56
56
  if is_win32
57
57
  def self.sys_dlls
58
58
  sysdlls = []
59
- except_dll = R2CORBA::Config.is_win64 ? 'libgcc_s_sjlj-1.dll' : 'libgcc_s_dw2-1.dll'
59
+ except_dll = R2CORBA::Config.is_win64 ? 'libgcc_s_seh-1.dll' : 'libgcc_s_dw2-1.dll'
60
60
  ENV['PATH'].split(';').each do |p|
61
61
  if File.exists?(File.join(p, except_dll)) && File.exists?(File.join(p, 'libstdc++-6.dll'))
62
62
  sysdlls << File.join(p, except_dll)
@@ -94,8 +94,16 @@ module R2CORBA
94
94
  'tiger'
95
95
  when 5
96
96
  'leopard'
97
- when 6,7,8
97
+ when 6
98
98
  'snowleopard'
99
+ when 7
100
+ 'lion'
101
+ when 8
102
+ 'mountainlion'
103
+ when 9
104
+ 'mavericks'
105
+ when 10
106
+ 'yosemite'
99
107
  end
100
108
  end
101
109
  platform_error unless @@osx_name
@@ -182,7 +182,7 @@ THE_END__
182
182
  def self.get_latest_ace_version
183
183
  print 'Latest ACE release is '
184
184
  _version = nil
185
- open('https://svn.dre.vanderbilt.edu/viewvc/Middleware/trunk/ACE/ace/Version.h?revision=HEAD') do |f|
185
+ open('https://raw.githubusercontent.com/DOCGroup/ATCD/master/ACE/ace/Version.h') do |f|
186
186
  f.each_line do |ln|
187
187
  if /define\s+ACE_VERSION\s+\"(.*)\"/ =~ ln
188
188
  _version = $1
@@ -196,8 +196,9 @@ THE_END__
196
196
  def self.download_tao_source(version, targetdir)
197
197
  print(_msg = "Downloading ACE+TAO-src-#{version}.tar.gz ")
198
198
  _url = "http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-src-#{version}.tar.gz"
199
+ _fnm = File.join(targetdir, "ACE+TAO-src-#{version}.tar.gz")
199
200
  Net::HTTP.start("download.dre.vanderbilt.edu") do |http|
200
- _fout = File.open(File.join(targetdir, "ACE+TAO-src-#{version}.tar.gz"), "wb")
201
+ _fout = File.open(_fnm, "wb")
201
202
  begin
202
203
  http.request_get("/previous_versions/ACE+TAO-src-#{version}.tar.gz") do |resp|
203
204
  _sndlen = resp.content_length
@@ -217,6 +218,8 @@ THE_END__
217
218
  puts
218
219
  end
219
220
  end
221
+ FileUtils::Verbose.sh("rm -rf #{File.join(targetdir, 'ACE_wrappers')} && tar -xzf #{_fnm} -C #{targetdir}")
222
+ FileUtils::Verbose.sh("rm -f #{_fnm} && tar --format=gnu -czf #{_fnm} -C src ACE_wrappers")
220
223
  end
221
224
 
222
225
  def self.ext_shlibs
@@ -229,4 +232,4 @@ THE_END__
229
232
 
230
233
  end
231
234
 
232
- end
235
+ end
@@ -40,16 +40,18 @@ namespace :r2corba do
40
40
  end
41
41
 
42
42
  task :binbuild => ['r2corba:bin:build', 'r2corba:build_idl'] do
43
- if R2CORBA::Config.is_linux
44
- # create unversioned ACE/TAO lib symlinks
45
- R2CORBA::Ext.ace_shlibs('.so', 'ext').each do |acelib|
46
- acelib_ver = File.expand_path(Dir[acelib+'.*'].first)
47
- ln_s(acelib_ver, acelib)
43
+ unless defined?(JRUBY_VERSION)
44
+ if R2CORBA::Config.is_linux
45
+ # create unversioned ACE/TAO lib symlinks
46
+ R2CORBA::Ext.ace_shlibs('.so', 'ext').each do |acelib|
47
+ acelib_ver = File.expand_path(Dir[acelib+'.*'].first)
48
+ ln_s(acelib_ver, acelib)
49
+ end
50
+ end
51
+ unless R2CORBA::Config.is_win32
52
+ # patch RPATH setting of shared libs
53
+ R2CORBA::Gem.patch_extlib_rpath
48
54
  end
49
- end
50
- unless defined?(JRUBY_VERSION) || R2CORBA::Config.is_win32
51
- # patch RPATH setting of shared libs
52
- R2CORBA::Gem.patch_extlib_rpath
53
55
  end
54
56
  end
55
57
 
@@ -74,7 +76,7 @@ namespace :r2corba do
74
76
  gem.extensions = ['mkrf_conf_taogem.rb']
75
77
  gem.require_paths = %w{lib}
76
78
  gem.executables = []
77
- gem.required_ruby_version = '>= 1.8.6'
79
+ gem.required_ruby_version = '>= 1.9.3'
78
80
  gem.licenses = ['ACE']
79
81
  end
80
82
  R2CORBA::Gem.build_gem(gemspec)
@@ -95,11 +97,11 @@ t_ = file File.join('pkg', "#{R2CORBA::Gem.gem_name('r2corba', R2CORBA::R2CORBA_
95
97
  gem.extensions = ['mkrf_conf_srcgem.rb']
96
98
  gem.require_paths = %w{lib}
97
99
  gem.executables = %w{ridlc rins r2corba}
98
- gem.required_ruby_version = '>= 1.8.6'
100
+ gem.required_ruby_version = '>= 1.9.3'
99
101
  gem.licenses = ['R2CORBA', 'ACE', 'GPL']
100
102
  gem.require_paths << 'ext'
101
- gem.add_dependency 'ridl', '>= 2.2.2'
102
- gem.add_dependency 'rake', '>= 10.0.1'
103
+ gem.add_dependency 'ridl', '~> 2.5'
104
+ gem.add_dependency 'rake', '~> 10.0'
103
105
  gem.rdoc_options << '--exclude=\\.dll' << '--exclude=\\.so' << '--exclude=\\.pidlc'
104
106
  end
105
107
  R2CORBA::Gem.build_gem(gemspec)
@@ -131,16 +133,12 @@ t_ = file File.join('pkg', "#{R2CORBA::Gem.gem_name('r2corba', R2CORBA::R2CORBA_
131
133
  gem.require_paths = %w{ext}
132
134
  gem.executables = []
133
135
  if R2CORBA::Config.rb_ver_major < 2
134
- if R2CORBA::Config.rb_ver_minor > 8
135
- gem.required_ruby_version = '>= 1.9.1'
136
- else
137
- gem.required_ruby_version = '>= 1.8.6'
138
- end
136
+ gem.required_ruby_version = '>= 1.9.3'
139
137
  else
140
138
  gem.required_ruby_version = '>= 2.0.0'
141
139
  end
142
140
  gem.licenses = ['R2CORBA', 'ACE']
143
- gem.rdoc_options << '--exclude=\\.dll' << '--exclude=\\.so' << '--exclude=\\.pidlc'
141
+ gem.rdoc_options << '--exclude=\\.dll' << '--exclude=\\.so'
144
142
  end
145
143
  R2CORBA::Gem.build_gem(gemspec)
146
144
  ensure
@@ -179,17 +177,17 @@ t_ = file File.join('pkg', "#{R2CORBA::Gem.gem_name('r2corba', R2CORBA::R2CORBA_
179
177
  gem.extensions = ['mkrf_conf_bingem.rb']
180
178
  if defined?(JRUBY_VERSION)
181
179
  gem.require_paths << 'jacorb/lib'
182
- gem.required_ruby_version = '>= 1.5.0'
180
+ gem.required_ruby_version = '>= 1.7.0'
183
181
  gem.licenses = ['R2CORBA', 'JacORB']
184
182
  else
185
183
  gem.files << File.join('ext', '.keep') unless ENV['FULL_BINGEM'] # to force installation of ext folder if libs are left out
186
- gem.required_ruby_version = '>= 1.8.6'
184
+ gem.required_ruby_version = '>= 1.9.3'
187
185
  gem.licenses = ['R2CORBA', 'ACE', 'GPL']
188
186
  gem.require_paths << 'ext'
189
187
  end
190
- gem.add_dependency 'ridl', '>= 2.2.2'
191
- gem.add_dependency 'rake', '>= 10.0.1'
192
- gem.rdoc_options << '--exclude=\\.dll' << '--exclude=\\.so'
188
+ gem.add_dependency 'ridl', '~> 2.5'
189
+ gem.add_dependency 'rake', '~> 10.0'
190
+ gem.rdoc_options << '--exclude=\\.dll' << '--exclude=\\.so' << '--exclude=\\.pidlc'
193
191
  end
194
192
  R2CORBA::Gem.build_gem(gemspec)
195
193
  ensure
@@ -202,6 +200,32 @@ t_ = file File.join('pkg', "#{R2CORBA::Gem.gem_name('r2corba', R2CORBA::R2CORBA_
202
200
  end
203
201
  t_.enhance ['mkrf_conf_bingem.rb']
204
202
 
203
+ unless defined?(JRUBY_VERSION) || !R2CORBA::Config.is_win32
204
+ # Devkit faker Gem for binary Windows gems
205
+ t_devkit = file File.join('pkg', "#{R2CORBA::Gem.gem_name('r2corba_devkit', '1.0.0', :devkit)}.gem") => 'lib/rubygems_plugin.rb' do
206
+ # create gemspec
207
+ gemspec = R2CORBA::Gem.define_spec('r2corba_devkit', '1.0.0', :devkit) do |gem|
208
+ gem.summary = %Q{R2CORBA Devkit faker for RubyInstaller Rubies}
209
+ gem.description = %Q{Fake Devkit loader to satisfy stupid RubyInstaller pre-install hook. }
210
+ gem.email = 'mcorino@remedy.nl'
211
+ gem.homepage = "https://osportal.remedy.nl/projects/r2corba"
212
+ gem.authors = ['Martin Corino']
213
+ gem.files = 'lib/rubygems_plugin.rb'
214
+ gem.require_paths = %w{lib}
215
+ gem.executables = []
216
+ gem.extensions = []
217
+ gem.required_ruby_version = '>= 1.9.3'
218
+ gem.licenses = ['R2CORBA']
219
+ end
220
+ R2CORBA::Gem.build_gem(gemspec)
221
+ end
222
+ namespace :r2corba do
223
+ namespace :gem do
224
+ task :devkit => t_devkit.name
225
+ end
226
+ end
227
+ end
228
+
205
229
  desc 'Build R2CORBA gem'
206
230
  if defined?(JRUBY_VERSION)
207
231
  task :gem => 'r2corba:gem:bingem'
@@ -12,10 +12,10 @@
12
12
  #--------------------------------------------------------------------
13
13
 
14
14
  require 'rubygems'
15
+ require 'rubygems/package'
15
16
  begin
16
17
  require 'rubygems/builder'
17
18
  rescue LoadError
18
- require 'rubygems/package'
19
19
  end
20
20
 
21
21
  require File.join(File.dirname(__FILE__), 'config.rb')
@@ -97,7 +97,7 @@ module R2CORBA
97
97
  name = "#{name}#{R2CORBA::Config.rb_ver_major}#{R2CORBA::Config.rb_ver_minor}" if (gemtype == :extbin || (gemtype == :bin && ENV['FULL_BINGEM'])) && !defined?(JRUBY_VERSION)
98
98
  gemspec = ::Gem::Specification.new(name,version.dup)
99
99
  if gemtype == :bin || gemtype == :extbin
100
- gemspec.platform = ::Gem::Platform::CURRENT
100
+ gemspec.platform = defined?(JRUBY_VERSION) ? ::Gem::Platform.new('universal-java') : ::Gem::Platform::CURRENT
101
101
  end
102
102
  gemspec.required_rubygems_version = ::Gem::Requirement.new(">= 0") if gemspec.respond_to? :required_rubygems_version=
103
103
  block.call(gemspec) if block_given?
@@ -109,16 +109,16 @@ module R2CORBA
109
109
  name = "#{name}#{R2CORBA::Config.rb_ver_major}#{R2CORBA::Config.rb_ver_minor}" if (gemtype == :extbin || (gemtype == :bin && ENV['FULL_BINGEM'])) && !defined?(JRUBY_VERSION)
110
110
  gemspec = ::Gem::Specification.new(name,version.dup)
111
111
  if gemtype == :bin || gemtype == :extbin
112
- gemspec.platform = ::Gem::Platform::CURRENT
112
+ gemspec.platform = defined?(JRUBY_VERSION) ? ::Gem::Platform.new('universal-java') : ::Gem::Platform::CURRENT
113
113
  end
114
114
  gemspec.full_name
115
115
  end
116
116
 
117
117
  def self.build_gem(gemspec)
118
- if defined?(::Gem::Builder)
119
- gem_file_name = ::Gem::Builder.new(gemspec).build
120
- else
118
+ if defined?(::Gem::Package) && ::Gem::Package.respond_to?(:build)
121
119
  gem_file_name = ::Gem::Package.build(gemspec)
120
+ else
121
+ gem_file_name = ::Gem::Builder.new(gemspec).build
122
122
  end
123
123
 
124
124
  FileUtils.mkdir_p('pkg')
@@ -0,0 +1 @@
1
+ IOR:000000000000001649444C3A53696D706C655F5365727665723A312E300000000000000100000000000000F4000102000000000B31302E342E302E3132300000DD72000000000027393333343738303132332F6368696C64504F412F00153C344D40243918243D071F1F2A4624281F0000000004000000030000002E0000000000000024323030313A3938323A613037323A313A643236373A653566663A666534393A3130333400DD720000000000030000002E0000000000000023323030313A3938323A613037323A313A333165393A3238393A323764333A343061610000DD7200000000000000000008000000004A4143000000000100000024000000000501000100000002000100010001000F00010109000000020501000100010100
@@ -0,0 +1 @@
1
+ IOR:000000000000002B49444C3A6F6D672E6F72672F436F734E616D696E672F4E616D696E67436F6E746578744578743A312E3000000000000100000000000000EC000102000000000B31302E342E302E3132300000819E00000000001F343034313038373538342F00153C3D480220250C100630463814141B484C1B0000000004000000030000002E0000000000000024323030313A3938323A613037323A313A643236373A653566663A666534393A3130333400819E0000000000030000002E0000000000000023323030313A3938323A613037323A313A333165393A3238393A323764333A343061610000819E00000000000000000008000000004A4143000000000100000024000000000501000100000002000100010001000F00010109000000020501000100010100
@@ -0,0 +1 @@
1
+ corbaname:iiop:localhost:2345/NamingService#.root/base.dir/Hello.ior
@@ -0,0 +1 @@
1
+ IOR:000000000000002B49444C3A6F6D672E6F72672F436F734E616D696E672F4E616D696E67436F6E746578744578743A312E3000000000000100000000000000EC000102000000000B31302E342E302E3132300000092900000000001F323337323634353631312F00153C494137492C05100630463814141B484C1B0000000004000000030000002E0000000000000024323030313A3938323A613037323A313A643236373A653566663A666534393A313033340009290000000000030000002E0000000000000023323030313A3938323A613037323A313A333165393A3238393A323764333A343061610000092900000000000000000008000000004A4143000000000100000024000000000501000100000002000100010001000F00010109000000020501000100010100
@@ -0,0 +1 @@
1
+ IOR:000000000000002B49444C3A6F6D672E6F72672F436F734E616D696E672F4E616D696E67436F6E746578744578743A312E3000000000000100000000000000EC000102000000000B31302E342E302E31323000009E6B00000000001E3834343535353233382F00153D062A3E0C253E100630463814141B484C1B000000000004000000030000002E0000000000000024323030313A3938323A613037323A313A643236373A653566663A666534393A31303334009E6B0000000000030000002E0000000000000023323030313A3938323A613037323A313A333165393A3238393A323764333A3430616100009E6B00000000000000000008000000004A4143000000000100000024000000000501000100000002000100010001000F00010109000000020501000100010100
@@ -0,0 +1 @@
1
+ IOR:000000000000001349444C3A546573742F48656C6C6F3A312E3000000000000100000000000000EC000102000000000B31302E342E302E3132300000A36C00000000001F393531383937373930352F00153D1B0A0C3E3301100630463814141B484C1B0000000004000000030000002E0000000000000024323030313A3938323A613037323A313A643236373A653566663A666534393A3130333400A36C0000000000030000002E0000000000000023323030313A3938323A613037323A313A333165393A3238393A323764333A343061610000A36C00000000000000000008000000004A4143000000000100000024000000000501000100000002000100010001000F00010109000000020501000100010100
@@ -0,0 +1 @@
1
+ IOR:000000000000001349444C3A546573742F48656C6C6F3A312E3000000000000100000000000000EC000102000000000B31302E342E302E3132300000BF9600000000001E3538363738313530372F00153D230419372230100630463814141B484C1B000000000004000000030000002E0000000000000024323030313A3938323A613037323A313A643236373A653566663A666534393A3130333400BF960000000000030000002E0000000000000023323030313A3938323A613037323A313A333165393A3238393A323764333A343061610000BF9600000000000000000008000000004A4143000000000100000024000000000501000100000002000100010001000F00010109000000020501000100010100
@@ -0,0 +1 @@
1
+ IOR:000000000000001349444C3A546573742F48656C6C6F3A312E3000000000000100000000000000EC000102000000000B31302E342E302E3132300000DB6300000000001F353239363136333838312F00153D2A48371A3E35100630463814141B484C1B0000000004000000030000002E0000000000000024323030313A3938323A613037323A313A643236373A653566663A666534393A3130333400DB630000000000030000002E0000000000000023323030313A3938323A613037323A313A333165393A3238393A323764333A343061610000DB6300000000000000000008000000004A4143000000000100000024000000000501000100000002000100010001000F00010109000000020501000100010100
@@ -0,0 +1 @@
1
+ IOR:01000000010000000000000001000000000000007400000001010200140000006d636f2d6d343530302e72656d6564792e6e6c00379300001b00000014010f00525354f0ec615496c303000000000001000000010000000002000000000000000800000001000000004f41540100000018000000010000000100010001000000010001050901010000000000
@@ -0,0 +1 @@
1
+ IOR:000000000000001A49444C3A52656D6564792F546573742F48656C6C6F3A312E300000000000000100000000000000EC000102000000000B31302E342E302E3132300000C58D00000000001F363337303333303031342F00153D383620192325100630463814141B484C1B0000000004000000030000002E0000000000000024323030313A3938323A613037323A313A643236373A653566663A666534393A3130333400C58D0000000000030000002E0000000000000023323030313A3938323A613037323A313A333165393A3238393A323764333A343061610000C58D00000000000000000008000000004A4143000000000100000024000000000501000100000002000100010001000F00010109000000020501000100010100
@@ -0,0 +1 @@
1
+ IOR:000000000000001349444C3A546573742F48656C6C6F3A312E300000000000010000000000000078000102000000000A3132372E302E302E3100270F0000001F363534363339393535382F01153D404701492128100630463814141B484C1B00000000020000000000000008000000004A4143000000000100000024000000000501000100000002000100010001000F00010109000000020501000100010100
File without changes
@@ -0,0 +1 @@
1
+ IOR:000000000000001349444C3A546573742F48656C6C6F3A312E3000000000000100000000000000EC000102000000000B31302E342E302E3132300000903D00000000001F323930353632333934312F00153E001E0548401F100630463814141B484C1B0000000004000000030000002E0000000000000024323030313A3938323A613037323A313A643236373A653566663A666534393A3130333400903D0000000000030000002E0000000000000023323030313A3938323A613037323A313A333165393A3238393A323764333A343061610000903D00000000000000000008000000004A4143000000000100000024000000000501000100000002000100010001000F00010109000000020501000100010100
@@ -0,0 +1 @@
1
+ IOR:000000000000001349444C3A546573742F48656C6C6F3A312E3000000000000100000000000000EC000102000000000B31302E342E302E3132300000D56E00000000001E353430363133303430342F00153E060D2A01064A243D071F1F2A4624281F000000000004000000030000002E0000000000000024323030313A3938323A613037323A313A643236373A653566663A666534393A3130333400D56E0000000000030000002E0000000000000023323030313A3938323A613037323A313A333165393A3238393A323764333A343061610000D56E00000000000000000008000000004A4143000000000100000024000000000501000100000002000100010001000F00010109000000020501000100010100
@@ -0,0 +1 @@
1
+ IOR:000000000000001349444C3A546573742F48656C6C6F3A312E3000000000000100000000000000EC000102000000000B31302E342E302E3132300000A33A00000000001F393639383131313935392F00153E060D29462D22100630463814141B484C1B0000000004000000030000002E0000000000000024323030313A3938323A613037323A313A643236373A653566663A666534393A3130333400A33A0000000000030000002E0000000000000023323030313A3938323A613037323A313A333165393A3238393A323764333A343061610000A33A00000000000000000008000000004A4143000000000100000024000000000501000100000002000100010001000F00010109000000020501000100010100
@@ -16,7 +16,7 @@ module Test
16
16
  interface Hello
17
17
  {
18
18
  /// Return a simple string
19
- string get_string ();
19
+ string get_string (in long tid);
20
20
 
21
21
  /// A method to shutdown the ORB
22
22
  /**
@@ -59,20 +59,25 @@ begin
59
59
 
60
60
  hello_obj = Test::Hello._narrow(obj)
61
61
 
62
- clt_trds = (0..1).collect do |i|
63
- Thread.new(i) do |i_|
64
- 10.times do
65
- the_string = hello_obj.get_string()
66
-
67
- puts "[thread \##{i_}] string returned <#{the_string}>"
68
-
69
- Thread.pass
70
- end
71
- end
62
+ unless defined?(JRUBY_VERSION) && CORBA::Native::Jacorb::MAJOR_VERSION == 3 &&
63
+ ([4,5].include? CORBA::Native::Jacorb::MINOR_VERSION)
64
+ ## JacORB 3.4 introduced a bug which prevents this test from succeeding
65
+ ## JacORB 3.6 will be released with a fix for this
66
+ clt_trds = (0..1).collect do |i|
67
+ Thread.new(i) do |i_|
68
+ 10.times do
69
+ the_string = hello_obj.get_string(i_)
70
+
71
+ puts "[thread \##{i_}] string returned <#{the_string}>"
72
+
73
+ Thread.pass
74
+ end
75
+ end
76
+ end
77
+
78
+ clt_trds.each { |t| t.join }
72
79
  end
73
80
 
74
- clt_trds.each { |t| t.join }
75
-
76
81
  hello_obj.shutdown()
77
82
 
78
83
  assert_not "ERROR: Object is reported nil!", CORBA::is_nil(hello_obj)
@@ -0,0 +1 @@
1
+ IOR:000000000000001349444C3A546573742F48656C6C6F3A312E3000000000000100000000000000EC000102000000000B31302E342E302E3132300000879C00000000001F353536313938323632392F00153E0E101400462A100630463814141B484C1B0000000004000000030000002E0000000000000024323030313A3938323A613037323A313A643236373A653566663A666534393A3130333400879C0000000000030000002E0000000000000023323030313A3938323A613037323A313A333165393A3238393A323764333A343061610000879C00000000000000000008000000004A4143000000000100000024000000000501000100000002000100010001000F00010109000000020501000100010100
@@ -54,8 +54,8 @@ class MyHello < POA::Test::Hello
54
54
  @orb = orb
55
55
  end
56
56
 
57
- def get_string()
58
- "[#{Thread.current}] Hello there!"
57
+ def get_string(tid)
58
+ "[server #{Thread.current}] Hello there thread \##{tid}!"
59
59
  end
60
60
 
61
61
  def shutdown()
@@ -0,0 +1 @@
1
+ IOR:000000000000001349444C3A546573742F48656C6C6F3A312E3000000000000100000000000000EC000102000000000B31302E342E302E3132300000D5FE00000000001E3434383337333531342F00153E1811160D2041100630463814141B484C1B000000000004000000030000002E0000000000000024323030313A3938323A613037323A313A643236373A653566663A666534393A3130333400D5FE0000000000030000002E0000000000000023323030313A3938323A613037323A313A333165393A3238393A323764333A343061610000D5FE00000000000000000008000000004A4143000000000100000024000000000501000100000002000100010001000F00010109000000020501000100010100
@@ -76,9 +76,9 @@ class MyHello < POA::Test::Hello
76
76
 
77
77
  def shutdown()
78
78
  @stop = true
79
+ @wdt.join
79
80
  @watchdog.shutdown()
80
81
  puts %Q{Server - pinged watchdog #{@count} times.}
81
- @wdt.join
82
82
  @orb.shutdown()
83
83
  end
84
84
  end #of servant MyHello
@@ -0,0 +1 @@
1
+ IOR:000000000000001649444C3A546573742F5761746368646F673A312E300000000000000100000000000000EC000102000000000B31302E342E302E3132300000B1F200000000001F393432353932373831382F00153E16060B280A25100630463814141B484C1B0000000004000000030000002E0000000000000024323030313A3938323A613037323A313A643236373A653566663A666534393A3130333400B1F20000000000030000002E0000000000000023323030313A3938323A613037323A313A333165393A3238393A323764333A343061610000B1F200000000000000000008000000004A4143000000000100000024000000000501000100000002000100010001000F00010109000000020501000100010100
@@ -0,0 +1 @@
1
+ IOR:000000000000001349444C3A546573742F48656C6C6F3A312E3000000000000100000000000000EC000102000000000B31302E342E302E3132300000D56200000000001E3335333437393335332F00153E2911101A0E2B100630463814141B484C1B000000000004000000030000002E0000000000000024323030313A3938323A613037323A313A643236373A653566663A666534393A3130333400D5620000000000030000002E0000000000000023323030313A3938323A613037323A313A333165393A3238393A323764333A343061610000D56200000000000000000008000000004A4143000000000100000024000000000501000100000002000100010001000F00010109000000020501000100010100
@@ -0,0 +1 @@
1
+ IOR:000000000000000F49444C3A7061737365723A312E3000000000000100000000000000EC000102000000000B31302E342E302E3132300000E36C00000000001F363832363831393230322F00153E36471E4D0C02100630463814141B484C1B0000000004000000030000002E0000000000000024323030313A3938323A613037323A313A643236373A653566663A666534393A3130333400E36C0000000000030000002E0000000000000023323030313A3938323A613037323A313A333165393A3238393A323764333A343061610000E36C00000000000000000008000000004A4143000000000100000024000000000501000100000002000100010001000F00010109000000020501000100010100
@@ -0,0 +1 @@
1
+ IOR:000000000000001349444C3A436865636B706F696E743A312E3000000000000100000000000000EC000102000000000B31302E342E302E31323000008C7100000000001E3438353639313138332F00153E3F01180C0422100630463814141B484C1B000000000004000000030000002E0000000000000024323030313A3938323A613037323A313A643236373A653566663A666534393A31303334008C710000000000030000002E0000000000000023323030313A3938323A613037323A313A333165393A3238393A323764333A3430616100008C7100000000000000000008000000004A4143000000000100000024000000000501000100000002000100010001000F00010109000000020501000100010100
@@ -0,0 +1 @@
1
+ IOR:000000000000001349444C3A436865636B706F696E743A312E3000000000000100000000000000EC000102000000000B31302E342E302E31323000009C2800000000001F383135393732323639322F00153E463703144914100630463814141B484C1B0000000004000000030000002E0000000000000024323030313A3938323A613037323A313A643236373A653566663A666534393A31303334009C280000000000030000002E0000000000000023323030313A3938323A613037323A313A333165393A3238393A323764333A3430616100009C2800000000000000000008000000004A4143000000000100000024000000000501000100000002000100010001000F00010109000000020501000100010100
@@ -0,0 +1 @@
1
+ IOR:000000000000001349444C3A436865636B706F696E743A312E3000000000000100000000000000EC000102000000000B31302E342E302E3132300000E13A00000000001F363337343233373736342F00153E4C480728062C100630463814141B484C1B0000000004000000030000002E0000000000000024323030313A3938323A613037323A313A643236373A653566663A666534393A3130333400E13A0000000000030000002E0000000000000023323030313A3938323A613037323A313A333165393A3238393A323764333A343061610000E13A00000000000000000008000000004A4143000000000100000024000000000501000100000002000100010001000F00010109000000020501000100010100
@@ -0,0 +1 @@
1
+ IOR:000000000000001049444C3A4163636F756E743A312E30000000000100000000000000EC000102000000000B31302E342E302E313230000086C400000000001F363539393533393232312F00153F044A3D420F48100630463814141B484C1B0000000004000000030000002E0000000000000024323030313A3938323A613037323A313A643236373A653566663A666534393A313033340086C40000000000030000002E0000000000000023323030313A3938323A613037323A313A333165393A3238393A323764333A34306161000086C400000000000000000008000000004A4143000000000100000024000000000501000100000002000100010001000F00010109000000020501000100010100
@@ -0,0 +1 @@
1
+ IOR:000000000000000F49444C3A7061737365723A312E3000000000000100000000000000EC000102000000000B31302E342E302E3132300000BA1000000000001E3936303530333338362F00153F0D100029163C100630463814141B484C1B000000000004000000030000002E0000000000000024323030313A3938323A613037323A313A643236373A653566663A666534393A3130333400BA100000000000030000002E0000000000000023323030313A3938323A613037323A313A333165393A3238393A323764333A343061610000BA1000000000000000000008000000004A4143000000000100000024000000000501000100000002000100010001000F00010109000000020501000100010100
@@ -0,0 +1 @@
1
+ IOR:000000000000002149444C3A4F42565F5472756E63617461626C65546573742F546573743A312E30000000000000000100000000000000EC000102000000000B31302E342E302E3132300000EDFE00000000001F383931373235343132322F00153F15283F151619100630463814141B484C1B0000000004000000030000002E0000000000000024323030313A3938323A613037323A313A643236373A653566663A666534393A3130333400EDFE0000000000030000002E0000000000000023323030313A3938323A613037323A313A333165393A3238393A323764333A343061610000EDFE00000000000000000008000000004A4143000000000100000024000000000501000100000002000100010001000F00010109000000020501000100010100
@@ -0,0 +1 @@
1
+ IOR:000000000000000D49444C3A546573743A312E30000000000000000100000000000000EC000102000000000B31302E342E302E31323000009E6600000000001F333335343335333039362F00153F1E1622381420100630463814141B484C1B0000000004000000030000002E0000000000000024323030313A3938323A613037323A313A643236373A653566663A666534393A31303334009E660000000000030000002E0000000000000023323030313A3938323A613037323A313A333165393A3238393A323764333A3430616100009E6600000000000000000008000000004A4143000000000100000024000000000501000100000002000100010001000F00010109000000020501000100010100
@@ -57,42 +57,51 @@ begin
57
57
 
58
58
  obj = orb.string_to_object(OPTIONS[:iorfile])
59
59
 
60
- id = obj._repository_id # fetches id remotely as obj has not been narrowed
61
- # yet and thus there is no type known yet
60
+ unless defined?(JRUBY_VERSION) && CORBA::Native::Jacorb::MAJOR_VERSION == 3 &&
61
+ ([4,5].include? CORBA::Native::Jacorb::MINOR_VERSION)
62
+ ## JacORB 3.4 introduced an optimization which *requires* use of the Java endorsed dirs
63
+ ## mechanism to replace standard JDK CORBA stubs with the JacORB version in order to
64
+ ## have JacORB process these base methods correctly with DSI servants
65
+ ## JacORB 3.6 may be released with a fix for this
66
+ id = obj._repository_id # fetches id remotely as obj has not been narrowed
67
+ # yet and thus there is no type known yet
62
68
 
63
- assert 'incorrect repository id returned (1)', id == Test::Hello._tc.id
69
+ assert 'incorrect repository id returned (1)', id == Test::Hello._tc.id
64
70
 
65
- STDERR.puts "Got Object reference for [#{id}]"
71
+ STDERR.puts "Got Object reference for [#{id}]"
66
72
 
67
- hello_obj = Test::Hello._narrow(obj)
73
+ hello_obj = Test::Hello._narrow(obj)
68
74
 
69
- id = obj._repository_id # returns locally known id as obj has been narrowed
70
- # and thus type is known
75
+ id = obj._repository_id # returns locally known id as obj has been narrowed
76
+ # and thus type is known
71
77
 
72
- assert 'incorrect repository id returned (2)', id == Test::Hello._tc.id
78
+ assert 'incorrect repository id returned (2)', id == Test::Hello._tc.id
73
79
 
74
- the_string = hello_obj.get_string()
80
+ the_string = hello_obj.get_string()
75
81
 
76
- puts "string returned <#{the_string}>"
82
+ puts "string returned <#{the_string}>"
77
83
 
78
- obj = hello_obj._get_component
84
+ obj = hello_obj._get_component
79
85
 
80
- id = obj._repository_id # fetches id remotely which is doctored by
81
- # overridden servant method
86
+ id = obj._repository_id # fetches id remotely which is doctored by
87
+ # overridden servant method
82
88
 
83
- assert 'original repository id returned', id != Test::Hello._tc.id
89
+ assert 'original repository id returned', id != Test::Hello._tc.id
84
90
 
85
- STDERR.puts "Got Object reference for [#{id}]"
91
+ STDERR.puts "Got Object reference for [#{id}]"
86
92
 
87
- # since _is_a? is also overridden we still get a match on the original id
88
- assert '_is_a? returned FALSE', obj._is_a?(Test::Hello._tc.id)
93
+ # since _is_a? is also overridden we still get a match on the original id
94
+ assert '_is_a? returned FALSE', obj._is_a?(Test::Hello._tc.id)
89
95
 
90
- hello2_obj = Test::Hello._narrow(obj)
96
+ hello2_obj = Test::Hello._narrow(obj)
91
97
 
92
- id = obj._repository_id # returns locally known id as obj has been narrowed
93
- # and thus type is known
98
+ id = obj._repository_id # returns locally known id as obj has been narrowed
99
+ # and thus type is known
94
100
 
95
- assert 'incorrect repository id returned (3)', id == Test::Hello._tc.id
101
+ assert 'incorrect repository id returned (3)', id == Test::Hello._tc.id
102
+ else
103
+ hello2_obj = Test::Hello._narrow(obj)
104
+ end
96
105
 
97
106
  hello2_obj.shutdown()
98
107