Sha256: dc6e7456af6b738e69220e9934edd9d4332498aa35d1a42a02c2e9cf161a62fb

Contents?: true

Size: 1.15 KB

Versions: 6

Compression:

Stored size: 1.15 KB

Contents

require 'bundler/gem_tasks'
require 'rspec/core/rake_task'
require 'rake/testtask'

RSpec::Core::RakeTask.new(:spec)
task default: [:ci]

desc 'Run specs in isolation'
task :"spec:isolation" do
  FileList['spec/**/*_spec.rb'].each do |spec|
    sh 'rspec', spec
  end
end

desc 'Run CI tasks'
task ci: [:spec, :lint, :"spec:isolation"]

Rake::TestTask.new(:lint) do |test|
  test.description = 'Run adapter lint tests against memory adapter'
  test.test_files = FileList.new('spec/test/*_test.rb')
  test.libs << 'test'
  test.verbose = true
end

begin
  require 'rubocop/rake_task'

  Rake::Task[:default].enhance [:rubocop]

  RuboCop::RakeTask.new do |task|
    task.options << '--display-cop-names' << '--lint'
  end
end

desc 'Run mutant against a specific subject'
task :mutant do
  subject = ARGV.last
  if subject == 'mutant'
    abort "usage: rake mutant SUBJECT\nexample: rake mutant Syncano::API"
  else
    opts = {
      'include' => 'lib',
      'require' => 'syncano',
      'use' => 'rspec',
      'ignore-subject' => "#{subject}#respond_to_missing?"
    }.to_a.map { |k, v| "--#{k} #{v}" }.join(' ')

    exec("bundle exec mutant #{opts} #{subject}")
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
syncano-4.0.0.alpha4 Rakefile
syncano-4.0.0.alpha3 Rakefile
syncano-4.0.0.alpha2 Rakefile
syncano-4.0.0.alpha1 Rakefile
syncano-4.0.0.alpha Rakefile
syncano-4.0.0.pre Rakefile