1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
CLEAN.include %w(coverage tmp log)
if RUBY_1_9 # RSpec not yet working w/ Ruby 1.9
task :spec do
warn 'RSpec not yet supporting Ruby 1.9, so cannot run the specs :('
end
else
require 'spec/rake/spectask'
PERF_SPECS = FileList['spec/perf/*_spec.rb']
WIN_SPECS = %w(
spec/backends/unix_server_spec.rb
spec/controllers/service_spec.rb
spec/daemonizing_spec.rb
spec/server/unix_socket_spec.rb
spec/server/swiftiply_spec.rb
)
# HACK Event machine causes some problems when running multiple
# tests in the same VM so we split the specs in 2 before I find
# a better solution...
SPECS2 = %w(spec/server/threaded_spec.rb spec/server/tcp_spec.rb)
SPECS = FileList['spec/**/*_spec.rb'] - PERF_SPECS - SPECS2
def spec_task(name, specs)
Spec::Rake::SpecTask.new(name) do |t|
t.libs << 'lib'
t.spec_opts = %w(-fs -c)
t.spec_files = specs
end
end
desc "Run all examples"
spec_task :spec, SPECS
spec_task :spec2, SPECS2
task :spec => [:compile, :spec2]
desc "Run all performance examples"
spec_task 'spec:perf', PERF_SPECS
task :check_benchmark_unit_gem do
begin
require 'benchmark_unit'
rescue LoadError
abort "To run specs, install benchmark_unit gem"
end
end
task 'spec:perf' => :check_benchmark_unit_gem
end
|