Class: Fog::Rake::TestTask
- Inherits:
-
Rake::TaskLib
- Object
- Rake::TaskLib
- Fog::Rake::TestTask
- Defined in:
- lib/tasks/test_task.rb
Instance Method Summary collapse
-
#initialize ⇒ TestTask
constructor
A new instance of TestTask.
- #tests(mocked) ⇒ Object
Constructor Details
#initialize ⇒ TestTask
Returns a new instance of TestTask.
7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/tasks/test_task.rb', line 7 def initialize desc "Run the mocked tests" task :test do ::Rake::Task[:mock_tests].invoke end task :mock_tests do tests(true) end task :real_tests do tests(false) end end |
Instance Method Details
#tests(mocked) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/tasks/test_task.rb', line 22 def tests(mocked) Fog::Formatador.display_line start = Time.now.to_i threads = [] Thread.main[:results] = [] Fog.providers.each do |key, value| threads << Thread.new do Thread.main[:results] << { :provider => value, :success => sh("export FOG_MOCK=#{mocked} && bundle exec shindont +#{key}") } end end threads.each(&:join) Fog::Formatador.display_table(Thread.main[:results].sort { |x, y| x[:provider] <=> y[:provider] }) Fog::Formatador.display_line("[bold]FOG_MOCK=#{mocked}[/] tests completed in [bold]#{Time.now.to_i - start}[/] seconds") Fog::Formatador.display_line end |