2013-06-18 18:12:14 -04:00
require 'simplecov'
2013-07-25 11:47:02 -04:00
if ENV [ 'COVERAGE' ] != 'false' && RUBY_VERSION != " 1.9.2 "
require 'coveralls'
2013-06-25 12:18:32 -04:00
SimpleCov . command_name " shindo: #{ Process . pid . to_s } "
SimpleCov . formatter = SimpleCov :: Formatter :: MultiFormatter [
SimpleCov :: Formatter :: HTMLFormatter ,
Coveralls :: SimpleCov :: Formatter
]
SimpleCov . merge_timeout 3600
SimpleCov . start
end
2013-06-18 18:12:14 -04:00
2012-10-29 12:14:42 -04:00
ENV [ 'FOG_RC' ] = ENV [ 'FOG_RC' ] || File . expand_path ( '../.fog' , __FILE__ )
ENV [ 'FOG_CREDENTIAL' ] = ENV [ 'FOG_CREDENTIAL' ] || 'default'
2012-10-18 20:14:23 -04:00
2011-01-10 01:12:48 -05:00
require 'fog'
2012-08-15 12:24:17 -04:00
require 'fog/bin' # for available_providers and registered_providers
2010-11-04 14:12:44 -04:00
2013-06-05 15:46:52 -04:00
Excon . defaults . merge! ( :debug_request = > true , :debug_response = > true )
2011-02-05 12:28:36 -05:00
require File . expand_path ( File . join ( File . dirname ( __FILE__ ) , 'helpers' , 'mock_helper' ) )
2010-11-21 09:02:34 -05:00
2011-01-21 20:42:56 -05:00
def lorem_file
File . open ( File . dirname ( __FILE__ ) + '/lorem.txt' , 'r' )
2011-01-14 14:01:02 -05:00
end
2011-10-26 10:08:48 -04:00
def array_differences ( array_a , array_b )
( array_a - array_b ) | ( array_b - array_a )
end
2010-11-22 20:49:27 -05:00
# check to see which credentials are available and add others to the skipped tags list
2012-08-15 12:24:17 -04:00
all_providers = Fog . registered_providers . map { | provider | provider . downcase }
# Manually remove these providers since they are local applications, not lacking credentials
2013-05-27 13:26:47 -04:00
all_providers = all_providers - [ " libvirt " , " vmfusion " , " openvz " ]
2012-08-15 12:24:17 -04:00
2011-05-24 20:31:05 -04:00
available_providers = Fog . available_providers . map { | provider | provider . downcase }
2012-08-15 12:24:17 -04:00
unavailable_providers = all_providers - available_providers
2013-12-26 06:45:19 -05:00
if ! ENV [ 'PROVIDER' ] . nil? && unavailable_providers . include? ( ENV [ 'PROVIDER' ] )
Formatador . display_line ( " [red]Requested provider #{ ENV [ 'PROVIDER' ] } is not available.[/] " +
" [red]Check if .fog file has correct configuration (see ' #{ Fog . credentials_path } ')[/] " )
exit ( 0 )
end
2012-08-15 12:24:17 -04:00
for provider in unavailable_providers
2012-10-18 20:14:23 -04:00
Formatador . display_line ( " [yellow]Skipping tests for [bold] #{ provider } [/] [yellow]due to lacking credentials (add some to ' #{ Fog . credentials_path } ' to run them)[/] " )
2010-11-22 20:49:27 -05:00
Thread . current [ :tags ] << ( '-' << provider )
end
2012-05-28 14:06:46 -04:00
# mark libvirt tests pending if not setup
begin
require ( 'ruby-libvirt' )
rescue LoadError
2012-05-28 16:17:12 -04:00
Formatador . display_line ( " [yellow]Skipping tests for [bold]libvirt[/] [yellow]due to missing `ruby-libvirt` gem.[/] " )
2012-05-28 14:06:46 -04:00
Thread . current [ :tags ] << '-libvirt'
end