r2corba 1.4.1-x86-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (267) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGES +159 -0
  3. data/LICENSE +59 -0
  4. data/README +62 -0
  5. data/THANKS +52 -0
  6. data/bin/r2corba +8 -0
  7. data/bin/r2corba.bat +20 -0
  8. data/bin/ridlc +11 -0
  9. data/bin/ridlc.bat +23 -0
  10. data/bin/rins +7 -0
  11. data/bin/rins.bat +19 -0
  12. data/ext/.keep +0 -0
  13. data/lib/corba/cbase/IORMap.rb +33 -0
  14. data/lib/corba/cbase/ORB.rb +231 -0
  15. data/lib/corba/cbase/Request.rb +134 -0
  16. data/lib/corba/cbase/Streams.rb +129 -0
  17. data/lib/corba/cbase/Stub.rb +19 -0
  18. data/lib/corba/cbase/Typecode.rb +441 -0
  19. data/lib/corba/cbase/Values.rb +129 -0
  20. data/lib/corba/cbase/exception.rb +66 -0
  21. data/lib/corba/cbase/poa.rb +23 -0
  22. data/lib/corba/cbase/policies.rb +78 -0
  23. data/lib/corba/cbase/post_require.rb +14 -0
  24. data/lib/corba/cbase/require.rb +28 -0
  25. data/lib/corba/cmds/base.rb +85 -0
  26. data/lib/corba/cmds/test.rb +30 -0
  27. data/lib/corba/common/Any.rb +91 -0
  28. data/lib/corba/common/IDL.rb +104 -0
  29. data/lib/corba/common/ORB.rb +368 -0
  30. data/lib/corba/common/Object.rb +208 -0
  31. data/lib/corba/common/Request.rb +20 -0
  32. data/lib/corba/common/Servant.rb +108 -0
  33. data/lib/corba/common/Struct.rb +22 -0
  34. data/lib/corba/common/Stub.rb +79 -0
  35. data/lib/corba/common/Typecode.rb +1121 -0
  36. data/lib/corba/common/Union.rb +56 -0
  37. data/lib/corba/common/Values.rb +92 -0
  38. data/lib/corba/common/const.rb +22 -0
  39. data/lib/corba/common/exception.rb +68 -0
  40. data/lib/corba/common/require.rb +27 -0
  41. data/lib/corba/common/version.rb +22 -0
  42. data/lib/corba/idl/BiDirPolicyC.rb +63 -0
  43. data/lib/corba/idl/CosNamingC.rb +461 -0
  44. data/lib/corba/idl/CosNamingS.rb +309 -0
  45. data/lib/corba/idl/IDL.rb +21 -0
  46. data/lib/corba/idl/IORTable.pidl +62 -0
  47. data/lib/corba/idl/IORTableC.rb +117 -0
  48. data/lib/corba/idl/MessagingC.rb +904 -0
  49. data/lib/corba/idl/POAC.rb +930 -0
  50. data/lib/corba/idl/TAO_Ext.pidl +46 -0
  51. data/lib/corba/idl/TAO_ExtC.rb +179 -0
  52. data/lib/corba/idl/r2c_orb.rb +572 -0
  53. data/lib/corba/idl/require.rb +20 -0
  54. data/lib/corba/jbase/Any.rb +273 -0
  55. data/lib/corba/jbase/IORMap.rb +36 -0
  56. data/lib/corba/jbase/ORB.rb +99 -0
  57. data/lib/corba/jbase/Object.rb +98 -0
  58. data/lib/corba/jbase/Request.rb +226 -0
  59. data/lib/corba/jbase/Servant.rb +247 -0
  60. data/lib/corba/jbase/ServerRequest.rb +128 -0
  61. data/lib/corba/jbase/Streams.rb +671 -0
  62. data/lib/corba/jbase/Stub.rb +38 -0
  63. data/lib/corba/jbase/Typecode.rb +520 -0
  64. data/lib/corba/jbase/Values.rb +173 -0
  65. data/lib/corba/jbase/exception.rb +106 -0
  66. data/lib/corba/jbase/poa.rb +229 -0
  67. data/lib/corba/jbase/policies.rb +300 -0
  68. data/lib/corba/jbase/post_require.rb +14 -0
  69. data/lib/corba/jbase/require.rb +86 -0
  70. data/lib/corba/naming.rb +14 -0
  71. data/lib/corba/naming_service.rb +15 -0
  72. data/lib/corba/poa.rb +15 -0
  73. data/lib/corba/policies.rb +18 -0
  74. data/lib/corba/require.rb +17 -0
  75. data/lib/corba/svcs/ins/cos_naming.rb +426 -0
  76. data/lib/corba/svcs/ins/ins.rb +526 -0
  77. data/lib/corba/svcs/ins/naming_service.rb +119 -0
  78. data/lib/corba.rb +16 -0
  79. data/lib/ridlbe/ruby/config.rb +336 -0
  80. data/lib/ridlbe/ruby/orb.pidlc +0 -0
  81. data/lib/ridlbe/ruby/require.rb +16 -0
  82. data/lib/ridlbe/ruby/walker.rb +1582 -0
  83. data/mkrf_conf_bingem.rb +101 -0
  84. data/rakelib/bin.rake +80 -0
  85. data/rakelib/bin.rb +146 -0
  86. data/rakelib/build.rake +87 -0
  87. data/rakelib/config.rake +52 -0
  88. data/rakelib/config.rb +450 -0
  89. data/rakelib/ext.rake +242 -0
  90. data/rakelib/ext.rb +308 -0
  91. data/rakelib/ext_r2tao.rb +232 -0
  92. data/rakelib/gem.rake +212 -0
  93. data/rakelib/gem.rb +146 -0
  94. data/rakelib/package.rake +26 -0
  95. data/rakelib/test.rake +23 -0
  96. data/test/BiDirectional/Test.idl +34 -0
  97. data/test/BiDirectional/client.rb +132 -0
  98. data/test/BiDirectional/run_test.rb +68 -0
  99. data/test/BiDirectional/server.ior +1 -0
  100. data/test/BiDirectional/server.rb +169 -0
  101. data/test/CORBA_Services/Naming/BindingIterator/Test.idl +27 -0
  102. data/test/CORBA_Services/Naming/BindingIterator/client.rb +121 -0
  103. data/test/CORBA_Services/Naming/BindingIterator/ins.ior +1 -0
  104. data/test/CORBA_Services/Naming/BindingIterator/run_test.rb +82 -0
  105. data/test/CORBA_Services/Naming/BindingIterator/server.rb +109 -0
  106. data/test/CORBA_Services/Naming/Corbaname/Test.idl +27 -0
  107. data/test/CORBA_Services/Naming/Corbaname/client.rb +85 -0
  108. data/test/CORBA_Services/Naming/Corbaname/corbaname.ior +1 -0
  109. data/test/CORBA_Services/Naming/Corbaname/ins.ior +1 -0
  110. data/test/CORBA_Services/Naming/Corbaname/run_test.rb +88 -0
  111. data/test/CORBA_Services/Naming/Corbaname/server.rb +135 -0
  112. data/test/CORBA_Services/Naming/Simple/Test.idl +27 -0
  113. data/test/CORBA_Services/Naming/Simple/client.rb +84 -0
  114. data/test/CORBA_Services/Naming/Simple/ins.ior +1 -0
  115. data/test/CORBA_Services/Naming/Simple/run_test.rb +82 -0
  116. data/test/CORBA_Services/Naming/Simple/server.rb +109 -0
  117. data/test/Collocation/Diamond.idl +39 -0
  118. data/test/Collocation/run_test.rb +52 -0
  119. data/test/Collocation/test.rb +195 -0
  120. data/test/Connect_Timeout/Test.idl +27 -0
  121. data/test/Connect_Timeout/client.rb +111 -0
  122. data/test/Connect_Timeout/run_test.rb +52 -0
  123. data/test/DII/Test.idl +27 -0
  124. data/test/DII/client.rb +115 -0
  125. data/test/DII/run_test.rb +69 -0
  126. data/test/DII/server.ior +1 -0
  127. data/test/DII/server.rb +95 -0
  128. data/test/DSI/Test.idl +27 -0
  129. data/test/DSI/client.rb +66 -0
  130. data/test/DSI/run_test.rb +69 -0
  131. data/test/DSI/server.ior +1 -0
  132. data/test/DSI/server.rb +106 -0
  133. data/test/Exceptions/Test.idl +48 -0
  134. data/test/Exceptions/client.rb +118 -0
  135. data/test/Exceptions/run_test.rb +69 -0
  136. data/test/Exceptions/server.ior +1 -0
  137. data/test/Exceptions/server.rb +131 -0
  138. data/test/Hello/Test.idl +27 -0
  139. data/test/Hello/client.rb +78 -0
  140. data/test/Hello/run_test.rb +71 -0
  141. data/test/Hello/server.rb +95 -0
  142. data/test/IDL_Test/Test.idl +113 -0
  143. data/test/IDL_Test/Test_inc.idl +17 -0
  144. data/test/IDL_Test/client.rb +102 -0
  145. data/test/IDL_Test/run_test.rb +69 -0
  146. data/test/IDL_Test/server.ior +1 -0
  147. data/test/IDL_Test/server.rb +99 -0
  148. data/test/IORMap/Test.idl +27 -0
  149. data/test/IORMap/client.rb +73 -0
  150. data/test/IORMap/run_test.rb +69 -0
  151. data/test/IORMap/server.ior +1 -0
  152. data/test/IORMap/server.rb +114 -0
  153. data/test/IORTable/Test.idl +27 -0
  154. data/test/IORTable/client.rb +75 -0
  155. data/test/IORTable/run_test.rb +69 -0
  156. data/test/IORTable/server.ior +1 -0
  157. data/test/IORTable/server.rb +130 -0
  158. data/test/Implicit_Conversion/Test.idl +31 -0
  159. data/test/Implicit_Conversion/client.rb +110 -0
  160. data/test/Implicit_Conversion/run_test.rb +69 -0
  161. data/test/Implicit_Conversion/server.ior +1 -0
  162. data/test/Implicit_Conversion/server.rb +99 -0
  163. data/test/Multi_Threading/Multiple_ORB/Test.idl +27 -0
  164. data/test/Multi_Threading/Multiple_ORB/client.rb +82 -0
  165. data/test/Multi_Threading/Multiple_ORB/run_test.rb +71 -0
  166. data/test/Multi_Threading/Multiple_ORB/server.rb +108 -0
  167. data/test/Multi_Threading/Multiple_ORB/server0.ior +1 -0
  168. data/test/Multi_Threading/Multiple_ORB/server1.ior +1 -0
  169. data/test/Multi_Threading/Simple/Test.idl +27 -0
  170. data/test/Multi_Threading/Simple/client.rb +88 -0
  171. data/test/Multi_Threading/Simple/run_test.rb +69 -0
  172. data/test/Multi_Threading/Simple/server.ior +1 -0
  173. data/test/Multi_Threading/Simple/server.rb +118 -0
  174. data/test/Multi_Threading/Threads/Test.idl +31 -0
  175. data/test/Multi_Threading/Threads/client.rb +80 -0
  176. data/test/Multi_Threading/Threads/run_test.rb +76 -0
  177. data/test/Multi_Threading/Threads/server.ior +1 -0
  178. data/test/Multi_Threading/Threads/server.rb +119 -0
  179. data/test/Multi_Threading/Threads/watchdog.ior +1 -0
  180. data/test/Multi_Threading/Threads/watchdog.rb +87 -0
  181. data/test/Multiple_Servant_Interfaces/Test.idl +34 -0
  182. data/test/Multiple_Servant_Interfaces/client.rb +70 -0
  183. data/test/Multiple_Servant_Interfaces/run_test.rb +69 -0
  184. data/test/Multiple_Servant_Interfaces/server.ior +1 -0
  185. data/test/Multiple_Servant_Interfaces/server.rb +102 -0
  186. data/test/Nil/Test.idl +27 -0
  187. data/test/Nil/run_test.rb +52 -0
  188. data/test/Nil/test.rb +78 -0
  189. data/test/OBV/AbstractInterface/client.rb +179 -0
  190. data/test/OBV/AbstractInterface/run_test.rb +69 -0
  191. data/test/OBV/AbstractInterface/server.ior +1 -0
  192. data/test/OBV/AbstractInterface/server.rb +149 -0
  193. data/test/OBV/AbstractInterface/test.idl +53 -0
  194. data/test/OBV/Custom/OBV.idl +18 -0
  195. data/test/OBV/Custom/OBV_impl.rb +40 -0
  196. data/test/OBV/Custom/client.rb +86 -0
  197. data/test/OBV/Custom/run_test.rb +69 -0
  198. data/test/OBV/Custom/server.ior +1 -0
  199. data/test/OBV/Custom/server.rb +100 -0
  200. data/test/OBV/Simple/OBV.idl +15 -0
  201. data/test/OBV/Simple/OBV_impl.rb +26 -0
  202. data/test/OBV/Simple/client.rb +86 -0
  203. data/test/OBV/Simple/run_test.rb +69 -0
  204. data/test/OBV/Simple/server.ior +1 -0
  205. data/test/OBV/Simple/server.rb +100 -0
  206. data/test/OBV/Simple_Event/Event.idl +15 -0
  207. data/test/OBV/Simple_Event/Event_impl.rb +26 -0
  208. data/test/OBV/Simple_Event/client.rb +86 -0
  209. data/test/OBV/Simple_Event/run_test.rb +69 -0
  210. data/test/OBV/Simple_Event/server.ior +1 -0
  211. data/test/OBV/Simple_Event/server.rb +100 -0
  212. data/test/OBV/Supports/client.rb +116 -0
  213. data/test/OBV/Supports/run_test.rb +69 -0
  214. data/test/OBV/Supports/server.ior +1 -0
  215. data/test/OBV/Supports/server.rb +103 -0
  216. data/test/OBV/Supports/supports.idl +33 -0
  217. data/test/OBV/Supports/supports_impl.rb +57 -0
  218. data/test/OBV/Tree/client.rb +116 -0
  219. data/test/OBV/Tree/run_test.rb +69 -0
  220. data/test/OBV/Tree/server.ior +1 -0
  221. data/test/OBV/Tree/server.rb +117 -0
  222. data/test/OBV/Tree/test.idl +32 -0
  223. data/test/OBV/Truncatable/Extra.idl +27 -0
  224. data/test/OBV/Truncatable/Truncatable.idl +105 -0
  225. data/test/OBV/Truncatable/Truncatable_impl.rb +86 -0
  226. data/test/OBV/Truncatable/client.rb +279 -0
  227. data/test/OBV/Truncatable/run_test.rb +69 -0
  228. data/test/OBV/Truncatable/server.ior +1 -0
  229. data/test/OBV/Truncatable/server.rb +89 -0
  230. data/test/OBV/ValueBox/client.rb +497 -0
  231. data/test/OBV/ValueBox/run_test.rb +69 -0
  232. data/test/OBV/ValueBox/server.ior +1 -0
  233. data/test/OBV/ValueBox/server.rb +271 -0
  234. data/test/OBV/ValueBox/valuebox.idl +101 -0
  235. data/test/OBV/ValueBox/vb_basic.idl +75 -0
  236. data/test/OBV/ValueBox/vb_struct.idl +68 -0
  237. data/test/OBV/ValueBox/vb_union.idl +21 -0
  238. data/test/Object/Test.idl +27 -0
  239. data/test/Object/client.rb +103 -0
  240. data/test/Object/run_test.rb +69 -0
  241. data/test/Object/server.ior +1 -0
  242. data/test/Object/server.rb +126 -0
  243. data/test/POA/Test.idl +27 -0
  244. data/test/POA/run_test.rb +52 -0
  245. data/test/POA/test.rb +112 -0
  246. data/test/Param_Test/Test.idl +182 -0
  247. data/test/Param_Test/client.rb +277 -0
  248. data/test/Param_Test/run_test.rb +69 -0
  249. data/test/Param_Test/server.ior +1 -0
  250. data/test/Param_Test/server.rb +296 -0
  251. data/test/Performance/Simple/Test.idl +27 -0
  252. data/test/Performance/Simple/client.rb +90 -0
  253. data/test/Performance/Simple/run_test.rb +69 -0
  254. data/test/Performance/Simple/server.ior +1 -0
  255. data/test/Performance/Simple/server.rb +95 -0
  256. data/test/Policies/Test.idl +27 -0
  257. data/test/Policies/run_test.rb +52 -0
  258. data/test/Policies/test.rb +144 -0
  259. data/test/Timeout/client.rb +207 -0
  260. data/test/Timeout/run_test.rb +69 -0
  261. data/test/Timeout/server.ior +1 -0
  262. data/test/Timeout/server.rb +109 -0
  263. data/test/Timeout/test.idl +19 -0
  264. data/test/lib/assert.rb +43 -0
  265. data/test/lib/test.rb +542 -0
  266. data/test/test_runner.rb +193 -0
  267. metadata +342 -0
