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.
- data/AUTHORS +32 -0
- data/COPYING +18 -0
- data/ChangeLog +4629 -0
- data/DATE +1 -0
- data/DESCRIPTION +8 -0
- data/GUIDELINES +84 -0
- data/LGPL +504 -0
- data/NEWS +69 -0
- data/NORM +85 -0
- data/README +206 -0
- data/REVISION +1 -0
- data/Rakefile +120 -0
- data/TODO +23 -0
- data/TODO.old +115 -0
- data/VERSION +5 -0
- data/bin/getopts/ttk.rb +394 -0
- data/bin/getopts/ttkd.rb +150 -0
- data/bin/getopts/ttkm.rb +71 -0
- data/bin/ttk +170 -0
- data/bin/ttkd +73 -0
- data/bin/ttkm +54 -0
- data/doc/html/classes/IO/CutInput.html +159 -0
- data/doc/html/classes/IO/Delegator.html +291 -0
- data/doc/html/classes/IO/Dispatch.html +204 -0
- data/doc/html/classes/IO/Ext.html +118 -0
- data/doc/html/classes/IO/ImplExt.html +149 -0
- data/doc/html/classes/IO/ImplIndent.html +175 -0
- data/doc/html/classes/IO/ImplPrintFile.html +142 -0
- data/doc/html/classes/IO/ImplPrintIO.html +143 -0
- data/doc/html/classes/IO/InputFilter.html +347 -0
- data/doc/html/classes/IO/OutputFilter.html +298 -0
- data/doc/html/classes/NilClass.html +198 -0
- data/doc/html/classes/SafeEval.html +277 -0
- data/doc/html/classes/String.html +245 -0
- data/doc/html/classes/SymTbl.html +146 -0
- data/doc/html/classes/TTK.html +658 -0
- data/doc/html/classes/TTK/AbortStatus.html +211 -0
- data/doc/html/classes/TTK/Daemons.html +142 -0
- data/doc/html/classes/TTK/Daemons/Daemon.html +170 -0
- data/doc/html/classes/TTK/Daemons/Daemon/Logger.html +192 -0
- data/doc/html/classes/TTK/Daemons/Master.html +163 -0
- data/doc/html/classes/TTK/Daemons/Slave.html +158 -0
- data/doc/html/classes/TTK/Dumpers.html +150 -0
- data/doc/html/classes/TTK/Dumpers/Dumper.html +461 -0
- data/doc/html/classes/TTK/Dumpers/Notif.html +208 -0
- data/doc/html/classes/TTK/Dumpers/Xml.html +260 -0
- data/doc/html/classes/TTK/Dumpers/Yaml.html +307 -0
- data/doc/html/classes/TTK/ErrorStatus.html +133 -0
- data/doc/html/classes/TTK/FailStatus.html +195 -0
- data/doc/html/classes/TTK/Fetchers.html +135 -0
- data/doc/html/classes/TTK/Fetchers/Client.html +229 -0
- data/doc/html/classes/TTK/Fetchers/Client/Receiver.html +254 -0
- data/doc/html/classes/TTK/Fetchers/Server.html +256 -0
- data/doc/html/classes/TTK/Fetchers/Server/Sender.html +241 -0
- data/doc/html/classes/TTK/Filters.html +142 -0
- data/doc/html/classes/TTK/Filters/BasicLogger.html +187 -0
- data/doc/html/classes/TTK/Filters/Filter.html +188 -0
- data/doc/html/classes/TTK/Filters/Saver.html +279 -0
- data/doc/html/classes/TTK/Loaders.html +115 -0
- data/doc/html/classes/TTK/Loaders/BaseNode.html +224 -0
- data/doc/html/classes/TTK/Loaders/Loader.html +242 -0
- data/doc/html/classes/TTK/Loaders/OYaml.html +161 -0
- data/doc/html/classes/TTK/Loaders/Yaml.html +157 -0
- data/doc/html/classes/TTK/Loaders/YamlOld.html +155 -0
- data/doc/html/classes/TTK/Logger.html +836 -0
- data/doc/html/classes/TTK/Logger/Path.html +161 -0
- data/doc/html/classes/TTK/Logger/SectionNode.html +925 -0
- data/doc/html/classes/TTK/Logger/Severity.html +306 -0
- data/doc/html/classes/TTK/Logger/ToTTKLog.html +119 -0
- data/doc/html/classes/TTK/Logger/Verbosity.html +278 -0
- data/doc/html/classes/TTK/LoggerFactory.html +204 -0
- data/doc/html/classes/TTK/Monitors.html +132 -0
- data/doc/html/classes/TTK/Monitors/Client.html +261 -0
- data/doc/html/classes/TTK/Monitors/Monitor.html +209 -0
- data/doc/html/classes/TTK/Monitors/Server.html +288 -0
- data/doc/html/classes/TTK/Monitors/Server/Notification.html +118 -0
- data/doc/html/classes/TTK/Monitors/Server/Notifier.html +118 -0
- data/doc/html/classes/TTK/PassStatus.html +168 -0
- data/doc/html/classes/TTK/RunningStatus.html +133 -0
- data/doc/html/classes/TTK/Services.html +161 -0
- data/doc/html/classes/TTK/Services/DRbService.html +217 -0
- data/doc/html/classes/TTK/Services/DRbService/Notification.html +123 -0
- data/doc/html/classes/TTK/Services/DRbService/SubTestable.html +197 -0
- data/doc/html/classes/TTK/Services/FetcherClient.html +190 -0
- data/doc/html/classes/TTK/Services/FetcherServer.html +149 -0
- data/doc/html/classes/TTK/Services/MonitorClient.html +190 -0
- data/doc/html/classes/TTK/Services/MonitorServer.html +149 -0
- data/doc/html/classes/TTK/Services/TesterClient.html +207 -0
- data/doc/html/classes/TTK/Services/TesterMaster.html +193 -0
- data/doc/html/classes/TTK/Services/TesterMaster/Notification.html +123 -0
- data/doc/html/classes/TTK/Services/TesterSlave.html +157 -0
- data/doc/html/classes/TTK/Services/TesterSlave/Notification.html +118 -0
- data/doc/html/classes/TTK/SkipStatus.html +169 -0
- data/doc/html/classes/TTK/StartStatus.html +133 -0
- data/doc/html/classes/TTK/Status.html +373 -0
- data/doc/html/classes/TTK/StatusException.html +161 -0
- data/doc/html/classes/TTK/StatusWithMessage.html +220 -0
- data/doc/html/classes/TTK/Strategies.html +356 -0
- data/doc/html/classes/TTK/Strategies/Abort.html +161 -0
- data/doc/html/classes/TTK/Strategies/Authors.html +170 -0
- data/doc/html/classes/TTK/Strategies/Ball.html +200 -0
- data/doc/html/classes/TTK/Strategies/Block.html +230 -0
- data/doc/html/classes/TTK/Strategies/Bootstrap.html +238 -0
- data/doc/html/classes/TTK/Strategies/Checkout.html +201 -0
- data/doc/html/classes/TTK/Strategies/Clean.html +160 -0
- data/doc/html/classes/TTK/Strategies/Cmd.html +218 -0
- data/doc/html/classes/TTK/Strategies/CmdBase.html +312 -0
- data/doc/html/classes/TTK/Strategies/Collection.html +282 -0
- data/doc/html/classes/TTK/Strategies/Compile.html +199 -0
- data/doc/html/classes/TTK/Strategies/Composite.html +541 -0
- data/doc/html/classes/TTK/Strategies/Composite/Ordered.html +183 -0
- data/doc/html/classes/TTK/Strategies/Configure.html +270 -0
- data/doc/html/classes/TTK/Strategies/DistDelegate.html +192 -0
- data/doc/html/classes/TTK/Strategies/DistDuplicate.html +221 -0
- data/doc/html/classes/TTK/Strategies/DistStrategy.html +224 -0
- data/doc/html/classes/TTK/Strategies/Distribute.html +163 -0
- data/doc/html/classes/TTK/Strategies/Error.html +161 -0
- data/doc/html/classes/TTK/Strategies/Extract.html +179 -0
- data/doc/html/classes/TTK/Strategies/Fail.html +161 -0
- data/doc/html/classes/TTK/Strategies/Fetch.html +400 -0
- data/doc/html/classes/TTK/Strategies/Fetcher.html +276 -0
- data/doc/html/classes/TTK/Strategies/Glob.html +201 -0
- data/doc/html/classes/TTK/Strategies/IOBased.html +400 -0
- data/doc/html/classes/TTK/Strategies/Import.html +215 -0
- data/doc/html/classes/TTK/Strategies/JUnit.html +623 -0
- data/doc/html/classes/TTK/Strategies/KillAll.html +249 -0
- data/doc/html/classes/TTK/Strategies/Make.html +235 -0
- data/doc/html/classes/TTK/Strategies/Make/All.html +120 -0
- data/doc/html/classes/TTK/Strategies/Make/Check.html +120 -0
- data/doc/html/classes/TTK/Strategies/Make/Default.html +155 -0
- data/doc/html/classes/TTK/Strategies/Make/DistCheck.html +120 -0
- data/doc/html/classes/TTK/Strategies/Make/Install.html +120 -0
- data/doc/html/classes/TTK/Strategies/Make/Target.html +179 -0
- data/doc/html/classes/TTK/Strategies/Package.html +271 -0
- data/doc/html/classes/TTK/Strategies/PackageCollection.html +168 -0
- data/doc/html/classes/TTK/Strategies/Pass.html +161 -0
- data/doc/html/classes/TTK/Strategies/Pool.html +306 -0
- data/doc/html/classes/TTK/Strategies/Pool/PoolComponent.html +139 -0
- data/doc/html/classes/TTK/Strategies/ProbabilityThreshold.html +187 -0
- data/doc/html/classes/TTK/Strategies/Proxy.html +211 -0
- data/doc/html/classes/TTK/Strategies/RUnit.html +355 -0
- data/doc/html/classes/TTK/Strategies/RemoteCmd.html +213 -0
- data/doc/html/classes/TTK/Strategies/SignalCmd.html +269 -0
- data/doc/html/classes/TTK/Strategies/Sleep.html +193 -0
- data/doc/html/classes/TTK/Strategies/SqlQuery.html +248 -0
- data/doc/html/classes/TTK/Strategies/Strategy.html +2847 -0
- data/doc/html/classes/TTK/Strategies/Strategy/AssertEval.html +233 -0
- data/doc/html/classes/TTK/Strategies/Strategy/AttributedClass.html +107 -0
- data/doc/html/classes/TTK/Strategies/Strategy/AttributedClass/Attribute.html +246 -0
- data/doc/html/classes/TTK/Strategies/Strategy/Failure.html +121 -0
- data/doc/html/classes/TTK/Strategies/Stub.html +179 -0
- data/doc/html/classes/TTK/Strategies/SubCmd.html +243 -0
- data/doc/html/classes/TTK/Strategies/Suite.html +182 -0
- data/doc/html/classes/TTK/Strategies/Test.html +310 -0
- data/doc/html/classes/TTK/Strategies/Tester.html +218 -0
- data/doc/html/classes/TTK/Streams.html +116 -0
- data/doc/html/classes/TTK/Streams/Diff.html +148 -0
- data/doc/html/classes/TTK/Streams/Stream.html +295 -0
- data/doc/html/classes/TTK/SymTbl.html +266 -0
- data/doc/html/classes/TTK/TTKException.html +118 -0
- data/doc/html/classes/TTK/TTKModule.html +145 -0
- data/doc/html/classes/TTK/Testers.html +156 -0
- data/doc/html/classes/TTK/Testers/Master.html +304 -0
- data/doc/html/classes/TTK/Testers/Slave.html +120 -0
- data/doc/html/classes/TTK/Testers/Tester.html +547 -0
- data/doc/html/classes/TTK/Testers/Tester/Config.html +310 -0
- data/doc/html/classes/TTK/Testers/Tester/Notification.html +123 -0
- data/doc/html/classes/TTK/Testers/Tester/Notifier.html +118 -0
- data/doc/html/classes/TTK/Testers/Tester/QueryNode.html +341 -0
- data/doc/html/classes/TTK/Testers/Tester/RemoteStatus.html +165 -0
- data/doc/html/classes/TTK/Testers/Tester/RunningTask.html +262 -0
- data/doc/html/classes/TTK/Testers/Tester/Score.html +198 -0
- data/doc/html/classes/TTK/TimeoutAbortStatus.html +161 -0
- data/doc/html/classes/TTK/Tools.html +111 -0
- data/doc/html/classes/TTK/Tools/HostDispatcher.html +246 -0
- data/doc/html/classes/TTK/Weights.html +160 -0
- data/doc/html/classes/TTK/Weights/WExpr.html +326 -0
- data/doc/html/classes/TTK/Weights/WFloat.html +149 -0
- data/doc/html/classes/TTK/Weights/WMin.html +148 -0
- data/doc/html/classes/TTK/Weights/Weight.html +624 -0
- data/doc/html/created.rid +1 -0
- data/doc/html/files/AUTHORS.html +198 -0
- data/doc/html/files/NEWS.html +236 -0
- data/doc/html/files/README.html +435 -0
- data/doc/html/files/TODO.html +128 -0
- data/doc/html/files/lib/ttk/Tools/HostDispatcher_rb.html +126 -0
- data/doc/html/files/lib/ttk/Tools/SafeEval_rb.html +119 -0
- data/doc/html/files/lib/ttk/Tools/cut_output_rb.html +126 -0
- data/doc/html/files/lib/ttk/Tools/io/delegator_rb.html +127 -0
- data/doc/html/files/lib/ttk/Tools/io/dispatch_rb.html +127 -0
- data/doc/html/files/lib/ttk/Tools/io/ext_rb.html +126 -0
- data/doc/html/files/lib/ttk/Tools/io/filters_rb.html +127 -0
- data/doc/html/files/lib/ttk/daemons/Daemon_rb.html +126 -0
- data/doc/html/files/lib/ttk/daemons/Master_rb.html +119 -0
- data/doc/html/files/lib/ttk/daemons/Slave_rb.html +119 -0
- data/doc/html/files/lib/ttk/daemons/daemon/logger_rb.html +126 -0
- data/doc/html/files/lib/ttk/dumpers/Dumper_rb.html +119 -0
- data/doc/html/files/lib/ttk/dumpers/Notif_rb.html +119 -0
- data/doc/html/files/lib/ttk/dumpers/Xml_rb.html +126 -0
- data/doc/html/files/lib/ttk/dumpers/Yaml_rb.html +119 -0
- data/doc/html/files/lib/ttk/fetchers/Client_rb.html +126 -0
- data/doc/html/files/lib/ttk/fetchers/Server_rb.html +126 -0
- data/doc/html/files/lib/ttk/fetchers/client/receiver_rb.html +127 -0
- data/doc/html/files/lib/ttk/fetchers/server/sender_rb.html +127 -0
- data/doc/html/files/lib/ttk/filters/BasicLogger_rb.html +126 -0
- data/doc/html/files/lib/ttk/filters/Filter_rb.html +119 -0
- data/doc/html/files/lib/ttk/filters/Saver_rb.html +119 -0
- data/doc/html/files/lib/ttk/loaders/Loader_rb.html +119 -0
- data/doc/html/files/lib/ttk/loaders/OYaml_rb.html +126 -0
- data/doc/html/files/lib/ttk/loaders/YamlOld_rb.html +126 -0
- data/doc/html/files/lib/ttk/loaders/Yaml_rb.html +126 -0
- data/doc/html/files/lib/ttk/logger/path_rb.html +119 -0
- data/doc/html/files/lib/ttk/logger/section_node_rb.html +119 -0
- data/doc/html/files/lib/ttk/logger/severity_rb.html +119 -0
- data/doc/html/files/lib/ttk/logger/to_ttk_log_rb.html +119 -0
- data/doc/html/files/lib/ttk/logger/verbosity_rb.html +119 -0
- data/doc/html/files/lib/ttk/logger_factory_rb.html +119 -0
- data/doc/html/files/lib/ttk/logger_rb.html +131 -0
- data/doc/html/files/lib/ttk/monitors/Client_rb.html +119 -0
- data/doc/html/files/lib/ttk/monitors/Monitor_rb.html +127 -0
- data/doc/html/files/lib/ttk/monitors/Server_rb.html +126 -0
- data/doc/html/files/lib/ttk/services/DRbService/sub_testable_rb.html +119 -0
- data/doc/html/files/lib/ttk/services/DRbService_rb.html +126 -0
- data/doc/html/files/lib/ttk/services/FetcherClient_rb.html +119 -0
- data/doc/html/files/lib/ttk/services/FetcherServer_rb.html +119 -0
- data/doc/html/files/lib/ttk/services/MonitorClient_rb.html +119 -0
- data/doc/html/files/lib/ttk/services/MonitorServer_rb.html +119 -0
- data/doc/html/files/lib/ttk/services/TesterClient_rb.html +119 -0
- data/doc/html/files/lib/ttk/services/TesterMaster_rb.html +119 -0
- data/doc/html/files/lib/ttk/services/TesterSlave_rb.html +119 -0
- data/doc/html/files/lib/ttk/status_rb.html +119 -0
- data/doc/html/files/lib/ttk/strategies/Abort_rb.html +119 -0
- data/doc/html/files/lib/ttk/strategies/Authors_rb.html +119 -0
- data/doc/html/files/lib/ttk/strategies/Ball_rb.html +119 -0
- data/doc/html/files/lib/ttk/strategies/Block_rb.html +119 -0
- data/doc/html/files/lib/ttk/strategies/Bootstrap_rb.html +119 -0
- data/doc/html/files/lib/ttk/strategies/Checkout_rb.html +127 -0
- data/doc/html/files/lib/ttk/strategies/Clean_rb.html +119 -0
- data/doc/html/files/lib/ttk/strategies/CmdBase_rb.html +119 -0
- data/doc/html/files/lib/ttk/strategies/Cmd_rb.html +119 -0
- data/doc/html/files/lib/ttk/strategies/Collection_rb.html +119 -0
- data/doc/html/files/lib/ttk/strategies/Compile_rb.html +119 -0
- data/doc/html/files/lib/ttk/strategies/Composite_rb.html +119 -0
- data/doc/html/files/lib/ttk/strategies/Configure_rb.html +119 -0
- data/doc/html/files/lib/ttk/strategies/DistDelegate_rb.html +119 -0
- data/doc/html/files/lib/ttk/strategies/DistDuplicate_rb.html +119 -0
- data/doc/html/files/lib/ttk/strategies/DistStrategy_rb.html +119 -0
- data/doc/html/files/lib/ttk/strategies/Distribute_rb.html +119 -0
- data/doc/html/files/lib/ttk/strategies/Error_rb.html +119 -0
- data/doc/html/files/lib/ttk/strategies/Extract_rb.html +126 -0
- data/doc/html/files/lib/ttk/strategies/Fail_rb.html +119 -0
- data/doc/html/files/lib/ttk/strategies/Fetch_rb.html +127 -0
- data/doc/html/files/lib/ttk/strategies/Fetcher_rb.html +126 -0
- data/doc/html/files/lib/ttk/strategies/Glob_rb.html +119 -0
- data/doc/html/files/lib/ttk/strategies/IOBased_rb.html +119 -0
- data/doc/html/files/lib/ttk/strategies/Import_rb.html +119 -0
- data/doc/html/files/lib/ttk/strategies/JUnit_rb.html +119 -0
- data/doc/html/files/lib/ttk/strategies/KillAll_rb.html +119 -0
- data/doc/html/files/lib/ttk/strategies/Make_rb.html +119 -0
- data/doc/html/files/lib/ttk/strategies/PackageCollection_rb.html +126 -0
- data/doc/html/files/lib/ttk/strategies/Package_rb.html +119 -0
- data/doc/html/files/lib/ttk/strategies/Pass_rb.html +119 -0
- data/doc/html/files/lib/ttk/strategies/Pool_rb.html +119 -0
- data/doc/html/files/lib/ttk/strategies/ProbabilityThreshold_rb.html +119 -0
- data/doc/html/files/lib/ttk/strategies/Proxy_rb.html +119 -0
- data/doc/html/files/lib/ttk/strategies/RUnit_rb.html +127 -0
- data/doc/html/files/lib/ttk/strategies/RemoteCmd_rb.html +126 -0
- data/doc/html/files/lib/ttk/strategies/SignalCmd_rb.html +119 -0
- data/doc/html/files/lib/ttk/strategies/Sleep_rb.html +119 -0
- data/doc/html/files/lib/ttk/strategies/SqlQuery_rb.html +126 -0
- data/doc/html/files/lib/ttk/strategies/Strategy/assert_eval_rb.html +127 -0
- data/doc/html/files/lib/ttk/strategies/Strategy_rb.html +131 -0
- data/doc/html/files/lib/ttk/strategies/Streams/Diff_rb.html +119 -0
- data/doc/html/files/lib/ttk/strategies/Streams/Stream_rb.html +126 -0
- data/doc/html/files/lib/ttk/strategies/Stub_rb.html +119 -0
- data/doc/html/files/lib/ttk/strategies/SubCmd_rb.html +119 -0
- data/doc/html/files/lib/ttk/strategies/Suite_rb.html +119 -0
- data/doc/html/files/lib/ttk/strategies/Test_rb.html +127 -0
- data/doc/html/files/lib/ttk/strategies/Tester_rb.html +126 -0
- data/doc/html/files/lib/ttk/symtbl_rb.html +126 -0
- data/doc/html/files/lib/ttk/testers/Master_rb.html +119 -0
- data/doc/html/files/lib/ttk/testers/Slave_rb.html +119 -0
- data/doc/html/files/lib/ttk/testers/Tester_rb.html +131 -0
- data/doc/html/files/lib/ttk/testers/tester/config_rb.html +126 -0
- data/doc/html/files/lib/ttk/testers/tester/notifier_rb.html +119 -0
- data/doc/html/files/lib/ttk/testers/tester/query_node_rb.html +126 -0
- data/doc/html/files/lib/ttk/testers/tester/remote_status_rb.html +119 -0
- data/doc/html/files/lib/ttk/testers/tester/running_task_rb.html +119 -0
- data/doc/html/files/lib/ttk/testers/tester/score_rb.html +119 -0
- data/doc/html/files/lib/ttk/weights/WExpr_rb.html +119 -0
- data/doc/html/files/lib/ttk/weights/WFloat_rb.html +119 -0
- data/doc/html/files/lib/ttk/weights/WMin_rb.html +119 -0
- data/doc/html/files/lib/ttk/weights/Weight_rb.html +126 -0
- data/doc/html/files/lib/ttk_rb.html +146 -0
- data/doc/html/files/lib/ttkd_rb.html +131 -0
- data/doc/html/files/template/README.html +160 -0
- data/doc/html/files/test/examples/README.html +190 -0
- data/doc/html/fr_class_index.html +186 -0
- data/doc/html/fr_file_index.html +147 -0
- data/doc/html/fr_method_index.html +581 -0
- data/doc/html/index.html +24 -0
- data/doc/html/rdoc-style.css +208 -0
- data/lib/ttk.rb +111 -0
- data/lib/ttk/Tools/HostDispatcher.rb +44 -0
- data/lib/ttk/Tools/SafeEval.rb +64 -0
- data/lib/ttk/Tools/cut_output.rb +35 -0
- data/lib/ttk/Tools/io/delegator.rb +88 -0
- data/lib/ttk/Tools/io/dispatch.rb +31 -0
- data/lib/ttk/Tools/io/ext.rb +70 -0
- data/lib/ttk/Tools/io/filters.rb +71 -0
- data/lib/ttk/daemons/Daemon.rb +34 -0
- data/lib/ttk/daemons/Master.rb +34 -0
- data/lib/ttk/daemons/Slave.rb +29 -0
- data/lib/ttk/daemons/daemon/logger.rb +57 -0
- data/lib/ttk/dumpers/Dumper.rb +81 -0
- data/lib/ttk/dumpers/Notif.rb +33 -0
- data/lib/ttk/dumpers/Xml.rb +112 -0
- data/lib/ttk/dumpers/Yaml.rb +159 -0
- data/lib/ttk/fetchers/Client.rb +41 -0
- data/lib/ttk/fetchers/Server.rb +49 -0
- data/lib/ttk/fetchers/client/receiver.rb +62 -0
- data/lib/ttk/fetchers/server/sender.rb +69 -0
- data/lib/ttk/filters/BasicLogger.rb +30 -0
- data/lib/ttk/filters/Filter.rb +24 -0
- data/lib/ttk/filters/Saver.rb +60 -0
- data/lib/ttk/loaders/Loader.rb +123 -0
- data/lib/ttk/loaders/OYaml.rb +60 -0
- data/lib/ttk/loaders/Yaml.rb +74 -0
- data/lib/ttk/loaders/YamlOld.rb +65 -0
- data/lib/ttk/logger.rb +237 -0
- data/lib/ttk/logger/path.rb +23 -0
- data/lib/ttk/logger/section_node.rb +214 -0
- data/lib/ttk/logger/severity.rb +62 -0
- data/lib/ttk/logger/to_ttk_log.rb +83 -0
- data/lib/ttk/logger/verbosity.rb +61 -0
- data/lib/ttk/logger_factory.rb +50 -0
- data/lib/ttk/monitors/Client.rb +61 -0
- data/lib/ttk/monitors/Monitor.rb +50 -0
- data/lib/ttk/monitors/Server.rb +73 -0
- data/lib/ttk/services/DRbService.rb +45 -0
- data/lib/ttk/services/DRbService/sub_testable.rb +41 -0
- data/lib/ttk/services/FetcherClient.rb +31 -0
- data/lib/ttk/services/FetcherServer.rb +23 -0
- data/lib/ttk/services/MonitorClient.rb +31 -0
- data/lib/ttk/services/MonitorServer.rb +23 -0
- data/lib/ttk/services/TesterClient.rb +38 -0
- data/lib/ttk/services/TesterMaster.rb +40 -0
- data/lib/ttk/services/TesterSlave.rb +31 -0
- data/lib/ttk/status.rb +190 -0
- data/lib/ttk/strategies/Abort.rb +24 -0
- data/lib/ttk/strategies/Authors.rb +43 -0
- data/lib/ttk/strategies/Ball.rb +68 -0
- data/lib/ttk/strategies/Block.rb +95 -0
- data/lib/ttk/strategies/Bootstrap.rb +52 -0
- data/lib/ttk/strategies/Checkout.rb +53 -0
- data/lib/ttk/strategies/Clean.rb +29 -0
- data/lib/ttk/strategies/Cmd.rb +55 -0
- data/lib/ttk/strategies/CmdBase.rb +103 -0
- data/lib/ttk/strategies/Collection.rb +131 -0
- data/lib/ttk/strategies/Compile.rb +56 -0
- data/lib/ttk/strategies/Composite.rb +173 -0
- data/lib/ttk/strategies/Configure.rb +64 -0
- data/lib/ttk/strategies/DistDelegate.rb +45 -0
- data/lib/ttk/strategies/DistDuplicate.rb +64 -0
- data/lib/ttk/strategies/DistStrategy.rb +42 -0
- data/lib/ttk/strategies/Distribute.rb +39 -0
- data/lib/ttk/strategies/Error.rb +23 -0
- data/lib/ttk/strategies/Extract.rb +45 -0
- data/lib/ttk/strategies/Fail.rb +26 -0
- data/lib/ttk/strategies/Fetch.rb +124 -0
- data/lib/ttk/strategies/Fetcher.rb +74 -0
- data/lib/ttk/strategies/Glob.rb +48 -0
- data/lib/ttk/strategies/IOBased.rb +156 -0
- data/lib/ttk/strategies/Import.rb +45 -0
- data/lib/ttk/strategies/JUnit.rb +205 -0
- data/lib/ttk/strategies/KillAll.rb +59 -0
- data/lib/ttk/strategies/Make.rb +94 -0
- data/lib/ttk/strategies/Package.rb +128 -0
- data/lib/ttk/strategies/PackageCollection.rb +72 -0
- data/lib/ttk/strategies/Pass.rb +24 -0
- data/lib/ttk/strategies/Pool.rb +99 -0
- data/lib/ttk/strategies/ProbabilityThreshold.rb +42 -0
- data/lib/ttk/strategies/Proxy.rb +42 -0
- data/lib/ttk/strategies/RUnit.rb +170 -0
- data/lib/ttk/strategies/RemoteCmd.rb +48 -0
- data/lib/ttk/strategies/SignalCmd.rb +85 -0
- data/lib/ttk/strategies/Sleep.rb +36 -0
- data/lib/ttk/strategies/SqlQuery.rb +120 -0
- data/lib/ttk/strategies/Strategy.rb +606 -0
- data/lib/ttk/strategies/Strategy/assert_eval.rb +53 -0
- data/lib/ttk/strategies/Streams/Diff.rb +60 -0
- data/lib/ttk/strategies/Streams/Stream.rb +133 -0
- data/lib/ttk/strategies/Stub.rb +35 -0
- data/lib/ttk/strategies/SubCmd.rb +58 -0
- data/lib/ttk/strategies/Suite.rb +118 -0
- data/lib/ttk/strategies/Test.rb +88 -0
- data/lib/ttk/strategies/Tester.rb +59 -0
- data/lib/ttk/symtbl.rb +115 -0
- data/lib/ttk/testers/Master.rb +69 -0
- data/lib/ttk/testers/Slave.rb +19 -0
- data/lib/ttk/testers/Tester.rb +134 -0
- data/lib/ttk/testers/tester/config.rb +65 -0
- data/lib/ttk/testers/tester/notifier.rb +24 -0
- data/lib/ttk/testers/tester/query_node.rb +91 -0
- data/lib/ttk/testers/tester/remote_status.rb +29 -0
- data/lib/ttk/testers/tester/running_task.rb +47 -0
- data/lib/ttk/testers/tester/score.rb +34 -0
- data/lib/ttk/weights/WExpr.rb +68 -0
- data/lib/ttk/weights/WFloat.rb +23 -0
- data/lib/ttk/weights/WMin.rb +22 -0
- data/lib/ttk/weights/Weight.rb +85 -0
- data/lib/ttkd.rb +51 -0
- data/ruby_ex/abstract.rb +246 -0
- data/ruby_ex/abstract_node.rb +85 -0
- data/ruby_ex/array_each_pair.rb +18 -0
- data/ruby_ex/ask.rb +101 -0
- data/ruby_ex/attributed_class.rb +304 -0
- data/ruby_ex/cache.rb +373 -0
- data/ruby_ex/checkout.rb +12 -0
- data/ruby_ex/config_file.rb +96 -0
- data/ruby_ex/const_regexp.rb +59 -0
- data/ruby_ex/daemon.rb +134 -0
- data/ruby_ex/diff.rb +667 -0
- data/ruby_ex/dlogger.rb +62 -0
- data/ruby_ex/drb/dispatcher.rb +252 -0
- data/ruby_ex/drb/dispatcher_server_test.rb +29 -0
- data/ruby_ex/drb/drb_observable.rb +97 -0
- data/ruby_ex/drb/drb_observable_pool.rb +27 -0
- data/ruby_ex/drb/drb_service.rb +43 -0
- data/ruby_ex/drb/drb_undumped_attributes.rb +55 -0
- data/ruby_ex/drb/drb_undumped_indexed_object.rb +54 -0
- data/ruby_ex/drb/insecure_protected_methods.rb +103 -0
- data/ruby_ex/drb/session_client_test.rb +40 -0
- data/ruby_ex/drb/session_manager.rb +246 -0
- data/ruby_ex/drb/session_server.rb +53 -0
- data/ruby_ex/dtime.rb +143 -0
- data/ruby_ex/dumpable_proc.rb +63 -0
- data/ruby_ex/exception.rb +32 -0
- data/ruby_ex/filetype.rb +229 -0
- data/ruby_ex/fileutils_ex.rb +44 -0
- data/ruby_ex/fold.rb +58 -0
- data/ruby_ex/generate_id.rb +31 -0
- data/ruby_ex/inactive_timeout.rb +137 -0
- data/ruby_ex/indexed_node.rb +66 -0
- data/ruby_ex/io_marshal.rb +100 -0
- data/ruby_ex/ioo.rb +194 -0
- data/ruby_ex/labeled_node.rb +63 -0
- data/ruby_ex/logger_observer.rb +23 -0
- data/ruby_ex/md5sum.rb +66 -0
- data/ruby_ex/mktemp.rb +208 -0
- data/ruby_ex/module/attr_once.rb +36 -0
- data/ruby_ex/module/autoload_tree.rb +68 -0
- data/ruby_ex/module/hierarchy.rb +335 -0
- data/ruby_ex/module/instance_method_visibility.rb +73 -0
- data/ruby_ex/module_ex.rb +11 -0
- data/ruby_ex/node.rb +80 -0
- data/ruby_ex/object_monitor.rb +145 -0
- data/ruby_ex/object_monitor_activity.rb +33 -0
- data/ruby_ex/observable.rb +140 -0
- data/ruby_ex/observable_pool.rb +293 -0
- data/ruby_ex/orderedhash.rb +252 -0
- data/ruby_ex/pathname_ex.rb +113 -0
- data/ruby_ex/pp_hierarchy.rb +29 -0
- data/ruby_ex/pseudo_cache.rb +190 -0
- data/ruby_ex/queue.rb +56 -0
- data/ruby_ex/safe_eval.rb +348 -0
- data/ruby_ex/service_manager.rb +121 -0
- data/ruby_ex/session/administrable.rb +120 -0
- data/ruby_ex/session/client.rb +153 -0
- data/ruby_ex/session/const.rb +18 -0
- data/ruby_ex/session/dispatcher.rb +184 -0
- data/ruby_ex/session/error.rb +21 -0
- data/ruby_ex/session/fetchable.rb +57 -0
- data/ruby_ex/session/fetcher.rb +62 -0
- data/ruby_ex/session/hookable.rb +26 -0
- data/ruby_ex/session/profile.rb +110 -0
- data/ruby_ex/session/server.rb +582 -0
- data/ruby_ex/session/test/administrable_test.rb +337 -0
- data/ruby_ex/session/test/basic_test.rb +523 -0
- data/ruby_ex/session/test/dispatcher_test.rb +409 -0
- data/ruby_ex/session/test/fetchable_test.rb +119 -0
- data/ruby_ex/session/test/sub_server_test.rb +188 -0
- data/ruby_ex/spring.rb +136 -0
- data/ruby_ex/spring_set.rb +137 -0
- data/ruby_ex/symtbl.rb +106 -0
- data/ruby_ex/synflow.rb +474 -0
- data/ruby_ex/test/unit/ui/yaml/testrunner.rb +164 -0
- data/ruby_ex/thread_mutex.rb +10 -0
- data/ruby_ex/timeout_ex.rb +81 -0
- data/ruby_ex/top_down.rb +73 -0
- data/ruby_ex/trace.rb +26 -0
- data/ruby_ex/uri/druby.rb +81 -0
- data/ruby_ex/uri/file.rb +39 -0
- data/ruby_ex/uri/ftp_ex.rb +37 -0
- data/ruby_ex/uri/http_ex.rb +43 -0
- data/ruby_ex/uri/svn.rb +101 -0
- data/ruby_ex/uri_ex.rb +35 -0
- data/ruby_ex/version.rb +66 -0
- data/ruby_ex/yaml/basenode_ext.rb +63 -0
- data/ruby_ex/yaml/transform.rb +447 -0
- data/ruby_ex/yaml/yregexpath.rb +76 -0
- data/test/all/TestTAssert/first.yml +65 -0
- data/test/all/TestTAssert/segfault.yml +31 -0
- data/test/all/dist-suite-indirect-nested.yml +15 -0
- data/test/all/dist-suite-nested-3.yml +16 -0
- data/test/all/dist-suite-nested-in-pool.yml +51 -0
- data/test/all/dist-suite-nested.yml +28 -0
- data/test/all/no_suite.yml +18 -0
- data/test/all/pipeline-timeout.yml +21 -0
- data/test/all/remote_cmd.yml +23 -0
- data/test/all/remote_dispatcher.yml +26 -0
- data/test/all/suite_timeout.yml +32 -0
- data/test/all/weight.yml +113 -0
- data/test/all/xunit/junit/MultiRight/Foo/Foo.java +11 -0
- data/test/all/xunit/junit/MultiRight/Foo/FooTest.java +15 -0
- data/test/all/xunit/junit/MultiRight/MultiRight.java +13 -0
- data/test/all/xunit/junit/MultiRight/MultiRightTest.java +12 -0
- data/test/all/xunit/junit/MultiRight/bar/Bar.java +11 -0
- data/test/all/xunit/junit/MultiRight/bar/BarTest.java +21 -0
- data/test/all/xunit/junit/MultiRight/build.sh +7 -0
- data/test/all/xunit/junit/SimpleException/SimpleExceptionTest.java +11 -0
- data/test/all/xunit/junit/SimpleException/build.sh +4 -0
- data/test/all/xunit/junit/build.sh +9 -0
- data/test/all/xunit/junit/multibar.yml +6 -0
- data/test/all/xunit/junit/multifoo.yml +6 -0
- data/test/all/xunit/junit/multiright.yml +8 -0
- data/test/all/xunit/junit/simple_exception.yml +6 -0
- data/test/examples-suite.yml +10 -0
- data/test/examples/README +68 -0
- data/test/examples/cache/simple.yml +33 -0
- data/test/examples/sql/basic.yml +26 -0
- data/test/examples/students-suite.yml +11 -0
- data/test/examples/students/ball.yml +13 -0
- data/test/examples/students/glob_stud.yml +23 -0
- data/test/examples/students/mini-lib.yml +73 -0
- data/test/examples/students/pool_stud.yml +35 -0
- data/test/examples/students/stud.yml +25 -0
- data/test/ressources/ball/20040804-exam_a1-zapngo-tessar_m.tar.gz +0 -0
- data/test/ressources/ball/Makefile +24 -0
- data/test/ressources/ball/bar_p-mini-lib.tar.bz2 +0 -0
- data/test/ressources/ball/bar_p-mini-lib/Makefile +20 -0
- data/test/ressources/ball/bar_p-mini-lib/my_strlen.c +13 -0
- data/test/ressources/ball/foo_s-mini-lib.tar.bz2 +0 -0
- data/test/ressources/ball/foo_s-mini-lib/Makefile +20 -0
- data/test/ressources/ball/foo_s-mini-lib/configure +2 -0
- data/test/ressources/ball/foo_s-mini-lib/my_strlen.c +10 -0
- data/test/ressources/ball/hello.tar.bz2 +0 -0
- data/test/ressources/ball/hello.tar.gz +0 -0
- data/test/ressources/ball/hello/Makefile +14 -0
- data/test/ressources/ball/hello/hello.c +7 -0
- data/test/ressources/ball/jack-exit.tar.bz2 +0 -0
- data/test/ressources/ball/jack-exit/Makefile +14 -0
- data/test/ressources/ball/jack-exit/exit.c +16 -0
- data/test/ressources/ball/joe-exit.tar.bz2 +0 -0
- data/test/ressources/ball/joe-exit/Makefile +14 -0
- data/test/ressources/ball/joe-exit/exit.c +8 -0
- data/test/ressources/ball/joe_i-mini-lib.tar.bz2 +0 -0
- data/test/ressources/ball/joe_i-mini-lib/Makefile +20 -0
- data/test/ressources/ball/joe_i-mini-lib/configure +2 -0
- data/test/ressources/ball/joe_i-mini-lib/my_strlen.c +10 -0
- data/test/ressources/ball/john-exit.tar.bz2 +0 -0
- data/test/ressources/ball/john-exit/Makefile +14 -0
- data/test/ressources/ball/john-exit/exit.c +6 -0
- data/test/ressources/ball/qux_j-mini-lib.tar.bz2 +0 -0
- data/test/ressources/ball/qux_j-mini-lib/Makefile +20 -0
- data/test/ressources/ball/qux_j-mini-lib/my_strlen.c +12 -0
- data/test/ressources/mini-lib/Makefile +9 -0
- data/test/ressources/mini-lib/strlen.c +15 -0
- data/test/ressources/package/pkg_foo.tar.gz +0 -0
- data/test/ressources/package/pkg_foo/Makefile +20 -0
- data/test/ressources/package/pkg_foo/bootstrap +3 -0
- data/test/ressources/package/pkg_foo/configure +3 -0
- data/test/ressources/package/pkg_foo/foo.sh +2 -0
- data/test/ressources/runit/bad.rb +30 -0
- data/test/ressources/runit/error.rb +6 -0
- data/test/ressources/runit/good.rb +30 -0
- data/test/ressources/text/1.txt +4 -0
- data/test/runit/dumpers/xml_test.rb +75 -0
- data/test/runit/dumpers/yaml_test.rb +68 -0
- data/test/runit/fetchers/fetchers_test.rb +48 -0
- data/test/runit/loaders/OYaml_test.rb +35 -0
- data/test/runit/logger/section_node_test.rb +125 -0
- data/test/runit/logger/severity_test.rb +41 -0
- data/test/runit/logger/verbosity_test.rb +49 -0
- data/test/runit/logger_test.rb +295 -0
- data/test/runit/strategies/Strategy/assert_eval_test.rb +196 -0
- data/test/ttk-check +26 -0
- data/test/ttk-dist-suite.yml +44 -0
- data/test/ttk-dist/cat/file.in +3 -0
- data/test/ttk-dist/cat/file.out +3 -0
- data/test/ttk-dist/dist-abort.yml +51 -0
- data/test/ttk-dist/dist-cat.yml +38 -0
- data/test/ttk-dist/dist-delegate.yml +56 -0
- data/test/ttk-dist/dist-dispatch.yml +28 -0
- data/test/ttk-dist/dist-error.yml +10 -0
- data/test/ttk-dist/dist-fail.yml +9 -0
- data/test/ttk-dist/dist-nested-pass.yml +11 -0
- data/test/ttk-dist/dist-pass.yml +8 -0
- data/test/ttk-dist/dist-ribute.yml +31 -0
- data/test/ttk-dist/dist-suite.yml +18 -0
- data/test/ttk-dist/local-fetch.yml +17 -0
- data/test/ttk-dist/tester.yml +36 -0
- data/test/ttk-minimal-suite.yml +12 -0
- data/test/ttk-minimal/author.yml +14 -0
- data/test/ttk-minimal/base.yml +137 -0
- data/test/ttk-minimal/block.yml +15 -0
- data/test/ttk-minimal/cat.yml +19 -0
- data/test/ttk-minimal/diff.yml +29 -0
- data/test/ttk-minimal/env_cmd.yml +54 -0
- data/test/ttk-minimal/exit.yml +17 -0
- data/test/ttk-minimal/fatal.yml +32 -0
- data/test/ttk-minimal/glob.yml +13 -0
- data/test/ttk-minimal/import.yml +33 -0
- data/test/ttk-minimal/killall.yml +36 -0
- data/test/ttk-minimal/pkg.yml +18 -0
- data/test/ttk-minimal/pool.yml +44 -0
- data/test/ttk-minimal/probability_threshold.yml +39 -0
- data/test/ttk-minimal/runit.yml +25 -0
- data/test/ttk-minimal/signal_cmd.yml +24 -0
- data/test/ttk-minimal/sub.yml +9 -0
- data/test/ttk-minimal/test.yml +26 -0
- data/test/ttk-minimal/timeout.yml +24 -0
- data/test/ttk-minimal/unit_test.yml +13 -0
- data/test/ttk-minimal/wc.yml +28 -0
- 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
data/bin/getopts/ttk.rb
ADDED
|
@@ -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
|
+
|