Sha256: 05593a1aa3c5ad690dd93d422f63540efa3b0a5d59da9e0d00b69906f0e5e166
Contents?: true
Size: 1.18 KB
Versions: 4
Compression:
Stored size: 1.18 KB
Contents
require 'rspec/core' require 'rspec/core/rake_task' TESTS = [ %w{head 9297}, %w{2.4.2 9296}, %w{2.3.0 9295}, %w{2.2.0 9294}, %w{2.1.0 9293} ] DATABASE_VERSION = TESTS.first.first def start_pact_broker code_version, port Bundler.with_clean_env do IO.popen("bundle exec appraisal #{code_version} rackup -p #{port}") end end def kill_servers Dir.chdir('pids') { Dir.glob("*") }.collect(&:to_i).each do | pid | Process.kill 'KILL', pid end end def clean require 'fileutils' FileUtils.rm_rf 'pids' FileUtils.mkdir 'pids' FileUtils.rm_rf 'pact_broker_database.sqlite3' FileUtils.rm_rf 'log' end RSpec::Core::RakeTask.new(:spec) do |task| task.pattern = 'spec/**/*_spec.rb' end desc 'Ensure code from previous versions is compatible with latest database' task 'db:check_backwards_compatibility' do ENV['PACT_BROKER_DATABASE_VERSION'] = DATABASE_VERSION clean begin TESTS.each do | (code_version, port) | start_pact_broker code_version, port ENV['PACT_BROKER_CODE_VERSION'] = code_version ENV['PORT'] = port Rake::Task["spec"].execute end ensure kill_servers end end task :default => ['db:check_backwards_compatibility']
Version data entries
4 entries across 4 versions & 1 rubygems