@@ -0,0 +1,497 @@
1
+ #--------------------------------------------------------------------
2
+ #
3
+ # Author: Martin Corino
4
+ #
5
+ # This program is free software; you can redistribute it and/or
6
+ # modify it under the terms of the R2CORBA LICENSE which is
7
+ # included with this program.
8
+ #
9
+ # Copyright (c) Remedy IT Expertise BV
10
+ # Chamber of commerce Rotterdam nr.276339, The Netherlands
11
+ #--------------------------------------------------------------------
12
+
13
+ require 'optparse'
14
+ require 'lib/assert.rb'
15
+ include TestUtil::Assertions
16
+
17
+ OPTIONS = {
18
+ :use_implement => false,
19
+ :orb_debuglevel => 0,
20
+ :iorfile => 'file://server.ior'
21
+ }
22
+
23
+ ARGV.options do |opts|
24
+ script_name = File.basename($0)
25
+ opts.banner = "Usage: ruby #{script_name} [options]"
26
+
27
+ opts.separator ""
28
+
29
+ opts.on("--k IORFILE",
30
+ "Set IOR.",
31
+ "Default: 'file://server.ior'") { |v| OPTIONS[:iorfile]=v }
32
+ opts.on("--d LVL",
33
+ "Set ORBDebugLevel value.",
34
+ "Default: 0") { |v| OPTIONS[:orb_debuglevel]=v }
35
+ opts.on("--use-implement",
36
+ "Load IDL through CORBA.implement() instead of precompiled code.",
37
+ "Default: off") { |v| OPTIONS[:use_implement]=v }
38
+
39
+ opts.separator ""
40
+
41
+ opts.on("-h", "--help",
42
+ "Show this help message.") { puts opts; exit }
43
+
44
+ opts.parse!
45
+ end
46
+
47
+ if OPTIONS[:use_implement]
48
+ require 'corba'
49
+ CORBA.implement('valuebox.idl', OPTIONS)
50
+ else
51
+ require 'valueboxC'
52
+ end
53
+
54
+ ##
55
+
56
+ module Test
57
+ def Test.basic_invocations(test)
58
+ # test boxed value
59
+ p1 = VBlong.new(25)
60
+ p2 = VBlong.new(53)
61
+ p2_out = nil
62
+ p3_out = nil
63
+ retval = nil
64
+
65
+ STDERR.puts '*** basic_op1 (1)'
66
+ retval, p2_out, p3_out = test.basic_op1(p1, p2)
67
+
68
+ assert "basic_invocations:1 failed", (p2_out == (53*3))
69
+ assert "basic_invocations:1 failed", (p3_out == (53*5))
70
+ assert "basic_invocations:1 failed", (retval == (p1.value*3))
71
+
72
+ # test boxed value using implicit conversion of Ruby types
73
+ p1 = 25
74
+ p2 = 53
75
+ p2_out = nil
76
+ p3_out = nil
77
+ retval = nil
78
+
79
+ STDERR.puts '*** basic_op1 (2)'
80
+ retval, p2_out, p3_out = test.basic_op1(p1, p2)
81
+
82
+ assert "basic_invocations:2 failed", (p2_out == (53*3))
83
+ assert "basic_invocations:2 failed", (p3_out == (53*5))
84
+ assert "basic_invocations:2 failed", (retval == (p1*3))
85
+
86
+ # test boxed value using nil
87
+ p1 = nil
88
+ p2 = VBlong.new(53)
89
+ p2_out = nil
90
+ p3_out = nil
91
+ retval = nil
92
+
93
+ STDERR.puts '*** basic_op1 (3)'
94
+ retval, p2_out, p3_out = test.basic_op1(p1, p2)
95
+
96
+ assert "basic_invocations:2 failed", (p2_out == (53*3))
97
+ assert "basic_invocations:2 failed", (p3_out == (53*5))
98
+ assert "basic_invocations:2 failed", (retval.nil?)
99
+
100
+ # test boxed value from nested module
101
+ p1 = Vb_basic::M_VBlong.new(25) # explicit value box
102
+ p2 = 53 # implicitly converted value
103
+ p2_out = nil
104
+ p3_out = nil
105
+ retval = nil
106
+
107
+ retval, p2_out, p3_out = test.basic_op2(p1, p2)
108
+
109
+ assert "basic_invocations:3 failed", (p2_out == (53*3))
110
+ assert "basic_invocations:3 failed", (p3_out == (53*5))
111
+ assert "basic_invocations:3 failed", (retval == (p1.value*3))
112
+
113
+ # test regular Ruby types using values from valueboxes
114
+ p1 = VBlong.new(25)
115
+ p2 = VBlong.new(53)
116
+ p2_out = nil
117
+ p3_out = nil
118
+ retval = nil
119
+
120
+ retval, p2_out, p3_out = test.basic_op3(p1.value, p2.value)
121
+
122
+ assert "basic_invocations:4 failed", (p2_out == (53*3))
123
+ assert "basic_invocations:4 failed", (p3_out == (53*5))
124
+ assert "basic_invocations:4 failed", (retval == (p1.value*3))
125
+ end
126
+
127
+ def Test.boxed_string_invocations(test)
128
+ string1 = "First-string"
129
+ string2 = "Second-string"
130
+
131
+ # Establish that we have data setup correctly...
132
+ assert "boxed_string_invocations:0 failed", (string1 < string2)
133
+ assert "boxed_string_invocations:0 failed", (string2 > string1)
134
+ assert "boxed_string_invocations:0 failed", (string1 == string1)
135
+
136
+ # create valueboxes
137
+ vbstring1 = VBstring.new(string1.dup)
138
+ vbstring2 = VBstring.new(string1.dup)
139
+
140
+ # check valuebox correctness
141
+ assert "boxed_string_invocations:1 failed", (vbstring1.value == string1)
142
+ assert "boxed_string_invocations:1 failed", (vbstring2.value == string1)
143
+
144
+ # test value modifier
145
+ vbstring2.value = string2.dup
146
+ assert "boxed_string_invocations:2 failed", (vbstring2.value == string2)
147
+
148
+ # test invocation with value boxes
149
+ p1 = VBstring.new('string1')
150
+ p2 = VBstring.new('string2')
151
+ assert "boxed_string_invocations:3 failed", (p1.value == 'string1')
152
+ assert "boxed_string_invocations:3 failed", (p2.value == 'string2')
153
+
154
+ p2_out = nil
155
+ p3_out = nil
156
+ retval = nil
157
+ retval, p2_out, p3_out = test.string_op1(p1, p2)
158
+
159
+ assert "boxed_string_invocations:4 failed", (p2_out == '2string')
160
+ assert "boxed_string_invocations:4 failed", (p3_out == '2string')
161
+ assert "boxed_string_invocations:4 failed", (retval == '1string')
162
+
163
+ # test invocation with Ruby types using valuebox values
164
+ assert "boxed_string_invocations:3 failed", (p1.value == 'string1')
165
+ assert "boxed_string_invocations:3 failed", (p2.value == 'string2')
166
+
167
+ p2_out = nil
168
+ p3_out = nil
169
+ retval = nil
170
+ retval, p2_out, p3_out = test.string_op2(p1.value, p2.value)
171
+
172
+ assert "boxed_string_invocations:4 failed", (p2_out == '2string')
173
+ assert "boxed_string_invocations:4 failed", (p3_out == '2string')
174
+ assert "boxed_string_invocations:4 failed", (retval == '1string')
175
+ end
176
+
177
+ def Test.boxed_sequence_invocations(test)
178
+ # basic test
179
+ p1 = VBseqlong.new([101, 202, 303])
180
+ assert "boxed_sequence_invocations:0 failed", (p1.value[0]==101 && p1.value[2]==303)
181
+
182
+ # test invocation with value boxes
183
+ p1 = VBseqlong.new([10, 9, 8, 7])
184
+ p2 = VBseqlong.new([100, 99, 98])
185
+ assert "boxed_sequence_invocations:1 failed", (p1.value[0] == 10 && p1.value[3] == 7)
186
+ assert "boxed_sequence_invocations:1 failed", (p2.value[0] == 100 && p2.value[2] == 98)
187
+
188
+ p2_out = nil
189
+ p3_out = nil
190
+ retval = nil
191
+ retval, p2_out, p3_out = test.seq_op1(p1, p2)
192
+
193
+ p2.value().each_with_index do |e, i|
194
+ assert "boxed_sequence_invocations:2 failed", (p2_out[i] == e*3)
195
+ end
196
+ p2.value().each_with_index do |e, i|
197
+ assert "boxed_sequence_invocations:2 failed", (p3_out[i] == e*5)
198
+ end
199
+ p1.value().each_with_index do |e, i|
200
+ assert "boxed_sequence_invocations:2 failed", (retval[i] == e)
201
+ end
202
+
203
+ # test invocation with Ruby types using valuebox values
204
+ p2_out = nil
205
+ p3_out = nil
206
+ p2_out, p3_out = test.seq_op2(p1.value, p2.value)
207
+
208
+ p2.value().each_with_index do |e, i|
209
+ assert "boxed_sequence_invocations:3 failed", (p2_out[i] == e*3)
210
+ end
211
+ p2.value().each_with_index do |e, i|
212
+ assert "boxed_sequence_invocations:3 failed", (p3_out[i] == e*5)
213
+ end
214
+ end
215
+
216
+ def Test.boxed_struct_invocations(test)
217
+ # basic test
218
+ p1 = VBfixed_struct1.new(
219
+ Fixed_Struct1.new(29,
220
+ Fixed_Struct1::Bstruct.new(117,21)))
221
+
222
+ assert "boxed_struct_invocations:0 failed", (p1.value.is_a?(Fixed_Struct1))
223
+ assert "boxed_struct_invocations:0 failed", (p1.value.l == 29)
224
+ assert "boxed_struct_invocations:0 failed", (p1.value.abstruct.s1 == 117 && p1.value.abstruct.s2 == 21)
225
+
226
+ # test invocation with valueboxes
227
+ p2 = VBfixed_struct1.new(
228
+ Fixed_Struct1.new(92,
229
+ Fixed_Struct1::Bstruct.new(171,12)))
230
+ p2_out = nil
231
+ p3_out = nil
232
+ retval = nil
233
+ retval, p2_out, p3_out = test.struct_op1(p1, p2)
234
+
235
+ assert "boxed_struct_invocations:1 failed", (p2_out.is_a?(Fixed_Struct1))
236
+ assert "boxed_struct_invocations:1 failed", (p2_out.l == (92*3))
237
+ assert "boxed_struct_invocations:1 failed", (p2_out.abstruct.s1 == (171*3) &&
238
+ p2_out.abstruct.s2 == (12*3))
239
+
240
+ assert "boxed_struct_invocations:1 failed", (p3_out.is_a?(Fixed_Struct1))
241
+ assert "boxed_struct_invocations:1 failed", (p3_out.l == (92*5))
242
+ assert "boxed_struct_invocations:1 failed", (p3_out.abstruct.s1 == (171*5) &&
243
+ p3_out.abstruct.s2 == (12*5))
244
+
245
+ assert "boxed_struct_invocations:1 failed", (retval.is_a?(Fixed_Struct1))
246
+ assert "boxed_struct_invocations:1 failed", (retval.l == p1.value.l)
247
+ assert "boxed_struct_invocations:1 failed", (retval.abstruct.s1 == p1.value.abstruct.s1 &&
248
+ retval.abstruct.s2 == p1.value.abstruct.s2)
249
+
250
+ # test invocation with Ruby types using valuebox values
251
+ p2_out, p3_out = test.struct_op2(p1.value, p2_out)
252
+
253
+ assert "boxed_struct_invocations:2 failed", (p2_out.is_a?(Fixed_Struct1))
254
+ assert "boxed_struct_invocations:2 failed", (p2_out.l == (92*3*3))
255
+ assert "boxed_struct_invocations:2 failed", (p2_out.abstruct.s1 == (171*3*3) &&
256
+ p2_out.abstruct.s2 == (12*3*3))
257
+
258
+ assert "boxed_struct_invocations:2 failed", (p3_out.is_a?(Fixed_Struct1))
259
+ assert "boxed_struct_invocations:2 failed", (p3_out.l == p1.value.l)
260
+ assert "boxed_struct_invocations:2 failed", (p3_out.abstruct.s1 == p1.value.abstruct.s1 &&
261
+ p3_out.abstruct.s2 == p1.value.abstruct.s2)
262
+
263
+ # test invocation with valueboxes
264
+ p1 = VBvariable_struct1.new(Variable_Struct1.new(29, 'variable1'))
265
+ p2 = VBvariable_struct1.new(Variable_Struct1.new(37, 'variable2'))
266
+
267
+ assert "boxed_struct_invocations:3 failed", (p1.value.is_a?(Variable_Struct1))
268
+ assert "boxed_struct_invocations:3 failed", (p1.value.l == 29)
269
+ assert "boxed_struct_invocations:3 failed", (p1.value.str == 'variable1')
270
+
271
+ p2_out = nil
272
+ p3_out = nil
273
+ retval = nil
274
+ retval, p2_out, p3_out = test.struct_op3(p1, p2)
275
+
276
+ assert "boxed_struct_invocations:4 failed", (p2_out.is_a?(Variable_Struct1))
277
+ assert "boxed_struct_invocations:4 failed", (p2_out.l == (37*3))
278
+ assert "boxed_struct_invocations:4 failed", (p2_out.str == '2variable')
279
+
280
+ assert "boxed_struct_invocations:4 failed", (p3_out.is_a?(Variable_Struct1))
281
+ assert "boxed_struct_invocations:4 failed", (p3_out.l == (37*3))
282
+ assert "boxed_struct_invocations:4 failed", (p3_out.str == '2variable')
283
+
284
+ assert "boxed_struct_invocations:1 failed", (retval.is_a?(Variable_Struct1))
285
+ assert "boxed_struct_invocations:1 failed", (retval.l == p1.value.l)
286
+ assert "boxed_struct_invocations:1 failed", (retval.str == p1.value.str)
287
+
288
+ # test invocation with Ruby types using valuebox values
289
+ p2_out, p3_out = test.struct_op4(p1.value, p2_out)
290
+
291
+ assert "boxed_struct_invocations:4 failed", (p2_out.is_a?(Variable_Struct1))
292
+ assert "boxed_struct_invocations:4 failed", (p2_out.l == (37*3*3))
293
+ assert "boxed_struct_invocations:4 failed", (p2_out.str == 'e2variabl')
294
+
295
+ assert "boxed_struct_invocations:1 failed", (p3_out.is_a?(Variable_Struct1))
296
+ assert "boxed_struct_invocations:1 failed", (p3_out.l == p1.value.l)
297
+ assert "boxed_struct_invocations:1 failed", (p3_out.str == p1.value.str)
298
+ end
299
+
300
+ def Test.boxed_array_invocations(test)
301
+ # basic test
302
+ p1 = VBlongarray.new([101, 202, 303])
303
+ assert "boxed_array_invocations:0 failed", (p1.value[0]==101 && p1.value[2]==303)
304
+
305
+ # test invocation with value boxes
306
+ p1 = VBlongarray.new([10, 9, 8])
307
+ p2 = VBlongarray.new([100, 99, 98])
308
+ assert "boxed_array_invocations:1 failed", (p1.value[0] == 10 && p1.value[2] == 8)
309
+ assert "boxed_array_invocations:1 failed", (p2.value[0] == 100 && p2.value[2] == 98)
310
+
311
+ p2_out = nil
312
+ p3_out = nil
313
+ retval = nil
314
+ retval, p2_out, p3_out = test.array_op1(p1, p2)
315
+
316
+ p2.value().each_with_index do |e, i|
317
+ assert "boxed_array_invocations:2 failed", (p2_out[i] == e*3)
318
+ end
319
+ p2.value().each_with_index do |e, i|
320
+ assert "boxed_array_invocations:2 failed", (p3_out[i] == e*3)
321
+ end
322
+ p1.value().each_with_index do |e, i|
323
+ assert "boxed_array_invocations:2 failed", (retval[i] == e)
324
+ end
325
+
326
+ # test invocation with Ruby types using valuebox values
327
+ p2_out = nil
328
+ p3_out = nil
329
+ p2_out, p3_out = test.array_op2(p1.value, p2.value)
330
+
331
+ p2.value().each_with_index do |e, i|
332
+ assert "boxed_array_invocations:3 failed", (p2_out[i] == e*3)
333
+ end
334
+ p1.value().each_with_index do |e, i|
335
+ assert "boxed_array_invocations:3 failed", (p3_out[i] == e)
336
+ end
337
+
338
+ # test invocation with value boxes
339
+ p1 = VBstringarray.new(['in string1', 'in string1'])
340
+ p2 = VBstringarray.new(['inout string1', 'inout string1'])
341
+ assert "boxed_array_invocations:4 failed", (p1.value[0] == 'in string1' && p1.value[1] == 'in string1')
342
+ assert "boxed_array_invocations:4 failed", (p2.value[0] == 'inout string1' && p2.value[1] == 'inout string1')
343
+
344
+ p2_out = nil
345
+ p3_out = nil
346
+ retval = nil
347
+ retval, p2_out, p3_out = test.array_op3(p1, p2)
348
+
349
+ p2.value().each_with_index do |e, i|
350
+ assert "boxed_array_invocations:5 failed", (p2_out[i] == '1inout string')
351
+ end
352
+ p2.value().each_with_index do |e, i|
353
+ assert "boxed_array_invocations:5 failed", (p3_out[i] == '1inout string')
354
+ end
355
+ p1.value().each_with_index do |e, i|
356
+ assert "boxed_array_invocations:5 failed", (retval[i] == e)
357
+ end
358
+
359
+ # test invocation with Ruby types using valuebox values
360
+ p2_out = nil
361
+ p3_out = nil
362
+ p2_out, p3_out = test.array_op4(p1.value, p2.value)
363
+
364
+ p2.value().each_with_index do |e, i|
365
+ assert "boxed_array_invocations:6 failed", (p2_out[i] == '1inout string')
366
+ end
367
+ p1.value().each_with_index do |e, i|
368
+ assert "boxed_array_invocations:6 failed", (p3_out[i] == e)
369
+ end
370
+ end
371
+ def Test.boxed_union_invocations(test)
372
+ # basic test
373
+ p1 = VBfixed_union1.new(Fixed_Union1.new)
374
+ p1.value.m1 = 321
375
+ p2 = VBfixed_union1.new(Fixed_Union1.new)
376
+ p2.value.m2 = 789
377
+
378
+ assert "boxed_union_invocations:0 failed", (p1.value.is_a?(Fixed_Union1))
379
+ assert "boxed_union_invocations:0 failed", (p1.value._disc == 1)
380
+ assert "boxed_union_invocations:0 failed", (p1.value.m1 == 321)
381
+
382
+ assert "boxed_union_invocations:0 failed", (p2.value.is_a?(Fixed_Union1))
383
+ assert "boxed_union_invocations:0 failed", (p2.value._disc == 2)
384
+ assert "boxed_union_invocations:0 failed", (p2.value.m1 == 789)
385
+
386
+ # test invocation with valueboxes
387
+ p2_out = nil
388
+ p3_out = nil
389
+ retval = nil
390
+ retval, p2_out, p3_out = test.union_op1(p1, p2)
391
+
392
+ assert "boxed_union_invocations:1 failed", (p2_out.is_a?(Fixed_Union1))
393
+ assert "boxed_union_invocations:1 failed", (p2_out._disc == 2)
394
+ assert "boxed_union_invocations:1 failed", (p2_out.m2 == 789*3)
395
+
396
+ assert "boxed_union_invocations:1 failed", (p3_out.is_a?(Fixed_Union1))
397
+ assert "boxed_union_invocations:1 failed", (p3_out._disc == 1)
398
+ assert "boxed_union_invocations:1 failed", (p3_out.m1 == 321*3)
399
+
400
+ assert "boxed_union_invocations:1 failed", (retval.is_a?(Fixed_Union1))
401
+ assert "boxed_union_invocations:1 failed", (retval._disc == 1)
402
+ assert "boxed_union_invocations:1 failed", (retval.m1 == 321*3)
403
+
404
+ # test invocation with Ruby types using valuebox values
405
+ p2_out = nil
406
+ p3_out = nil
407
+ p2_out, p3_out = test.union_op2(p1.value, p2.value)
408
+
409
+ assert "boxed_union_invocations:1 failed", (p2_out.is_a?(Fixed_Union1))
410
+ assert "boxed_union_invocations:1 failed", (p2_out._disc == 2)
411
+ assert "boxed_union_invocations:1 failed", (p2_out.m2 == 789*3)
412
+
413
+ assert "boxed_union_invocations:1 failed", (p3_out.is_a?(Fixed_Union1))
414
+ assert "boxed_union_invocations:1 failed", (p3_out._disc == 1)
415
+ assert "boxed_union_invocations:1 failed", (p3_out.m1 == 321)
416
+
417
+ # test invocation with valueboxes
418
+ p1 = VBvariable_union1.new(Variable_Union1.new)
419
+ p1.value.m1 = 321
420
+ p2 = VBvariable_union1.new(Variable_Union1.new)
421
+ p2.value.m2 = 'abracadabra'
422
+
423
+ assert "boxed_union_invocations:0 failed", (p1.value.is_a?(Variable_Union1))
424
+ assert "boxed_union_invocations:0 failed", (p1.value._disc == 1)
425
+ assert "boxed_union_invocations:0 failed", (p1.value.m1 == 321)
426
+
427
+ assert "boxed_union_invocations:0 failed", (p2.value.is_a?(Variable_Union1))
428
+ assert "boxed_union_invocations:0 failed", (p2.value._disc == 2)
429
+ assert "boxed_union_invocations:0 failed", (p2.value.m1 == 'abracadabra')
430
+
431
+ p2_out = nil
432
+ p3_out = nil
433
+ retval = nil
434
+ retval, p2_out, p3_out = test.union_op3(p1, p2)
435
+
436
+ assert "boxed_union_invocations:1 failed", (p2_out.is_a?(Variable_Union1))
437
+ assert "boxed_union_invocations:1 failed", (p2_out._disc == 2)
438
+ assert "boxed_union_invocations:1 failed", (p2_out.m2 == 'aabracadabr')
439
+
440
+ assert "boxed_union_invocations:1 failed", (p3_out.is_a?(Variable_Union1))
441
+ assert "boxed_union_invocations:1 failed", (p3_out._disc == 1)
442
+ assert "boxed_union_invocations:1 failed", (p3_out.m1 == 321)
443
+
444
+ assert "boxed_union_invocations:1 failed", (retval.is_a?(Variable_Union1))
445
+ assert "boxed_union_invocations:1 failed", (retval._disc == 1)
446
+ assert "boxed_union_invocations:1 failed", (retval.m1 == 321)
447
+
448
+ # test invocation with Ruby types using valuebox values
449
+ p2_out = nil
450
+ p3_out = nil
451
+ p2_out, p3_out = test.union_op4(p1.value, p2.value)
452
+
453
+ assert "boxed_union_invocations:1 failed", (p2_out.is_a?(Variable_Union1))
454
+ assert "boxed_union_invocations:1 failed", (p2_out._disc == 2)
455
+ assert "boxed_union_invocations:1 failed", (p2_out.m2 == 'aabracadabr')
456
+
457
+ assert "boxed_union_invocations:1 failed", (p3_out.is_a?(Variable_Union1))
458
+ assert "boxed_union_invocations:1 failed", (p3_out._disc == 1)
459
+ assert "boxed_union_invocations:1 failed", (p3_out.m1 == 321)
460
+
461
+ end
462
+ end
463
+
464
+ ##
465
+
466
+ orb = CORBA.ORB_init(["-ORBDebugLevel", OPTIONS[:orb_debuglevel]], 'myORB')
467
+
468
+ begin
469
+ obj = orb.string_to_object(OPTIONS[:iorfile])
470
+
471
+ assert_not 'Object reference is nil.', CORBA::is_nil(obj)
472
+
473
+ test = Test._narrow(obj)
474
+
475
+ # run tests
476
+
477
+ Test.basic_invocations(test)
478
+
479
+ Test.boxed_string_invocations(test)
480
+
481
+ Test.boxed_sequence_invocations(test)
482
+
483
+ Test.boxed_struct_invocations(test)
484
+
485
+ Test.boxed_array_invocations(test)
486
+
487
+ Test.boxed_union_invocations(test)
488
+
489
+ # shutdown test service
490
+
491
+ test.shutdown()
492
+
493
+ ensure
494
+
495
+ orb.destroy()
496
+
497
+ end
@@ -0,0 +1,69 @@
1
+ #--------------------------------------------------------------------
2
+ #
3
+ # Author: Martin Corino
4
+ #
5
+ # This program is free software; you can redistribute it and/or
6
+ # modify it under the terms of the R2CORBA LICENSE which is
7
+ # included with this program.
8
+ #
9
+ # Copyright (c) Remedy IT Expertise BV
10
+ # Chamber of commerce Rotterdam nr.276339, The Netherlands
11
+ #--------------------------------------------------------------------
12
+
13
+ OPTIONS = {
14
+ :debug_opt => '',
15
+ :use_implement => '--use-implement'
16
+ }
17
+
18
+ require 'optparse'
19
+
20
+ ARGV.options do |opts|
21
+ script_name = File.basename($0)
22
+ opts.banner = "Usage: ruby #{script_name} [options]"
23
+
24
+ opts.separator ""
25
+
26
+ opts.on("-d",
27
+ "Run with debugging output.",
28
+ "Default: false") { OPTIONS[:debug_opt] = '--d 10' }
29
+ opts.on("--use-stubs",
30
+ "Use stubs generated by RIDL.",
31
+ "Default: false (uses embedded IDL)") { OPTIONS[:use_implement] = '' }
32
+
33
+ opts.separator ""
34
+
35
+ opts.on("-h", "--help",
36
+ "Show this help message.") { puts opts; exit }
37
+
38
+ opts.parse!
39
+ end
40
+
41
+ require 'lib/test.rb'
42
+ include TestUtil
43
+
44
+ ior_file = 'server.ior'
45
+
46
+ TestUtil.remove_file(ior_file)
47
+
48
+ srv = Test.new
49
+
50
+ exit(255) if !srv.run('server.rb', "--o #{ior_file} #{OPTIONS[:debug_opt]} #{OPTIONS[:use_implement]}")
51
+
52
+ TestUtil.wait_for_file(ior_file, 400)
53
+
54
+ clt = Test.new
55
+
56
+ if !clt.run('client.rb', "--k file://#{ior_file} #{OPTIONS[:debug_opt]} #{OPTIONS[:use_implement]}")
57
+ srv.kill(100)
58
+ exit(255)
59
+ end
60
+
61
+ exrc = clt.wait(400)
62
+
63
+ if exrc ==0
64
+ srv.wait(400)
65
+ else
66
+ srv.wait_term(400)
67
+ end
68
+
69
+ exit(exrc)
@@ -0,0 +1 @@
1
+ IOR:010000000d00000049444c3a546573743a312e300000000001000000000000006c000000010102000d0000003137322e31362e372e3234380000f6051b00000014010f005253549dfe0452dda20c000000000001000000010000000002000000000000000800000001012300004f41540100000018000000010000000100010001000000010001050901010000000000