#!/usr/bin/env rake
# Add your own tasks in files placed in lib/tasks ending in .rake,
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.

require File.expand_path('../config/application', __FILE__)

begin
  ok = PgPower
rescue
  abort "Hm, pg_power is missing. Make sure you use 'bundle exec rake ...'"
end

Server::Application.load_tasks

namespace :test do
  task(:run).clear
  # Copied from the definition in Rails 3.2.
  # This may need to be updated if we upgrade Rails.
  task :run do
    errors = %w(test:units test:functionals test:integration test:tasks).collect do |task|
      begin
        Rake::Task[task].invoke
        nil
      rescue => e
        { :task => task, :exception => e }
      end
    end.compact

    if errors.any?
      puts errors.map { |e| "Errors running #{e[:task]}! #{e[:exception].inspect}" }.join("\n")
      abort
    end
  end
end