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,279 @@
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('Extra.idl', OPTIONS)
50
+ else
51
+ require 'ExtraC'
52
+ end
53
+
54
+ orb = CORBA.ORB_init(["-ORBDebugLevel", OPTIONS[:orb_debuglevel]], 'myORB')
55
+
56
+ begin
57
+ # make sure valuetype factories are registered
58
+ OBV_TruncatableTest::BaseValueFactory.get_factory(orb)
59
+ OBV_TruncatableTest::TValue1Factory.get_factory(orb)
60
+ OBV_TruncatableTest::TValue2Factory.get_factory(orb)
61
+ OBV_TruncatableTest::TValue3Factory.get_factory(orb)
62
+ OBV_TruncatableTest::TValue4Factory.get_factory(orb)
63
+ OBV_TruncatableTest::TValue5Factory.get_factory(orb)
64
+ OBV_TruncatableTest::NestedValueFactory.get_factory(orb)
65
+
66
+ obj = orb.string_to_object(OPTIONS[:iorfile])
67
+
68
+ tester = OBV_TruncatableTest::Test._narrow(obj)
69
+
70
+ assert_not 'Object reference is nil.', CORBA::is_nil(tester)
71
+
72
+ if defined?(JRUBY_VERSION)
73
+ STDERR.puts "Skipping. Value type truncation currently not properly supported by JacORB!"
74
+ tester.shutdown
75
+ exit 0
76
+ end
77
+
78
+ # 1.
79
+ v1 = OBV_TruncatableTest::TValue1.new
80
+ v1.basic_data = 9
81
+ v1.data1 = 99
82
+
83
+ desc = "A<-tB, truncate B to A"
84
+ STDERR.print "Case 1: #{desc}: "
85
+
86
+ ov1, odesc = tester.op1("case1", v1, desc)
87
+
88
+ assert '\nERROR: tester.op1 desc FAILED', odesc == "case1: #{desc}"
89
+ assert '\nERROR: tester.op1 ov FAILED' , v1.basic_data == ov1.basic_data
90
+
91
+ STDERR.puts 'passed'
92
+
93
+ # 2.
94
+ v2 = OBV_TruncatableTest::TValue2.new
95
+ v2.basic_data = 9
96
+ v2.data1 = 99
97
+ v2.data2 = 99 * 2
98
+
99
+ desc = "A<-tB<-tC, truncate C to A"
100
+ STDERR.print "Case 2: #{desc}: "
101
+
102
+ ov2, odesc = tester.op1("case2", v2, desc)
103
+
104
+ assert '\nERROR: tester.op1 - 2 desc FAILED', odesc == "case2: #{desc}"
105
+ assert '\nERROR: tester.op1 - 2 ov FAILED' , v2.basic_data == ov2.basic_data
106
+ STDERR.puts 'passed'
107
+
108
+ desc = "A<-tB<-tC, truncate C to B"
109
+ STDERR.print "Case 2b: #{desc}: "
110
+
111
+ otv1, odesc = tester.op2(v2, "case2b", desc)
112
+
113
+ assert '\nERROR: tester.op2 - 2b desc FAILED', odesc == "case2b: #{desc}"
114
+ assert '\nERROR: tester.op2 - 2b otv1 FAILED' , v2.basic_data == otv1.basic_data
115
+ assert '\nERROR: tester.op2 - 2b otv1 FAILED' , v2.data1 == otv1.data1
116
+ STDERR.puts 'passed'
117
+
118
+ # 3.
119
+ itv1b = OBV_TruncatableTest::TValue1.new
120
+ itv1b.basic_data = 7
121
+ itv1b.data1 = 8
122
+
123
+ desc = "A<-tB, truncatable but no truncation"
124
+ STDERR.print "Case 3: #{desc}: "
125
+
126
+ otv1b, odesc = tester.op2(itv1b, "case3", desc)
127
+
128
+ assert '\nERROR: tester.op2 - 3 desc FAILED', odesc == "case3: #{desc}"
129
+ assert '\nERROR: tester.op2 - 3 otv1b FAILED' , itv1b.basic_data == otv1b.basic_data
130
+ assert '\nERROR: tester.op2 - 3 otv1b FAILED' , itv1b.data1 == otv1b.data1
131
+ STDERR.puts 'passed'
132
+
133
+ # 4.
134
+ v3 = OBV_TruncatableTest::TValue3.new
135
+ v3.basic_data = 9
136
+ v3.data1 = 99
137
+ v3.data3 = (99 * 3)
138
+
139
+ begin
140
+ desc = "A<-tB<-C, try truncate C to A, MARSHAL exception"
141
+ STDERR.print "Case 4: #{desc}: "
142
+ ov3, odesc = tester.op1("case4", v3, desc)
143
+ STDERR.puts 'failed'
144
+ rescue CORBA::MARSHAL
145
+ STDERR.puts 'passed'
146
+ end
147
+
148
+ # 5.
149
+ nv = OBV_TruncatableTest::NestedValue.new
150
+ nv.data = 2
151
+
152
+ v5 = OBV_TruncatableTest::TValue5.new
153
+
154
+ v5.basic_data = 9
155
+ v5.nv4 = nv
156
+ v5.data4 = (99 * 4)
157
+ v5.str1 = "str1"
158
+ v5.data5 = (99 * 5)
159
+ v5.nv5 = nv
160
+ v5.str2 = "str2"
161
+
162
+ desc = "A<-tB<-tC, B & C have nested value type, truncate C to A"
163
+ STDERR.print "Case 5: #{desc}: "
164
+ ov5, odesc = tester.op1("case5", v5, desc)
165
+
166
+ assert '\nERROR: tester.op1 - 5 desc FAILED', odesc == "case5: #{desc}"
167
+ assert '\nERROR: tester.op1 - 5 ov5 FAILED' , v5.basic_data == ov5.basic_data
168
+ STDERR.puts 'passed'
169
+
170
+ desc = "A<-tB<-tC, B & C have nested value type, truncate C to B"
171
+ STDERR.print "Case 5b: #{desc}: "
172
+ otv4, odesc = tester.op3("case5b", v5, desc)
173
+
174
+ assert '\nERROR: tester.op3 - 5b desc FAILED', odesc == "case5b: #{desc}"
175
+ assert '\nERROR: tester.op3 - 5b otv4 FAILED' , v5.basic_data == otv4.basic_data
176
+ assert '\nERROR: tester.op3 - 5b otv4.nv4 FAILED' , v5.nv4.data == otv4.nv4.data
177
+ assert '\nERROR: tester.op3 - 5b otv4.data4 FAILED' , v5.data4 == otv4.data4
178
+ STDERR.puts 'passed'
179
+
180
+ # 6.
181
+ iv = OBV_TruncatableTest::TValue6.new
182
+ iv.basic_data = 9
183
+
184
+ desc = "A<-tB, B has no data, truncate B to A"
185
+ STDERR.print "Case 6: #{desc}: "
186
+ ov, odesc = tester.op1("case6", iv, desc)
187
+
188
+ assert '\nERROR: tester.op1 - 6 desc FAILED', odesc == "case6: #{desc}"
189
+ assert '\nERROR: tester.op1 - 6 ov FAILED' , iv.basic_data == ov.basic_data
190
+ STDERR.puts 'passed'
191
+
192
+ # 7.
193
+ v1 = OBV_TruncatableTest::TValue1.new
194
+ v1.basic_data = 8
195
+ v1.data1 = 88
196
+
197
+ v4 = OBV_TruncatableTest::TValue1.new
198
+ v4.basic_data = 9
199
+ v4.data1 = 99
200
+
201
+ nv = OBV_TruncatableTest::NestedValue.new
202
+ nv.data = 2
203
+
204
+ v2 = OBV_TruncatableTest::TValue4.new
205
+ v2.basic_data = 7
206
+ v2.nv4 = nv
207
+ v2.data4 = 77
208
+
209
+ v3 = OBV_TruncatableTest::TValue4.new
210
+ v3.basic_data = 6
211
+ v3.nv4 = nv
212
+ v3.data4 = 66
213
+
214
+ desc = "multiple IN truncatable valuetype parameters"+
215
+ " and return truncatable valuetype"
216
+ STDERR.print "Case 7: #{desc}: "
217
+ ov, odesc = tester.op4("case7", v1, 5, v2, v3, v4, desc)
218
+
219
+ assert '\nERROR: tester.op4 - 7 desc FAILED', odesc == "case7: #{desc}"
220
+ total = 5 * (v1.basic_data + v2.basic_data +
221
+ v3.basic_data + v4.basic_data)
222
+ assert '\nERROR: tester.op4 - 7 ov FAILED' , total == ov.basic_data
223
+ STDERR.puts 'passed'
224
+
225
+ # 8.
226
+ v1 = OBV_TruncatableTest::Extra1.new
227
+ v1.basic_data = 9
228
+ v1.data1 = 99
229
+ v1.edata1 = 1234
230
+
231
+ desc = "A<-tB, truncate unknown B to A"
232
+ STDERR.print "Case 8: #{desc}: "
233
+ ov1, odesc = tester.op2(v1, "case8", desc)
234
+
235
+ assert '\nERROR: tester.op2 - 8 desc FAILED', odesc == "case8: #{desc}"
236
+ assert '\nERROR: tester.op2 - 8 ov1 FAILED' , v1.basic_data == ov1.basic_data &&
237
+ v1.data1 == ov1.data1
238
+ STDERR.puts 'passed'
239
+
240
+ # 9.
241
+ v1 = OBV_TruncatableTest::TValue1.new
242
+ v1.basic_data = 9
243
+ v1.data1 = 99
244
+
245
+ a = CORBA::Any.to_any(v1)
246
+ desc = "A<-tB, known truncatable via Any"
247
+ STDERR.print "Case 9: #{desc}: "
248
+ ov1, odesc = tester.op5(a, "case9", desc)
249
+
250
+ assert '\nERROR: tester.op5 - 9 desc FAILED', odesc == "case9: #{desc}"
251
+ assert '\nERROR: tester.op5 - 9 ov1 FAILED' , v1.basic_data == ov1.basic_data &&
252
+ v1.data1 == ov1.data1
253
+ STDERR.puts 'passed'
254
+
255
+ # 10.
256
+ v1 = OBV_TruncatableTest::Extra1.new
257
+ v1.basic_data = 9
258
+ v1.data1 = 99
259
+ v1.edata1 = 1234
260
+
261
+ a = CORBA::Any.to_any(v1)
262
+ desc = "A<-tB, unknown truncatable via Any"
263
+ STDERR.print "Case 10: #{desc}: "
264
+ ov1, odesc = tester.op5(a, "case10", desc)
265
+
266
+ assert '\nERROR: tester.op5 - 10 desc FAILED', odesc == "case10: #{desc}"
267
+ assert '\nERROR: tester.op5 - 10 ov1 FAILED' , v1.basic_data == ov1.basic_data &&
268
+ v1.data1 == ov1.data1
269
+ STDERR.puts 'passed'
270
+
271
+ # shutdown tester service
272
+
273
+ tester.shutdown()
274
+
275
+ ensure
276
+
277
+ orb.destroy()
278
+
279
+ 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:010000002100000049444c3a4f42565f5472756e63617461626c65546573742f546573743a312e300000000001000000000000006c000000010102650d0000003137322e31362e372e3234380020f0051b00000014010f005253549afe04526cdc02000000000001000000010000005202000000000000000800000001042300004f41540100000018000000010000000100010001000000010001050901010000000000
@@ -0,0 +1,89 @@
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
+
15
+ OPTIONS = {
16
+ :use_implement => false,
17
+ :orb_debuglevel => 0,
18
+ :iorfile => 'server.ior'
19
+ }
20
+
21
+ ARGV.options do |opts|
22
+ script_name = File.basename($0)
23
+ opts.banner = "Usage: ruby #{script_name} [options]"
24
+
25
+ opts.separator ""
26
+
27
+ opts.on("--o IORFILE",
28
+ "Set IOR filename.",
29
+ "Default: 'server.ior'") { |v| OPTIONS[:iorfile]=v }
30
+ opts.on("--d LVL",
31
+ "Set ORBDebugLevel value.",
32
+ "Default: 0") { |v| OPTIONS[:orb_debuglevel]=v }
33
+ opts.on("--use-implement",
34
+ "Load IDL through CORBA.implement() instead of precompiled code.",
35
+ "Default: off") { |v| OPTIONS[:use_implement]=v }
36
+
37
+ opts.separator ""
38
+
39
+ opts.on("-h", "--help",
40
+ "Show this help message.") { puts opts; exit }
41
+
42
+ opts.parse!
43
+ end
44
+
45
+ if OPTIONS[:use_implement]
46
+ require 'corba/poa'
47
+ CORBA.implement('Truncatable.idl', OPTIONS, CORBA::IDL::SERVANT_INTF)
48
+ else
49
+ require 'TruncatableS'
50
+ end
51
+
52
+ require 'Truncatable_impl'
53
+
54
+ orb = CORBA.ORB_init(["-ORBDebugLevel", OPTIONS[:orb_debuglevel]], 'myORB')
55
+
56
+ # make sure valuetype factories are registered
57
+ OBV_TruncatableTest::BaseValueFactory.get_factory(orb)
58
+ OBV_TruncatableTest::TValue1Factory.get_factory(orb)
59
+ OBV_TruncatableTest::TValue4Factory.get_factory(orb)
60
+ OBV_TruncatableTest::NestedValueFactory.get_factory(orb)
61
+
62
+ obj = orb.resolve_initial_references('RootPOA')
63
+
64
+ root_poa = PortableServer::POA._narrow(obj)
65
+
66
+ poa_man = root_poa.the_POAManager
67
+
68
+ poa_man.activate
69
+
70
+ tester = Test_impl.new(orb)
71
+
72
+ obj = tester._this()
73
+
74
+ ior = orb.object_to_string(obj)
75
+
76
+ open(OPTIONS[:iorfile], 'w') { |io|
77
+ io.write ior
78
+ }
79
+
80
+ Signal.trap('INT') do
81
+ puts "SIGINT - shutting down ORB..."
82
+ orb.shutdown()
83
+ end
84
+
85
+ if Signal.list.has_key?('USR2')
86
+ Signal.trap('USR2', 'EXIT')
87
+ end
88
+
89
+ orb.run