ttk 0.1.576

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 (625) hide show
  1. data/AUTHORS +32 -0
  2. data/COPYING +18 -0
  3. data/ChangeLog +4629 -0
  4. data/DATE +1 -0
  5. data/DESCRIPTION +8 -0
  6. data/GUIDELINES +84 -0
  7. data/LGPL +504 -0
  8. data/NEWS +69 -0
  9. data/NORM +85 -0
  10. data/README +206 -0
  11. data/REVISION +1 -0
  12. data/Rakefile +120 -0
  13. data/TODO +23 -0
  14. data/TODO.old +115 -0
  15. data/VERSION +5 -0
  16. data/bin/getopts/ttk.rb +394 -0
  17. data/bin/getopts/ttkd.rb +150 -0
  18. data/bin/getopts/ttkm.rb +71 -0
  19. data/bin/ttk +170 -0
  20. data/bin/ttkd +73 -0
  21. data/bin/ttkm +54 -0
  22. data/doc/html/classes/IO/CutInput.html +159 -0
  23. data/doc/html/classes/IO/Delegator.html +291 -0
  24. data/doc/html/classes/IO/Dispatch.html +204 -0
  25. data/doc/html/classes/IO/Ext.html +118 -0
  26. data/doc/html/classes/IO/ImplExt.html +149 -0
  27. data/doc/html/classes/IO/ImplIndent.html +175 -0
  28. data/doc/html/classes/IO/ImplPrintFile.html +142 -0
  29. data/doc/html/classes/IO/ImplPrintIO.html +143 -0
  30. data/doc/html/classes/IO/InputFilter.html +347 -0
  31. data/doc/html/classes/IO/OutputFilter.html +298 -0
  32. data/doc/html/classes/NilClass.html +198 -0
  33. data/doc/html/classes/SafeEval.html +277 -0
  34. data/doc/html/classes/String.html +245 -0
  35. data/doc/html/classes/SymTbl.html +146 -0
  36. data/doc/html/classes/TTK.html +658 -0
  37. data/doc/html/classes/TTK/AbortStatus.html +211 -0
  38. data/doc/html/classes/TTK/Daemons.html +142 -0
  39. data/doc/html/classes/TTK/Daemons/Daemon.html +170 -0
  40. data/doc/html/classes/TTK/Daemons/Daemon/Logger.html +192 -0
  41. data/doc/html/classes/TTK/Daemons/Master.html +163 -0
  42. data/doc/html/classes/TTK/Daemons/Slave.html +158 -0
  43. data/doc/html/classes/TTK/Dumpers.html +150 -0
  44. data/doc/html/classes/TTK/Dumpers/Dumper.html +461 -0
  45. data/doc/html/classes/TTK/Dumpers/Notif.html +208 -0
  46. data/doc/html/classes/TTK/Dumpers/Xml.html +260 -0
  47. data/doc/html/classes/TTK/Dumpers/Yaml.html +307 -0
  48. data/doc/html/classes/TTK/ErrorStatus.html +133 -0
  49. data/doc/html/classes/TTK/FailStatus.html +195 -0
  50. data/doc/html/classes/TTK/Fetchers.html +135 -0
  51. data/doc/html/classes/TTK/Fetchers/Client.html +229 -0
  52. data/doc/html/classes/TTK/Fetchers/Client/Receiver.html +254 -0
  53. data/doc/html/classes/TTK/Fetchers/Server.html +256 -0
  54. data/doc/html/classes/TTK/Fetchers/Server/Sender.html +241 -0
  55. data/doc/html/classes/TTK/Filters.html +142 -0
  56. data/doc/html/classes/TTK/Filters/BasicLogger.html +187 -0
  57. data/doc/html/classes/TTK/Filters/Filter.html +188 -0
  58. data/doc/html/classes/TTK/Filters/Saver.html +279 -0
  59. data/doc/html/classes/TTK/Loaders.html +115 -0
  60. data/doc/html/classes/TTK/Loaders/BaseNode.html +224 -0
  61. data/doc/html/classes/TTK/Loaders/Loader.html +242 -0
  62. data/doc/html/classes/TTK/Loaders/OYaml.html +161 -0
  63. data/doc/html/classes/TTK/Loaders/Yaml.html +157 -0
  64. data/doc/html/classes/TTK/Loaders/YamlOld.html +155 -0
  65. data/doc/html/classes/TTK/Logger.html +836 -0
  66. data/doc/html/classes/TTK/Logger/Path.html +161 -0
  67. data/doc/html/classes/TTK/Logger/SectionNode.html +925 -0
  68. data/doc/html/classes/TTK/Logger/Severity.html +306 -0
  69. data/doc/html/classes/TTK/Logger/ToTTKLog.html +119 -0
  70. data/doc/html/classes/TTK/Logger/Verbosity.html +278 -0
  71. data/doc/html/classes/TTK/LoggerFactory.html +204 -0
  72. data/doc/html/classes/TTK/Monitors.html +132 -0
  73. data/doc/html/classes/TTK/Monitors/Client.html +261 -0
  74. data/doc/html/classes/TTK/Monitors/Monitor.html +209 -0
  75. data/doc/html/classes/TTK/Monitors/Server.html +288 -0
  76. data/doc/html/classes/TTK/Monitors/Server/Notification.html +118 -0
  77. data/doc/html/classes/TTK/Monitors/Server/Notifier.html +118 -0
  78. data/doc/html/classes/TTK/PassStatus.html +168 -0
  79. data/doc/html/classes/TTK/RunningStatus.html +133 -0
  80. data/doc/html/classes/TTK/Services.html +161 -0
  81. data/doc/html/classes/TTK/Services/DRbService.html +217 -0
  82. data/doc/html/classes/TTK/Services/DRbService/Notification.html +123 -0
  83. data/doc/html/classes/TTK/Services/DRbService/SubTestable.html +197 -0
  84. data/doc/html/classes/TTK/Services/FetcherClient.html +190 -0
  85. data/doc/html/classes/TTK/Services/FetcherServer.html +149 -0
  86. data/doc/html/classes/TTK/Services/MonitorClient.html +190 -0
  87. data/doc/html/classes/TTK/Services/MonitorServer.html +149 -0
  88. data/doc/html/classes/TTK/Services/TesterClient.html +207 -0
  89. data/doc/html/classes/TTK/Services/TesterMaster.html +193 -0
  90. data/doc/html/classes/TTK/Services/TesterMaster/Notification.html +123 -0
  91. data/doc/html/classes/TTK/Services/TesterSlave.html +157 -0
  92. data/doc/html/classes/TTK/Services/TesterSlave/Notification.html +118 -0
  93. data/doc/html/classes/TTK/SkipStatus.html +169 -0
  94. data/doc/html/classes/TTK/StartStatus.html +133 -0
  95. data/doc/html/classes/TTK/Status.html +373 -0
  96. data/doc/html/classes/TTK/StatusException.html +161 -0
  97. data/doc/html/classes/TTK/StatusWithMessage.html +220 -0
  98. data/doc/html/classes/TTK/Strategies.html +356 -0
  99. data/doc/html/classes/TTK/Strategies/Abort.html +161 -0
  100. data/doc/html/classes/TTK/Strategies/Authors.html +170 -0
  101. data/doc/html/classes/TTK/Strategies/Ball.html +200 -0
  102. data/doc/html/classes/TTK/Strategies/Block.html +230 -0
  103. data/doc/html/classes/TTK/Strategies/Bootstrap.html +238 -0
  104. data/doc/html/classes/TTK/Strategies/Checkout.html +201 -0
  105. data/doc/html/classes/TTK/Strategies/Clean.html +160 -0
  106. data/doc/html/classes/TTK/Strategies/Cmd.html +218 -0
  107. data/doc/html/classes/TTK/Strategies/CmdBase.html +312 -0
  108. data/doc/html/classes/TTK/Strategies/Collection.html +282 -0
  109. data/doc/html/classes/TTK/Strategies/Compile.html +199 -0
  110. data/doc/html/classes/TTK/Strategies/Composite.html +541 -0
  111. data/doc/html/classes/TTK/Strategies/Composite/Ordered.html +183 -0
  112. data/doc/html/classes/TTK/Strategies/Configure.html +270 -0
  113. data/doc/html/classes/TTK/Strategies/DistDelegate.html +192 -0
  114. data/doc/html/classes/TTK/Strategies/DistDuplicate.html +221 -0
  115. data/doc/html/classes/TTK/Strategies/DistStrategy.html +224 -0
  116. data/doc/html/classes/TTK/Strategies/Distribute.html +163 -0
  117. data/doc/html/classes/TTK/Strategies/Error.html +161 -0
  118. data/doc/html/classes/TTK/Strategies/Extract.html +179 -0
  119. data/doc/html/classes/TTK/Strategies/Fail.html +161 -0
  120. data/doc/html/classes/TTK/Strategies/Fetch.html +400 -0
  121. data/doc/html/classes/TTK/Strategies/Fetcher.html +276 -0
  122. data/doc/html/classes/TTK/Strategies/Glob.html +201 -0
  123. data/doc/html/classes/TTK/Strategies/IOBased.html +400 -0
  124. data/doc/html/classes/TTK/Strategies/Import.html +215 -0
  125. data/doc/html/classes/TTK/Strategies/JUnit.html +623 -0
  126. data/doc/html/classes/TTK/Strategies/KillAll.html +249 -0
  127. data/doc/html/classes/TTK/Strategies/Make.html +235 -0
  128. data/doc/html/classes/TTK/Strategies/Make/All.html +120 -0
  129. data/doc/html/classes/TTK/Strategies/Make/Check.html +120 -0
  130. data/doc/html/classes/TTK/Strategies/Make/Default.html +155 -0
  131. data/doc/html/classes/TTK/Strategies/Make/DistCheck.html +120 -0
  132. data/doc/html/classes/TTK/Strategies/Make/Install.html +120 -0
  133. data/doc/html/classes/TTK/Strategies/Make/Target.html +179 -0
  134. data/doc/html/classes/TTK/Strategies/Package.html +271 -0
  135. data/doc/html/classes/TTK/Strategies/PackageCollection.html +168 -0
  136. data/doc/html/classes/TTK/Strategies/Pass.html +161 -0
  137. data/doc/html/classes/TTK/Strategies/Pool.html +306 -0
  138. data/doc/html/classes/TTK/Strategies/Pool/PoolComponent.html +139 -0
  139. data/doc/html/classes/TTK/Strategies/ProbabilityThreshold.html +187 -0
  140. data/doc/html/classes/TTK/Strategies/Proxy.html +211 -0
  141. data/doc/html/classes/TTK/Strategies/RUnit.html +355 -0
  142. data/doc/html/classes/TTK/Strategies/RemoteCmd.html +213 -0
  143. data/doc/html/classes/TTK/Strategies/SignalCmd.html +269 -0
  144. data/doc/html/classes/TTK/Strategies/Sleep.html +193 -0
  145. data/doc/html/classes/TTK/Strategies/SqlQuery.html +248 -0
  146. data/doc/html/classes/TTK/Strategies/Strategy.html +2847 -0
  147. data/doc/html/classes/TTK/Strategies/Strategy/AssertEval.html +233 -0
  148. data/doc/html/classes/TTK/Strategies/Strategy/AttributedClass.html +107 -0
  149. data/doc/html/classes/TTK/Strategies/Strategy/AttributedClass/Attribute.html +246 -0
  150. data/doc/html/classes/TTK/Strategies/Strategy/Failure.html +121 -0
  151. data/doc/html/classes/TTK/Strategies/Stub.html +179 -0
  152. data/doc/html/classes/TTK/Strategies/SubCmd.html +243 -0
  153. data/doc/html/classes/TTK/Strategies/Suite.html +182 -0
  154. data/doc/html/classes/TTK/Strategies/Test.html +310 -0
  155. data/doc/html/classes/TTK/Strategies/Tester.html +218 -0
  156. data/doc/html/classes/TTK/Streams.html +116 -0
  157. data/doc/html/classes/TTK/Streams/Diff.html +148 -0
  158. data/doc/html/classes/TTK/Streams/Stream.html +295 -0
  159. data/doc/html/classes/TTK/SymTbl.html +266 -0
  160. data/doc/html/classes/TTK/TTKException.html +118 -0
  161. data/doc/html/classes/TTK/TTKModule.html +145 -0
  162. data/doc/html/classes/TTK/Testers.html +156 -0
  163. data/doc/html/classes/TTK/Testers/Master.html +304 -0
  164. data/doc/html/classes/TTK/Testers/Slave.html +120 -0
  165. data/doc/html/classes/TTK/Testers/Tester.html +547 -0
  166. data/doc/html/classes/TTK/Testers/Tester/Config.html +310 -0
  167. data/doc/html/classes/TTK/Testers/Tester/Notification.html +123 -0
  168. data/doc/html/classes/TTK/Testers/Tester/Notifier.html +118 -0
  169. data/doc/html/classes/TTK/Testers/Tester/QueryNode.html +341 -0
  170. data/doc/html/classes/TTK/Testers/Tester/RemoteStatus.html +165 -0
  171. data/doc/html/classes/TTK/Testers/Tester/RunningTask.html +262 -0
  172. data/doc/html/classes/TTK/Testers/Tester/Score.html +198 -0
  173. data/doc/html/classes/TTK/TimeoutAbortStatus.html +161 -0
  174. data/doc/html/classes/TTK/Tools.html +111 -0
  175. data/doc/html/classes/TTK/Tools/HostDispatcher.html +246 -0
  176. data/doc/html/classes/TTK/Weights.html +160 -0
  177. data/doc/html/classes/TTK/Weights/WExpr.html +326 -0
  178. data/doc/html/classes/TTK/Weights/WFloat.html +149 -0
  179. data/doc/html/classes/TTK/Weights/WMin.html +148 -0
  180. data/doc/html/classes/TTK/Weights/Weight.html +624 -0
  181. data/doc/html/created.rid +1 -0
  182. data/doc/html/files/AUTHORS.html +198 -0
  183. data/doc/html/files/NEWS.html +236 -0
  184. data/doc/html/files/README.html +435 -0
  185. data/doc/html/files/TODO.html +128 -0
  186. data/doc/html/files/lib/ttk/Tools/HostDispatcher_rb.html +126 -0
  187. data/doc/html/files/lib/ttk/Tools/SafeEval_rb.html +119 -0
  188. data/doc/html/files/lib/ttk/Tools/cut_output_rb.html +126 -0
  189. data/doc/html/files/lib/ttk/Tools/io/delegator_rb.html +127 -0
  190. data/doc/html/files/lib/ttk/Tools/io/dispatch_rb.html +127 -0
  191. data/doc/html/files/lib/ttk/Tools/io/ext_rb.html +126 -0
  192. data/doc/html/files/lib/ttk/Tools/io/filters_rb.html +127 -0
  193. data/doc/html/files/lib/ttk/daemons/Daemon_rb.html +126 -0
  194. data/doc/html/files/lib/ttk/daemons/Master_rb.html +119 -0
  195. data/doc/html/files/lib/ttk/daemons/Slave_rb.html +119 -0
  196. data/doc/html/files/lib/ttk/daemons/daemon/logger_rb.html +126 -0
  197. data/doc/html/files/lib/ttk/dumpers/Dumper_rb.html +119 -0
  198. data/doc/html/files/lib/ttk/dumpers/Notif_rb.html +119 -0
  199. data/doc/html/files/lib/ttk/dumpers/Xml_rb.html +126 -0
  200. data/doc/html/files/lib/ttk/dumpers/Yaml_rb.html +119 -0
  201. data/doc/html/files/lib/ttk/fetchers/Client_rb.html +126 -0
  202. data/doc/html/files/lib/ttk/fetchers/Server_rb.html +126 -0
  203. data/doc/html/files/lib/ttk/fetchers/client/receiver_rb.html +127 -0
  204. data/doc/html/files/lib/ttk/fetchers/server/sender_rb.html +127 -0
  205. data/doc/html/files/lib/ttk/filters/BasicLogger_rb.html +126 -0
  206. data/doc/html/files/lib/ttk/filters/Filter_rb.html +119 -0
  207. data/doc/html/files/lib/ttk/filters/Saver_rb.html +119 -0
  208. data/doc/html/files/lib/ttk/loaders/Loader_rb.html +119 -0
  209. data/doc/html/files/lib/ttk/loaders/OYaml_rb.html +126 -0
  210. data/doc/html/files/lib/ttk/loaders/YamlOld_rb.html +126 -0
  211. data/doc/html/files/lib/ttk/loaders/Yaml_rb.html +126 -0
  212. data/doc/html/files/lib/ttk/logger/path_rb.html +119 -0
  213. data/doc/html/files/lib/ttk/logger/section_node_rb.html +119 -0
  214. data/doc/html/files/lib/ttk/logger/severity_rb.html +119 -0
  215. data/doc/html/files/lib/ttk/logger/to_ttk_log_rb.html +119 -0
  216. data/doc/html/files/lib/ttk/logger/verbosity_rb.html +119 -0
  217. data/doc/html/files/lib/ttk/logger_factory_rb.html +119 -0
  218. data/doc/html/files/lib/ttk/logger_rb.html +131 -0
  219. data/doc/html/files/lib/ttk/monitors/Client_rb.html +119 -0
  220. data/doc/html/files/lib/ttk/monitors/Monitor_rb.html +127 -0
  221. data/doc/html/files/lib/ttk/monitors/Server_rb.html +126 -0
  222. data/doc/html/files/lib/ttk/services/DRbService/sub_testable_rb.html +119 -0
  223. data/doc/html/files/lib/ttk/services/DRbService_rb.html +126 -0
  224. data/doc/html/files/lib/ttk/services/FetcherClient_rb.html +119 -0
  225. data/doc/html/files/lib/ttk/services/FetcherServer_rb.html +119 -0
  226. data/doc/html/files/lib/ttk/services/MonitorClient_rb.html +119 -0
  227. data/doc/html/files/lib/ttk/services/MonitorServer_rb.html +119 -0
  228. data/doc/html/files/lib/ttk/services/TesterClient_rb.html +119 -0
  229. data/doc/html/files/lib/ttk/services/TesterMaster_rb.html +119 -0
  230. data/doc/html/files/lib/ttk/services/TesterSlave_rb.html +119 -0
  231. data/doc/html/files/lib/ttk/status_rb.html +119 -0
  232. data/doc/html/files/lib/ttk/strategies/Abort_rb.html +119 -0
  233. data/doc/html/files/lib/ttk/strategies/Authors_rb.html +119 -0
  234. data/doc/html/files/lib/ttk/strategies/Ball_rb.html +119 -0
  235. data/doc/html/files/lib/ttk/strategies/Block_rb.html +119 -0
  236. data/doc/html/files/lib/ttk/strategies/Bootstrap_rb.html +119 -0
  237. data/doc/html/files/lib/ttk/strategies/Checkout_rb.html +127 -0
  238. data/doc/html/files/lib/ttk/strategies/Clean_rb.html +119 -0
  239. data/doc/html/files/lib/ttk/strategies/CmdBase_rb.html +119 -0
  240. data/doc/html/files/lib/ttk/strategies/Cmd_rb.html +119 -0
  241. data/doc/html/files/lib/ttk/strategies/Collection_rb.html +119 -0
  242. data/doc/html/files/lib/ttk/strategies/Compile_rb.html +119 -0
  243. data/doc/html/files/lib/ttk/strategies/Composite_rb.html +119 -0
  244. data/doc/html/files/lib/ttk/strategies/Configure_rb.html +119 -0
  245. data/doc/html/files/lib/ttk/strategies/DistDelegate_rb.html +119 -0
  246. data/doc/html/files/lib/ttk/strategies/DistDuplicate_rb.html +119 -0
  247. data/doc/html/files/lib/ttk/strategies/DistStrategy_rb.html +119 -0
  248. data/doc/html/files/lib/ttk/strategies/Distribute_rb.html +119 -0
  249. data/doc/html/files/lib/ttk/strategies/Error_rb.html +119 -0
  250. data/doc/html/files/lib/ttk/strategies/Extract_rb.html +126 -0
  251. data/doc/html/files/lib/ttk/strategies/Fail_rb.html +119 -0
  252. data/doc/html/files/lib/ttk/strategies/Fetch_rb.html +127 -0
  253. data/doc/html/files/lib/ttk/strategies/Fetcher_rb.html +126 -0
  254. data/doc/html/files/lib/ttk/strategies/Glob_rb.html +119 -0
  255. data/doc/html/files/lib/ttk/strategies/IOBased_rb.html +119 -0
  256. data/doc/html/files/lib/ttk/strategies/Import_rb.html +119 -0
  257. data/doc/html/files/lib/ttk/strategies/JUnit_rb.html +119 -0
  258. data/doc/html/files/lib/ttk/strategies/KillAll_rb.html +119 -0
  259. data/doc/html/files/lib/ttk/strategies/Make_rb.html +119 -0
  260. data/doc/html/files/lib/ttk/strategies/PackageCollection_rb.html +126 -0
  261. data/doc/html/files/lib/ttk/strategies/Package_rb.html +119 -0
  262. data/doc/html/files/lib/ttk/strategies/Pass_rb.html +119 -0
  263. data/doc/html/files/lib/ttk/strategies/Pool_rb.html +119 -0
  264. data/doc/html/files/lib/ttk/strategies/ProbabilityThreshold_rb.html +119 -0
  265. data/doc/html/files/lib/ttk/strategies/Proxy_rb.html +119 -0
  266. data/doc/html/files/lib/ttk/strategies/RUnit_rb.html +127 -0
  267. data/doc/html/files/lib/ttk/strategies/RemoteCmd_rb.html +126 -0
  268. data/doc/html/files/lib/ttk/strategies/SignalCmd_rb.html +119 -0
  269. data/doc/html/files/lib/ttk/strategies/Sleep_rb.html +119 -0
  270. data/doc/html/files/lib/ttk/strategies/SqlQuery_rb.html +126 -0
  271. data/doc/html/files/lib/ttk/strategies/Strategy/assert_eval_rb.html +127 -0
  272. data/doc/html/files/lib/ttk/strategies/Strategy_rb.html +131 -0
  273. data/doc/html/files/lib/ttk/strategies/Streams/Diff_rb.html +119 -0
  274. data/doc/html/files/lib/ttk/strategies/Streams/Stream_rb.html +126 -0
  275. data/doc/html/files/lib/ttk/strategies/Stub_rb.html +119 -0
  276. data/doc/html/files/lib/ttk/strategies/SubCmd_rb.html +119 -0
  277. data/doc/html/files/lib/ttk/strategies/Suite_rb.html +119 -0
  278. data/doc/html/files/lib/ttk/strategies/Test_rb.html +127 -0
  279. data/doc/html/files/lib/ttk/strategies/Tester_rb.html +126 -0
  280. data/doc/html/files/lib/ttk/symtbl_rb.html +126 -0
  281. data/doc/html/files/lib/ttk/testers/Master_rb.html +119 -0
  282. data/doc/html/files/lib/ttk/testers/Slave_rb.html +119 -0
  283. data/doc/html/files/lib/ttk/testers/Tester_rb.html +131 -0
  284. data/doc/html/files/lib/ttk/testers/tester/config_rb.html +126 -0
  285. data/doc/html/files/lib/ttk/testers/tester/notifier_rb.html +119 -0
  286. data/doc/html/files/lib/ttk/testers/tester/query_node_rb.html +126 -0
  287. data/doc/html/files/lib/ttk/testers/tester/remote_status_rb.html +119 -0
  288. data/doc/html/files/lib/ttk/testers/tester/running_task_rb.html +119 -0
  289. data/doc/html/files/lib/ttk/testers/tester/score_rb.html +119 -0
  290. data/doc/html/files/lib/ttk/weights/WExpr_rb.html +119 -0
  291. data/doc/html/files/lib/ttk/weights/WFloat_rb.html +119 -0
  292. data/doc/html/files/lib/ttk/weights/WMin_rb.html +119 -0
  293. data/doc/html/files/lib/ttk/weights/Weight_rb.html +126 -0
  294. data/doc/html/files/lib/ttk_rb.html +146 -0
  295. data/doc/html/files/lib/ttkd_rb.html +131 -0
  296. data/doc/html/files/template/README.html +160 -0
  297. data/doc/html/files/test/examples/README.html +190 -0
  298. data/doc/html/fr_class_index.html +186 -0
  299. data/doc/html/fr_file_index.html +147 -0
  300. data/doc/html/fr_method_index.html +581 -0
  301. data/doc/html/index.html +24 -0
  302. data/doc/html/rdoc-style.css +208 -0
  303. data/lib/ttk.rb +111 -0
  304. data/lib/ttk/Tools/HostDispatcher.rb +44 -0
  305. data/lib/ttk/Tools/SafeEval.rb +64 -0
  306. data/lib/ttk/Tools/cut_output.rb +35 -0
  307. data/lib/ttk/Tools/io/delegator.rb +88 -0
  308. data/lib/ttk/Tools/io/dispatch.rb +31 -0
  309. data/lib/ttk/Tools/io/ext.rb +70 -0
  310. data/lib/ttk/Tools/io/filters.rb +71 -0
  311. data/lib/ttk/daemons/Daemon.rb +34 -0
  312. data/lib/ttk/daemons/Master.rb +34 -0
  313. data/lib/ttk/daemons/Slave.rb +29 -0
  314. data/lib/ttk/daemons/daemon/logger.rb +57 -0
  315. data/lib/ttk/dumpers/Dumper.rb +81 -0
  316. data/lib/ttk/dumpers/Notif.rb +33 -0
  317. data/lib/ttk/dumpers/Xml.rb +112 -0
  318. data/lib/ttk/dumpers/Yaml.rb +159 -0
  319. data/lib/ttk/fetchers/Client.rb +41 -0
  320. data/lib/ttk/fetchers/Server.rb +49 -0
  321. data/lib/ttk/fetchers/client/receiver.rb +62 -0
  322. data/lib/ttk/fetchers/server/sender.rb +69 -0
  323. data/lib/ttk/filters/BasicLogger.rb +30 -0
  324. data/lib/ttk/filters/Filter.rb +24 -0
  325. data/lib/ttk/filters/Saver.rb +60 -0
  326. data/lib/ttk/loaders/Loader.rb +123 -0
  327. data/lib/ttk/loaders/OYaml.rb +60 -0
  328. data/lib/ttk/loaders/Yaml.rb +74 -0
  329. data/lib/ttk/loaders/YamlOld.rb +65 -0
  330. data/lib/ttk/logger.rb +237 -0
  331. data/lib/ttk/logger/path.rb +23 -0
  332. data/lib/ttk/logger/section_node.rb +214 -0
  333. data/lib/ttk/logger/severity.rb +62 -0
  334. data/lib/ttk/logger/to_ttk_log.rb +83 -0
  335. data/lib/ttk/logger/verbosity.rb +61 -0
  336. data/lib/ttk/logger_factory.rb +50 -0
  337. data/lib/ttk/monitors/Client.rb +61 -0
  338. data/lib/ttk/monitors/Monitor.rb +50 -0
  339. data/lib/ttk/monitors/Server.rb +73 -0
  340. data/lib/ttk/services/DRbService.rb +45 -0
  341. data/lib/ttk/services/DRbService/sub_testable.rb +41 -0
  342. data/lib/ttk/services/FetcherClient.rb +31 -0
  343. data/lib/ttk/services/FetcherServer.rb +23 -0
  344. data/lib/ttk/services/MonitorClient.rb +31 -0
  345. data/lib/ttk/services/MonitorServer.rb +23 -0
  346. data/lib/ttk/services/TesterClient.rb +38 -0
  347. data/lib/ttk/services/TesterMaster.rb +40 -0
  348. data/lib/ttk/services/TesterSlave.rb +31 -0
  349. data/lib/ttk/status.rb +190 -0
  350. data/lib/ttk/strategies/Abort.rb +24 -0
  351. data/lib/ttk/strategies/Authors.rb +43 -0
  352. data/lib/ttk/strategies/Ball.rb +68 -0
  353. data/lib/ttk/strategies/Block.rb +95 -0
  354. data/lib/ttk/strategies/Bootstrap.rb +52 -0
  355. data/lib/ttk/strategies/Checkout.rb +53 -0
  356. data/lib/ttk/strategies/Clean.rb +29 -0
  357. data/lib/ttk/strategies/Cmd.rb +55 -0
  358. data/lib/ttk/strategies/CmdBase.rb +103 -0
  359. data/lib/ttk/strategies/Collection.rb +131 -0
  360. data/lib/ttk/strategies/Compile.rb +56 -0
  361. data/lib/ttk/strategies/Composite.rb +173 -0
  362. data/lib/ttk/strategies/Configure.rb +64 -0
  363. data/lib/ttk/strategies/DistDelegate.rb +45 -0
  364. data/lib/ttk/strategies/DistDuplicate.rb +64 -0
  365. data/lib/ttk/strategies/DistStrategy.rb +42 -0
  366. data/lib/ttk/strategies/Distribute.rb +39 -0
  367. data/lib/ttk/strategies/Error.rb +23 -0
  368. data/lib/ttk/strategies/Extract.rb +45 -0
  369. data/lib/ttk/strategies/Fail.rb +26 -0
  370. data/lib/ttk/strategies/Fetch.rb +124 -0
  371. data/lib/ttk/strategies/Fetcher.rb +74 -0
  372. data/lib/ttk/strategies/Glob.rb +48 -0
  373. data/lib/ttk/strategies/IOBased.rb +156 -0
  374. data/lib/ttk/strategies/Import.rb +45 -0
  375. data/lib/ttk/strategies/JUnit.rb +205 -0
  376. data/lib/ttk/strategies/KillAll.rb +59 -0
  377. data/lib/ttk/strategies/Make.rb +94 -0
  378. data/lib/ttk/strategies/Package.rb +128 -0
  379. data/lib/ttk/strategies/PackageCollection.rb +72 -0
  380. data/lib/ttk/strategies/Pass.rb +24 -0
  381. data/lib/ttk/strategies/Pool.rb +99 -0
  382. data/lib/ttk/strategies/ProbabilityThreshold.rb +42 -0
  383. data/lib/ttk/strategies/Proxy.rb +42 -0
  384. data/lib/ttk/strategies/RUnit.rb +170 -0
  385. data/lib/ttk/strategies/RemoteCmd.rb +48 -0
  386. data/lib/ttk/strategies/SignalCmd.rb +85 -0
  387. data/lib/ttk/strategies/Sleep.rb +36 -0
  388. data/lib/ttk/strategies/SqlQuery.rb +120 -0
  389. data/lib/ttk/strategies/Strategy.rb +606 -0
  390. data/lib/ttk/strategies/Strategy/assert_eval.rb +53 -0
  391. data/lib/ttk/strategies/Streams/Diff.rb +60 -0
  392. data/lib/ttk/strategies/Streams/Stream.rb +133 -0
  393. data/lib/ttk/strategies/Stub.rb +35 -0
  394. data/lib/ttk/strategies/SubCmd.rb +58 -0
  395. data/lib/ttk/strategies/Suite.rb +118 -0
  396. data/lib/ttk/strategies/Test.rb +88 -0
  397. data/lib/ttk/strategies/Tester.rb +59 -0
  398. data/lib/ttk/symtbl.rb +115 -0
  399. data/lib/ttk/testers/Master.rb +69 -0
  400. data/lib/ttk/testers/Slave.rb +19 -0
  401. data/lib/ttk/testers/Tester.rb +134 -0
  402. data/lib/ttk/testers/tester/config.rb +65 -0
  403. data/lib/ttk/testers/tester/notifier.rb +24 -0
  404. data/lib/ttk/testers/tester/query_node.rb +91 -0
  405. data/lib/ttk/testers/tester/remote_status.rb +29 -0
  406. data/lib/ttk/testers/tester/running_task.rb +47 -0
  407. data/lib/ttk/testers/tester/score.rb +34 -0
  408. data/lib/ttk/weights/WExpr.rb +68 -0
  409. data/lib/ttk/weights/WFloat.rb +23 -0
  410. data/lib/ttk/weights/WMin.rb +22 -0
  411. data/lib/ttk/weights/Weight.rb +85 -0
  412. data/lib/ttkd.rb +51 -0
  413. data/ruby_ex/abstract.rb +246 -0
  414. data/ruby_ex/abstract_node.rb +85 -0
  415. data/ruby_ex/array_each_pair.rb +18 -0
  416. data/ruby_ex/ask.rb +101 -0
  417. data/ruby_ex/attributed_class.rb +304 -0
  418. data/ruby_ex/cache.rb +373 -0
  419. data/ruby_ex/checkout.rb +12 -0
  420. data/ruby_ex/config_file.rb +96 -0
  421. data/ruby_ex/const_regexp.rb +59 -0
  422. data/ruby_ex/daemon.rb +134 -0
  423. data/ruby_ex/diff.rb +667 -0
  424. data/ruby_ex/dlogger.rb +62 -0
  425. data/ruby_ex/drb/dispatcher.rb +252 -0
  426. data/ruby_ex/drb/dispatcher_server_test.rb +29 -0
  427. data/ruby_ex/drb/drb_observable.rb +97 -0
  428. data/ruby_ex/drb/drb_observable_pool.rb +27 -0
  429. data/ruby_ex/drb/drb_service.rb +43 -0
  430. data/ruby_ex/drb/drb_undumped_attributes.rb +55 -0
  431. data/ruby_ex/drb/drb_undumped_indexed_object.rb +54 -0
  432. data/ruby_ex/drb/insecure_protected_methods.rb +103 -0
  433. data/ruby_ex/drb/session_client_test.rb +40 -0
  434. data/ruby_ex/drb/session_manager.rb +246 -0
  435. data/ruby_ex/drb/session_server.rb +53 -0
  436. data/ruby_ex/dtime.rb +143 -0
  437. data/ruby_ex/dumpable_proc.rb +63 -0
  438. data/ruby_ex/exception.rb +32 -0
  439. data/ruby_ex/filetype.rb +229 -0
  440. data/ruby_ex/fileutils_ex.rb +44 -0
  441. data/ruby_ex/fold.rb +58 -0
  442. data/ruby_ex/generate_id.rb +31 -0
  443. data/ruby_ex/inactive_timeout.rb +137 -0
  444. data/ruby_ex/indexed_node.rb +66 -0
  445. data/ruby_ex/io_marshal.rb +100 -0
  446. data/ruby_ex/ioo.rb +194 -0
  447. data/ruby_ex/labeled_node.rb +63 -0
  448. data/ruby_ex/logger_observer.rb +23 -0
  449. data/ruby_ex/md5sum.rb +66 -0
  450. data/ruby_ex/mktemp.rb +208 -0
  451. data/ruby_ex/module/attr_once.rb +36 -0
  452. data/ruby_ex/module/autoload_tree.rb +68 -0
  453. data/ruby_ex/module/hierarchy.rb +335 -0
  454. data/ruby_ex/module/instance_method_visibility.rb +73 -0
  455. data/ruby_ex/module_ex.rb +11 -0
  456. data/ruby_ex/node.rb +80 -0
  457. data/ruby_ex/object_monitor.rb +145 -0
  458. data/ruby_ex/object_monitor_activity.rb +33 -0
  459. data/ruby_ex/observable.rb +140 -0
  460. data/ruby_ex/observable_pool.rb +293 -0
  461. data/ruby_ex/orderedhash.rb +252 -0
  462. data/ruby_ex/pathname_ex.rb +113 -0
  463. data/ruby_ex/pp_hierarchy.rb +29 -0
  464. data/ruby_ex/pseudo_cache.rb +190 -0
  465. data/ruby_ex/queue.rb +56 -0
  466. data/ruby_ex/safe_eval.rb +348 -0
  467. data/ruby_ex/service_manager.rb +121 -0
  468. data/ruby_ex/session/administrable.rb +120 -0
  469. data/ruby_ex/session/client.rb +153 -0
  470. data/ruby_ex/session/const.rb +18 -0
  471. data/ruby_ex/session/dispatcher.rb +184 -0
  472. data/ruby_ex/session/error.rb +21 -0
  473. data/ruby_ex/session/fetchable.rb +57 -0
  474. data/ruby_ex/session/fetcher.rb +62 -0
  475. data/ruby_ex/session/hookable.rb +26 -0
  476. data/ruby_ex/session/profile.rb +110 -0
  477. data/ruby_ex/session/server.rb +582 -0
  478. data/ruby_ex/session/test/administrable_test.rb +337 -0
  479. data/ruby_ex/session/test/basic_test.rb +523 -0
  480. data/ruby_ex/session/test/dispatcher_test.rb +409 -0
  481. data/ruby_ex/session/test/fetchable_test.rb +119 -0
  482. data/ruby_ex/session/test/sub_server_test.rb +188 -0
  483. data/ruby_ex/spring.rb +136 -0
  484. data/ruby_ex/spring_set.rb +137 -0
  485. data/ruby_ex/symtbl.rb +106 -0
  486. data/ruby_ex/synflow.rb +474 -0
  487. data/ruby_ex/test/unit/ui/yaml/testrunner.rb +164 -0
  488. data/ruby_ex/thread_mutex.rb +10 -0
  489. data/ruby_ex/timeout_ex.rb +81 -0
  490. data/ruby_ex/top_down.rb +73 -0
  491. data/ruby_ex/trace.rb +26 -0
  492. data/ruby_ex/uri/druby.rb +81 -0
  493. data/ruby_ex/uri/file.rb +39 -0
  494. data/ruby_ex/uri/ftp_ex.rb +37 -0
  495. data/ruby_ex/uri/http_ex.rb +43 -0
  496. data/ruby_ex/uri/svn.rb +101 -0
  497. data/ruby_ex/uri_ex.rb +35 -0
  498. data/ruby_ex/version.rb +66 -0
  499. data/ruby_ex/yaml/basenode_ext.rb +63 -0
  500. data/ruby_ex/yaml/transform.rb +447 -0
  501. data/ruby_ex/yaml/yregexpath.rb +76 -0
  502. data/test/all/TestTAssert/first.yml +65 -0
  503. data/test/all/TestTAssert/segfault.yml +31 -0
  504. data/test/all/dist-suite-indirect-nested.yml +15 -0
  505. data/test/all/dist-suite-nested-3.yml +16 -0
  506. data/test/all/dist-suite-nested-in-pool.yml +51 -0
  507. data/test/all/dist-suite-nested.yml +28 -0
  508. data/test/all/no_suite.yml +18 -0
  509. data/test/all/pipeline-timeout.yml +21 -0
  510. data/test/all/remote_cmd.yml +23 -0
  511. data/test/all/remote_dispatcher.yml +26 -0
  512. data/test/all/suite_timeout.yml +32 -0
  513. data/test/all/weight.yml +113 -0
  514. data/test/all/xunit/junit/MultiRight/Foo/Foo.java +11 -0
  515. data/test/all/xunit/junit/MultiRight/Foo/FooTest.java +15 -0
  516. data/test/all/xunit/junit/MultiRight/MultiRight.java +13 -0
  517. data/test/all/xunit/junit/MultiRight/MultiRightTest.java +12 -0
  518. data/test/all/xunit/junit/MultiRight/bar/Bar.java +11 -0
  519. data/test/all/xunit/junit/MultiRight/bar/BarTest.java +21 -0
  520. data/test/all/xunit/junit/MultiRight/build.sh +7 -0
  521. data/test/all/xunit/junit/SimpleException/SimpleExceptionTest.java +11 -0
  522. data/test/all/xunit/junit/SimpleException/build.sh +4 -0
  523. data/test/all/xunit/junit/build.sh +9 -0
  524. data/test/all/xunit/junit/multibar.yml +6 -0
  525. data/test/all/xunit/junit/multifoo.yml +6 -0
  526. data/test/all/xunit/junit/multiright.yml +8 -0
  527. data/test/all/xunit/junit/simple_exception.yml +6 -0
  528. data/test/examples-suite.yml +10 -0
  529. data/test/examples/README +68 -0
  530. data/test/examples/cache/simple.yml +33 -0
  531. data/test/examples/sql/basic.yml +26 -0
  532. data/test/examples/students-suite.yml +11 -0
  533. data/test/examples/students/ball.yml +13 -0
  534. data/test/examples/students/glob_stud.yml +23 -0
  535. data/test/examples/students/mini-lib.yml +73 -0
  536. data/test/examples/students/pool_stud.yml +35 -0
  537. data/test/examples/students/stud.yml +25 -0
  538. data/test/ressources/ball/20040804-exam_a1-zapngo-tessar_m.tar.gz +0 -0
  539. data/test/ressources/ball/Makefile +24 -0
  540. data/test/ressources/ball/bar_p-mini-lib.tar.bz2 +0 -0
  541. data/test/ressources/ball/bar_p-mini-lib/Makefile +20 -0
  542. data/test/ressources/ball/bar_p-mini-lib/my_strlen.c +13 -0
  543. data/test/ressources/ball/foo_s-mini-lib.tar.bz2 +0 -0
  544. data/test/ressources/ball/foo_s-mini-lib/Makefile +20 -0
  545. data/test/ressources/ball/foo_s-mini-lib/configure +2 -0
  546. data/test/ressources/ball/foo_s-mini-lib/my_strlen.c +10 -0
  547. data/test/ressources/ball/hello.tar.bz2 +0 -0
  548. data/test/ressources/ball/hello.tar.gz +0 -0
  549. data/test/ressources/ball/hello/Makefile +14 -0
  550. data/test/ressources/ball/hello/hello.c +7 -0
  551. data/test/ressources/ball/jack-exit.tar.bz2 +0 -0
  552. data/test/ressources/ball/jack-exit/Makefile +14 -0
  553. data/test/ressources/ball/jack-exit/exit.c +16 -0
  554. data/test/ressources/ball/joe-exit.tar.bz2 +0 -0
  555. data/test/ressources/ball/joe-exit/Makefile +14 -0
  556. data/test/ressources/ball/joe-exit/exit.c +8 -0
  557. data/test/ressources/ball/joe_i-mini-lib.tar.bz2 +0 -0
  558. data/test/ressources/ball/joe_i-mini-lib/Makefile +20 -0
  559. data/test/ressources/ball/joe_i-mini-lib/configure +2 -0
  560. data/test/ressources/ball/joe_i-mini-lib/my_strlen.c +10 -0
  561. data/test/ressources/ball/john-exit.tar.bz2 +0 -0
  562. data/test/ressources/ball/john-exit/Makefile +14 -0
  563. data/test/ressources/ball/john-exit/exit.c +6 -0
  564. data/test/ressources/ball/qux_j-mini-lib.tar.bz2 +0 -0
  565. data/test/ressources/ball/qux_j-mini-lib/Makefile +20 -0
  566. data/test/ressources/ball/qux_j-mini-lib/my_strlen.c +12 -0
  567. data/test/ressources/mini-lib/Makefile +9 -0
  568. data/test/ressources/mini-lib/strlen.c +15 -0
  569. data/test/ressources/package/pkg_foo.tar.gz +0 -0
  570. data/test/ressources/package/pkg_foo/Makefile +20 -0
  571. data/test/ressources/package/pkg_foo/bootstrap +3 -0
  572. data/test/ressources/package/pkg_foo/configure +3 -0
  573. data/test/ressources/package/pkg_foo/foo.sh +2 -0
  574. data/test/ressources/runit/bad.rb +30 -0
  575. data/test/ressources/runit/error.rb +6 -0
  576. data/test/ressources/runit/good.rb +30 -0
  577. data/test/ressources/text/1.txt +4 -0
  578. data/test/runit/dumpers/xml_test.rb +75 -0
  579. data/test/runit/dumpers/yaml_test.rb +68 -0
  580. data/test/runit/fetchers/fetchers_test.rb +48 -0
  581. data/test/runit/loaders/OYaml_test.rb +35 -0
  582. data/test/runit/logger/section_node_test.rb +125 -0
  583. data/test/runit/logger/severity_test.rb +41 -0
  584. data/test/runit/logger/verbosity_test.rb +49 -0
  585. data/test/runit/logger_test.rb +295 -0
  586. data/test/runit/strategies/Strategy/assert_eval_test.rb +196 -0
  587. data/test/ttk-check +26 -0
  588. data/test/ttk-dist-suite.yml +44 -0
  589. data/test/ttk-dist/cat/file.in +3 -0
  590. data/test/ttk-dist/cat/file.out +3 -0
  591. data/test/ttk-dist/dist-abort.yml +51 -0
  592. data/test/ttk-dist/dist-cat.yml +38 -0
  593. data/test/ttk-dist/dist-delegate.yml +56 -0
  594. data/test/ttk-dist/dist-dispatch.yml +28 -0
  595. data/test/ttk-dist/dist-error.yml +10 -0
  596. data/test/ttk-dist/dist-fail.yml +9 -0
  597. data/test/ttk-dist/dist-nested-pass.yml +11 -0
  598. data/test/ttk-dist/dist-pass.yml +8 -0
  599. data/test/ttk-dist/dist-ribute.yml +31 -0
  600. data/test/ttk-dist/dist-suite.yml +18 -0
  601. data/test/ttk-dist/local-fetch.yml +17 -0
  602. data/test/ttk-dist/tester.yml +36 -0
  603. data/test/ttk-minimal-suite.yml +12 -0
  604. data/test/ttk-minimal/author.yml +14 -0
  605. data/test/ttk-minimal/base.yml +137 -0
  606. data/test/ttk-minimal/block.yml +15 -0
  607. data/test/ttk-minimal/cat.yml +19 -0
  608. data/test/ttk-minimal/diff.yml +29 -0
  609. data/test/ttk-minimal/env_cmd.yml +54 -0
  610. data/test/ttk-minimal/exit.yml +17 -0
  611. data/test/ttk-minimal/fatal.yml +32 -0
  612. data/test/ttk-minimal/glob.yml +13 -0
  613. data/test/ttk-minimal/import.yml +33 -0
  614. data/test/ttk-minimal/killall.yml +36 -0
  615. data/test/ttk-minimal/pkg.yml +18 -0
  616. data/test/ttk-minimal/pool.yml +44 -0
  617. data/test/ttk-minimal/probability_threshold.yml +39 -0
  618. data/test/ttk-minimal/runit.yml +25 -0
  619. data/test/ttk-minimal/signal_cmd.yml +24 -0
  620. data/test/ttk-minimal/sub.yml +9 -0
  621. data/test/ttk-minimal/test.yml +26 -0
  622. data/test/ttk-minimal/timeout.yml +24 -0
  623. data/test/ttk-minimal/unit_test.yml +13 -0
  624. data/test/ttk-minimal/wc.yml +28 -0
  625. metadata +801 -0
