Sha256: fab453860ef06d87b83be613080b0858bf5370c91b1982cf4c46cd452021fab4
Contents?: true
Size: 1.67 KB
Versions: 1
Compression:
Stored size: 1.67 KB
Contents
module VirtualMonkey module Command # monkey clone --deployment name --feature testcase.rb --breakpoint 4 --copies 7 def self.clone options = Trollop::options do opt :deployment, "regex string to use for matching deployment", :type => :string, :short => '-d', :required => true opt :feature, "path to feature(s) to run against the deployments", :type => :string opt :breakpoint, "feature file line to stop at", :type => :integer, :short => '-b' opt :copies, "number of copies to make (default is 1)", :type => :integer, :short => '-c' end options[:copies] = 1 unless options[:copies] > 1 options[:no_resume] = true dm = DeploymentMonk.new(options[:deployment]) if dm.deployments.length > 1 raise "FATAL: Ambiguous Regex; more than one deployment matched /#{options[:deployment]}/" elsif dm.deployments.length < 1 raise "FATAL: Ambiguous Regex; no deployment matched /#{options[:deployment]}/" end origin = dm.deployments.first do_these ||= [] # clone deployment for i in 1 .. options[:copies] new_deploy = origin.clone new_deploy.nickname = "#{origin.nickname}-clone-#{i}" new_deploy.save do_these << new_deploy end # run to breakpoint if options[:feature] EM.run { cm = CukeMonk.new cm.options = options do_these.each do |deploy| cm.run_test(deploy, options[:feature]) end watch = EM.add_periodic_timer(10) { if cm.all_done? watch.cancel end cm.watch_and_report } } end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
virtualmonkey-0.0.1 | lib/virtualmonkey/command/clone.rb |