data/TODO ADDED
@@ -0,0 +1,23 @@
1
+
2
+
3
+ = Introduction
4
+
5
+ TTK's ToDo list is based on the TTK's tracker available on www.feydakins.org.
6
+ This tracker is used for both features request and bugs report. This document
7
+ describe how to post a good feature request and/or a good bug report.
8
+
9
+
10
+ = TTK's tracker
11
+
12
+ http://www.feydakins.org/projects/ttk/tracker/base_view
13
+
14
+ This is the main view of TTK's tracker. It allow you to browse, to sort and
15
+ to search for issues. The _Add issue_ link in the issue action frame on the
16
+ left give you access to the post application form.
17
+
18
+ When submitting a bug or a feature you have to choose the section of TTK, it
19
+ best fit with. If you don't know, choose the section with the bigger scope.
20
+
21
+
22
+ --
23
+ TTK's maintainers
data/TODO.old ADDED
@@ -0,0 +1,115 @@
1
+ * Documentation
2
+ * On a un gros probl�me avec les fichiers ouverts sur NetBSD.
3
+ * TestTCmd doit ajouter
4
+ {ref,cur,status,diff}_{exit,signal,output,error,timeout} dans le log
5
+ * Le filtre Weight ne semble pas fonctionner, pourtant, nous en avons
6
+ absolument besoin (et il faut qu'il travaille en stream).
7
+ * Je n'ai pas r�ussis � faire des filtres en stream. C'est possible? (Il
8
+ faudrait, sinon, les filtres n'ont plus d'interets)
9
+ * Il faudrait que TraceSplit fasse le boulot de copy_trace.sh
10
+ * L'execution d'une commande est bizzare a il y un thread (TestTBase) puis
11
+ un fork dans le thread (TestTCmdBase). Il faudrait simplifier le
12
+ processus
13
+ * TestCmdBase fait des choses pas tr�s catolique pour executer la
14
+ commande... M�me si ca peut �tre utile dans certains cas, ca n'est pas le
15
+ comportement attendu. Il faudrait mettre tout ca au propre
16
+ * Faut revoir TestCmdBase. En particuli�re, l'appel d'un shell ne me plait
17
+ pas. (Ne serait-ce que pour le quotting qui se fait une fois dans Yaml
18
+ et une fois dans le shell)
19
+ * Xml.rb pourrait passer dans le trunk, il faudrait juste l'ameliorer un
20
+ peu
21
+ _ configure et make n'affichent pas les sorties
22
+ _ L'extraction de tarball est buggu�, il manque l'option "f -" � la
23
+ commande tar
24
+ _ TracesXml ne g�n�re les traces qu'a la fin du processus. C'est emb�tant
25
+ quand on se fait d�loggu� ou que la moulinette plante
26
+ _ Xml.rb ne met pas la bonne ent�te pour les traces.
27
+ _ Xml.rb met des caract�res non imprimable dans les xml, il faut les
28
+ remplacer par \x??
29
+ _ Le TestTCmd qui doit faire le ./configure est buggu�, je pense que ca
30
+ vient de la remarque pr�c�dente
31
+ _ Xml.rb a un bug avec la duplication des attributs. Ca ressemble a une
32
+ sombre histoire de noeuds copi�s par r�f�rence...
33
+ _ Xml.rb devrait nommer son premier noaud "test" en "trace" pour que
34
+ l'intra l'affiche plus joliment
35
+ * Faire un Html.rb qui ne ferais que applisuer une xslt. Vu qu'on a la
36
+ Xlst, ca devrait pas �tre dur. Je cherche une librairie capable
37
+ d'appliquer une Xslt en Ruby... Pa contre, ca a tendance a changer les
38
+ l'optique des flux de log dans la moulinette. Il y aurait des flux Yaml,
39
+ des flux Xml, etc... Maintenant, que j'y pense, ca n'est peut-�tre pas
40
+ une mauvaise id�e... Il suffit de typer un peu plus fortement la sortie
41
+ de nos filtres (Je prefere parler de filtre au sens g�n�ral plutot que
42
+ de Dumper) et c'est bon.
43
+ _ La compilation, ca n'est pas encore ca. La compilation sur Makefile, ca
44
+ n'est pas bon.
45
+ * On a et ca etre de pire en pire des probl�mes avec les repertoires. On a
46
+ le repertoire ou on copie la tarball, le repertoire ou elle est
47
+ d�compr�ss�e, le repertoire ou se trouves des fichiers suppl�mentaire
48
+ pour les tests, etc.... Faut qu'on trouve une solution... Dans la
49
+ Moulmouth, je me mettais dans le repertoire de decompression de la
50
+ tarball et je ne bougeais plus. J'acc�dais au reste avec des variable
51
+ d'environnement. On peut faire le m�me principe: Un certain nombre de
52
+ variables globale � une TestTSuit qui definissent les repertoires.
53
+ * C'est difficile de faire des tests avec des fichiers exterieur (genre
54
+ ajouter notre main.c au rendu de l'�tudiant). Le probl�me vient de la
55
+ gestion des repertoire pourrie.
56
+ * Les TestTCmd devient trop compliqu�. Au d�pard, j'�tais d'avis de fournir
57
+ un ensemble de TestTCmd d'exemple et de laisser le programmeur faire le
58
+ reste. Je reviens un peut en arri�re. Il faudrait un ensemble de
59
+ classe TestTCmd repr�sentant les cas simple (genre input/output) et une
60
+ classe assez "complexe" capable de faire des trucs compliqu� sans trop
61
+ se prendre la t�te.Il faut absoluement avoir des classe simples pour que
62
+ l'utilisateur pouisse facilement les d�river si il veut faire une petit
63
+ modification.
64
+
65
+ Bref, avant, je voulais plutot:
66
+
67
+ TestTCmdBase
68
+ / / \ \
69
+ / / \ \
70
+ / / \ \
71
+ TestTCmd1 TestTCmd2 TestTCmd3 TestTCmd4
72
+
73
+ Maintenant, je serais plutot:
74
+ TestTCmdBase
75
+ / / \ \
76
+ / / \ \
77
+ / / \ \
78
+ TestTCmd1 TestTCmd2 TestTCmd3 TestTCmd4
79
+ \ \ / /
80
+ \ \ / /
81
+ \ \ / /
82
+ TestCmdAll (one classe to bring them all)
83
+
84
+ TestCmdAll pourrait par exemple faire de l'introspection sur les
85
+ TestTCmd* et permettre de choisir quelles m�thodes de quelles classes on
86
+ va utiliser. Genre:
87
+ - inputfunc: TestTCmd1::input
88
+ outputfunc: TestTCmd2::output
89
+ coef2: 2
90
+ coef1: 5
91
+ resultfunc: { (@outresult * @coef2 ) + (@errresult * @coef1) }
92
+
93
+
94
+ _ Il y a des bug entre DFSplit et Xml. Je ne sais pas encore d'ou ca vient
95
+ _ La classe TestTCmd fait des diff sur stdout ou stderr (et le test fail)
96
+ m�me si on ne precise pas de output/error. C'est mal faut qu'on change
97
+ ca.
98
+ * TestTCmd ne permet pas de tester la sortie avec un truc exterieur (genre
99
+ v�rifier si un certain fichier existe pour valider le test)
100
+ * On devrait peut-etre faire un TestTCmd g�rant les attribut "before" et
101
+ "after". Tous les deux �tant des blocs de Ruby que l'on execute juste
102
+ avant et juste apres le test. Ca revient sur l'id�e du Loader Ruby de
103
+ Marco
104
+ * Il faut qu'on puise passer des parametre au Loader par la ligne de
105
+ commande. Je pense en particulier � l'upload qui voudra mettre
106
+ l'emplecement de la tarball sur la ligne de commande.
107
+ * TestTCmd ne permet pas de v�rifier le signal emit par la commande
108
+ * Il nous faudrait une classe TTAutoTest permettant de definir des tests
109
+ avant que la moulinette ne se lance. Par exemple: "il faut la tarball de
110
+ ref passe tous les tests" ou bien "il faut que /bin/false ne passe aucun
111
+ test".
112
+ * Il nous faudrait des warpper pour different trucs. c'ets a dire des
113
+ raccourcis vers certains sc�narios tres utilis� (tarball piscine,
114
+ examsm, proj, etc...)
115
+ * FIX bug in the test suite !!!
data/VERSION ADDED
@@ -0,0 +1,5 @@
1
+ TTK version 0.1.<%= rev %> {<%= date %>} [BABY]
2
+
3
+ Copyright (c) 2004-2005 Nicolas Despr�s, Nicolas Pouillard
4
+ This is free software; see the source for copying conditions. There is NO
5
+ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
@@ -0,0 +1,394 @@
1
+ # Author:: The TTK Team.
2
+ # Copyright:: Copyright (c) 2004 TTK team. All rights reserved.
3
+ # License:: LGPL
4
+ # $Id: ttk.rb 575 2005-04-14 10:22:30Z polrop $
5
+
6
+ require 'optparse'
7
+ require 'module/hierarchy'
8
+ require 'pp_hierarchy'
9
+
10
+ module TTK
11
+
12
+ module Getopts
13
+
14
+ class TTK
15
+
16
+ DEFAULT_OPTIONS = {
17
+ :current_input => nil,
18
+ :current_output => STDOUT,
19
+ :current_loader => Loaders::Yaml,
20
+ :current_dumper => Dumpers::Yaml,
21
+ :no_default_observer => false,
22
+ :observers => [],
23
+ :wclass => Weights::Default,
24
+ :attributes => {},
25
+ :symbols => {},
26
+ :log_severity => Logger::Severity::INFO,
27
+ :log_verbosity => 0,
28
+ :log_section => [],
29
+ :tester_uris => [],
30
+ :profile_on => false,
31
+ :force_fetch => false,
32
+ :dump_status => false,
33
+ :cache_proc => DumpableProc.new('|test, status|
34
+ status.pass? or status.is_a? TTK::SkipStatus'
35
+ )
36
+ }
37
+
38
+ def self.parse(argv)
39
+ opts = DEFAULT_OPTIONS.dup
40
+ optparser = OptionParser.new do |optparser|
41
+
42
+ optparser.banner = "Usage: #{ME} [options] [files...]"
43
+ optparser.summary_indent = ' '
44
+ optparser.summary_width = 25
45
+
46
+ ### IO options
47
+
48
+ optparser.separator ''
49
+ optparser.separator 'IO options:'
50
+
51
+ optparser.on('-i',
52
+ '--input FILE',
53
+ 'Set input file (only a Result)') do |aFile|
54
+ if aFile == '-'
55
+ opts[:current_input] = STDIN
56
+ else
57
+ opts[:current_input] = File.new(aFile, 'r')
58
+ end
59
+ end
60
+
61
+ optparser.on('-o', '--output FILE', 'Set output file') do |aFile|
62
+ if aFile == '-'
63
+ opts[:current_output] = STDOUT
64
+ else
65
+ opts[:current_output] = File.new(aFile, 'w')
66
+ end
67
+ end
68
+
69
+ ### Strategy options
70
+
71
+ optparser.separator ''
72
+ optparser.separator 'Strategy options:'
73
+
74
+ optparser.on('-I',
75
+ '--include PATH',
76
+ 'Set PATH for test strategy classes') do |aPath|
77
+ Strategies.module_eval do
78
+ aPath.split(':').each do |aPath|
79
+ autoload_tree(aPath, false) do |p|
80
+ ::TTK.pathname_to_class(p)
81
+ end
82
+ end
83
+ end
84
+ end
85
+
86
+ optparser.on('--strategy-list', 'List all test strategy classes') do
87
+ pp_class_hierarchy('Strategies::Strategy')
88
+ exit
89
+ end
90
+
91
+ ### Loader options
92
+
93
+ optparser.separator ''
94
+ optparser.separator 'Loader options:'
95
+
96
+ all_loaders = sub_modules(Loaders)
97
+
98
+ optparser.on('-L',
99
+ '--loader [TYPE]',
100
+ all_loaders,
101
+ 'Select a loader (no argument for the list)') do |aLoader|
102
+ if aLoader.nil?
103
+ pp_class_hierarchy('Loaders::Loader')
104
+ exit
105
+ else
106
+ opts[:current_loader] = Loaders.const_get(aLoader)
107
+ end
108
+ end
109
+
110
+ ### Dumper options
111
+
112
+ optparser.separator ''
113
+ optparser.separator 'Dumper options:'
114
+
115
+ all_dumpers = sub_modules(Dumpers)
116
+
117
+ optparser.on('-P',
118
+ '--dumper [TYPE]',
119
+ all_dumpers,
120
+ 'Select a dumper (no argument for the list)') do |aDumper|
121
+ if aDumper.nil?
122
+ pp_class_hierarchy('Dumpers::Dumper')
123
+ exit
124
+ else
125
+ opts[:current_dumper] = Dumpers.const_get(aDumper)
126
+ end
127
+ end
128
+
129
+ ### Filter options
130
+
131
+ optparser.separator ''
132
+ optparser.separator 'Filter options:'
133
+
134
+ all_filters = sub_modules(Filters)
135
+
136
+ #FIXME: the result here is overwritten in ttk driver
137
+
138
+ optparser.on('-F',
139
+ '--filter [TYPE]',
140
+ all_filters,
141
+ 'Select a filter ' +
142
+ '(no argument for the list)') do |aFilter|
143
+ if aFilter.nil?
144
+ pp_class_hierarchy('Filters::Filter')
145
+ exit
146
+ else
147
+ dumper = opts[:current_dumper].new(opts[:current_output])
148
+ result = Logger.new(dumper)
149
+ opts[:observers] << Filters.const_get(aFilter).new(result)
150
+ end
151
+ end
152
+
153
+ optparser.on('--filter-seq x,y,z',
154
+ Array,
155
+ 'Select a filter sequence') do |anArray|
156
+ dumper = opts[:current_dumper].new(opts[:current_output])
157
+ result = Logger.new(dumper)
158
+ opts[:observers] << anArray.reverse_fold(result) do |aFilter,acc|
159
+ Filters.const_get(aFilter).new(acc)
160
+ end
161
+ end
162
+
163
+ ### Weight options
164
+
165
+ optparser.separator ''
166
+ optparser.separator 'Weight options:'
167
+
168
+ optparser.on('-W',
169
+ '--wclass [TYPE]',
170
+ 'Select the weight class ' +
171
+ '(no argument for the list)') do |aString|
172
+ if aString.nil?
173
+ pp_class_hierarchy('Weights::Weight')
174
+ exit
175
+ else
176
+ opts[:wclass] = Weights.const_get(aString)
177
+ end
178
+ end
179
+
180
+ ### Tester options
181
+
182
+ optparser.separator ''
183
+ optparser.separator 'Server options:'
184
+
185
+ optparser.on('-t', '--tester URI', 'Remote tester uri') do |uri|
186
+ opts[:tester_uris] << URI.parse(uri)
187
+ end
188
+
189
+ ### Logger options
190
+
191
+ optparser.separator ''
192
+ optparser.separator 'Logger options:'
193
+
194
+ optparser.on('-l', '--log FILE', 'Set the log file') do |aFile|
195
+ io = (aFile == '-') ? STDERR : File.open(aFile, 'w')
196
+ opts[:observers] << opts[:current_dumper].new(io)
197
+ end
198
+
199
+ optparser.on('-d',
200
+ '--severity [NAME]',
201
+ 'Log severity level ' +
202
+ '(no argument for the list)') do |level|
203
+ if level.nil?
204
+ puts 'Log severity level list:'
205
+ Logger::Severity.labels.each { |l| puts " - #{l}" }
206
+ exit
207
+ else
208
+ begin
209
+ raise NameError if level.nil?
210
+ opts[:log_severity] = Logger::Severity.const_get(level.to_s.upcase)
211
+ rescue NameError
212
+ raise(OptionParser::InvalidArgument, level)
213
+ end
214
+ end
215
+ end
216
+
217
+ higher_level = Logger::Verbosity.higher_level
218
+ optparser.on('-v',
219
+ '--verbosity NUM',
220
+ "Log verbosity level [0-#{higher_level}]") do |level|
221
+ ilevel = level.to_i
222
+ if ilevel.to_s != level
223
+ raise(OptionParser::InvalidArgument, level)
224
+ end
225
+ if 0 <= ilevel and ilevel <= higher_level
226
+ opts[:log_verbosity] = ilevel
227
+ else
228
+ raise(OptionParser::InvalidArgument, level)
229
+ end
230
+ end
231
+
232
+ optparser.on('-s',
233
+ '--log-section [NAME]',
234
+ 'Active a log section ' +
235
+ '(no argument for the list)') do |name|
236
+ if name.nil?
237
+ #FIXME: print the section tree
238
+ exit
239
+ else
240
+ #FIXME: check the validity of the section
241
+ opts[:log_section] << name.to_s
242
+ end
243
+ end
244
+
245
+ ### Miscellaneous options
246
+
247
+ optparser.separator ''
248
+ optparser.separator 'Miscellaneous options:'
249
+
250
+ optparser.on('-S',
251
+ '--symbols symbols',
252
+ 'Add a hash of symbols to the root test suite') do |str|
253
+ opts[:symbols] = opts[:current_loader].new.load_doc(str)
254
+ end
255
+
256
+ optparser.on('-A',
257
+ '--attributes attributes',
258
+ 'Add a hash of attributes to ' +
259
+ 'the root test suite') do |aString|
260
+ opts[:attributes] = opts[:current_loader].new.load_doc(aString)
261
+ end
262
+
263
+ optparser.on('-D',
264
+ '--define VAR=VALUE',
265
+ 'Set a global variable') do |aString|
266
+ if aString =~ /(\w+)=(.*)$/
267
+ eval "$#$1 = $2"
268
+ else
269
+ STDERR.puts optparser
270
+ exit
271
+ end
272
+ end
273
+
274
+ optparser.on('-C', '--[no-]cache', 'Keep the test in cache') do |c|
275
+ opts[:cache] = c
276
+ end
277
+
278
+ optparser.on('--cache-dir DIR', 'Use the cache in DIR') do |dir|
279
+ dir = Pathname.new(dir)
280
+ help unless dir.directory?
281
+ opts[:cache_dir] = dir
282
+ end
283
+
284
+ optparser.on('-r', '--cache-proc RUBY_CODE',
285
+ 'Use this block to skip tests in cache mode ' +
286
+ '(ex: "|test, status| status.pass?")') do |code|
287
+
288
+ help unless code =~ /^\s*|[^,]+,[^,]+|\s*\S+/
289
+ opts[:cache_proc] = DumpableProc.new(code)
290
+ end
291
+
292
+ optparser.on('--profile', 'Switch on profile informations') do
293
+ opts[:profile_on] = true
294
+ end
295
+
296
+ optparser.on('--force-fetch',
297
+ 'Force to fetch file even on the same host') do
298
+ opts[:force_fetch] = true
299
+ end
300
+
301
+ optparser.on('--dump-status',
302
+ 'Dump the global status at the end (STDOUT)') do
303
+ opts[:dump_status] = true
304
+ end
305
+
306
+ optparser.on('--gen-strategies-hierarchy',
307
+ 'Generate the strategies hierarchy description') do
308
+ hsh = Strategies.sub_classes_tree(Strategies::Strategy, true, true)
309
+ puts "# TTK's strategies hierarchy generated on #{Time.now}"
310
+ YAML.dump(hierarchy_to_s(hsh), STDOUT)
311
+ exit
312
+ end
313
+
314
+ optparser.on('--no-default-observer',
315
+ 'Do not add a default observer') do
316
+ opts[:no_default_observer] = true
317
+ end
318
+
319
+ optparser.on_tail('-h',
320
+ '--help [strategy]',
321
+ 'Show this message') do |aStrategy|
322
+ if aStrategy.nil?
323
+ STDERR.puts optparser
324
+ puts <<-eof
325
+
326
+ For bug reporting instructions, please see:
327
+ http://www.feydakins.org/projects/ttk/tracker/base_view
328
+ eof
329
+ else
330
+ Strategies.const_get(aStrategy).help
331
+ end
332
+ exit
333
+ end
334
+
335
+ optparser.on_tail('--version', 'Show version') do
336
+ rev = 0
337
+ begin
338
+ File.open('REVISION') { |io| rev = io.gets.gsub!(/\D/, '').to_i }
339
+ rescue Errno::ENOENT
340
+ end
341
+ date = ''
342
+ begin
343
+ File.open('DATE') do |io|
344
+ date = io.gets.sub!(/^.*?\((.*?)\).*?$/) { $1 }
345
+ end
346
+ rescue Errno::ENOENT
347
+ end
348
+ date.chomp!
349
+ require 'erb'
350
+ res = ERB.new(File.read('VERSION'), nil, '<%>').result(binding)
351
+ puts res
352
+ exit
353
+ end
354
+
355
+ end
356
+
357
+ optparser.parse!(argv)
358
+ argv << '-' if argv.empty?
359
+ argv.map! { |x| x == '-' ? STDIN : Pathname.new(x) }
360
+ opts
361
+ end
362
+
363
+ protected
364
+ def self.sub_modules(mod)
365
+ mod.constants.sort!.map! { |c| c.to_sym }
366
+ end
367
+
368
+ protected
369
+ def self.pp_class_hierarchy(name)
370
+ if name =~ /^(\w+)::(\w+)$/
371
+ mod = ::TTK.const_get($1)
372
+ klass = mod.const_get($2)
373
+ puts "#{mod} classes hierarchy:"
374
+ hsh = mod.sub_classes_tree(klass, true, true)
375
+ hsh.pp_hierarchy(Regexp.new("^#{mod}::"), true)
376
+ end
377
+ end
378
+
379
+ protected
380
+ def self.hierarchy_to_s(hsh)
381
+ r = {}
382
+ hsh.each { |k, v| r[k.to_s] = hierarchy_to_s(v) }
383
+ r
384
+ end
385
+
386
+ end # class TTK
387
+
388
+ end # module Getopts
389
+
390
+ end # module TTK
391
+
392
+
393
+
394
+