From a1957361ee51d570364b7842676d5afc8457b150 Mon Sep 17 00:00:00 2001 From: Benjamin Neff Date: Wed, 24 Jun 2015 03:09:14 +0200 Subject: [PATCH] WIP: move test dependencies to gemspec TODO: some dependencies are still needed in the Gemfile ... --- .rspec | 2 +- Gemfile | 18 ++++-------------- Gemfile.lock | 13 +++++-------- Rakefile | 3 ++- diaspora_federation.gemspec | 22 +++++++++++++++++++--- lib/tasks/tests.rake | 15 +++++---------- script/ci/travis.sh | 4 ++-- test/dummy/bin/rails | 4 ---- 8 files changed, 38 insertions(+), 43 deletions(-) diff --git a/.rspec b/.rspec index 7462e30..a59484b 100644 --- a/.rspec +++ b/.rspec @@ -1,3 +1,3 @@ --format Fuubar --color ---require spec_helper \ No newline at end of file +--require spec_helper diff --git a/Gemfile b/Gemfile index bbb0c3d..8fbd501 100644 --- a/Gemfile +++ b/Gemfile @@ -25,24 +25,16 @@ end group :test do # unit tests - gem "rspec-instafail", "0.2.6", require: false - gem "fuubar", "2.0.0" + gem "fuubar", "2.0.0", require: false gem "nyan-cat-formatter", require: false # test coverage gem "simplecov", "0.10.0", require: false gem "simplecov-rcov", "0.2.3", require: false gem "codeclimate-test-reporter", require: false - - # test helpers - gem "fixture_builder", "0.4.1" - gem "factory_girl_rails", "4.5.0" end group :development, :test do - # unit tests - gem "rspec-rails", "3.3.2" - # automatic test runs gem "guard-rspec", require: false @@ -50,11 +42,9 @@ group :development, :test do gem "spring" gem "spring-commands-rspec" - # GUID generation - gem "uuid", "2.3.8" - - # test database - gem "sqlite3" + # TODO: development dependencies from gemspec + gem "rspec-rails", "~> 3.3.2" + gem "uuid", "~> 2.3.8" end group :development, :production do diff --git a/Gemfile.lock b/Gemfile.lock index 81857d7..602ffda 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -174,8 +174,6 @@ GEM rspec-expectations (3.3.0) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.3.0) - rspec-instafail (0.2.6) - rspec rspec-mocks (3.3.1) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.3.0) @@ -231,8 +229,8 @@ PLATFORMS DEPENDENCIES codeclimate-test-reporter diaspora_federation! - factory_girl_rails (= 4.5.0) - fixture_builder (= 0.4.1) + factory_girl_rails (~> 4.5.0) + fixture_builder (~> 0.4.1) fuubar (= 2.0.0) guard-rspec logging-rails (= 0.5.0) @@ -240,15 +238,14 @@ DEPENDENCIES pry pry-byebug pry-debundle - rspec-instafail (= 0.2.6) - rspec-rails (= 3.3.2) + rspec-rails (~> 3.3.2) rubocop (= 0.32.0) simplecov (= 0.10.0) simplecov-rcov (= 0.2.3) spring spring-commands-rspec - sqlite3 - uuid (= 2.3.8) + sqlite3 (~> 1.3.10) + uuid (~> 2.3.8) yard BUNDLED WITH diff --git a/Rakefile b/Rakefile index ed9f833..5dc3f7d 100644 --- a/Rakefile +++ b/Rakefile @@ -22,4 +22,5 @@ Bundler::GemHelper.install_tasks Rails.application.load_tasks -task default: :spec +task test: %w(spec:prepare spec) +task default: :test diff --git a/diaspora_federation.gemspec b/diaspora_federation.gemspec index 66d2e6e..7fb2dd9 100644 --- a/diaspora_federation.gemspec +++ b/diaspora_federation.gemspec @@ -14,9 +14,25 @@ Gem::Specification.new do |s| s.description = "A rails engine that adds the diaspora* federation protocol to a rails app" s.license = "AGPL 3.0 - http://www.gnu.org/licenses/agpl-3.0.html" - s.files = Dir["{app,config,db,lib}/**/*", "LICENSE", "Rakefile", "README.md"] - s.test_files = Dir["test/**/*"] + s.files = Dir["{app,lib}/**/*", "config/routes.rb", "LICENSE", "Rakefile", "README.md"] + s.test_files = `git ls-files -- {test,spec}/*`.split("\n") - s.add_dependency "rails", "~> 4.2.2" + s.add_dependency "rails", "~> 4.2.2" s.add_dependency "nokogiri", "~> 1.6.6.2" + + ############################ + # development dependencies # + ############################ + + # unit tests + s.add_development_dependency "rspec-rails", "~> 3.3.2" + # test helpers + s.add_development_dependency "fixture_builder", "~> 0.4.1" + s.add_development_dependency "factory_girl_rails", "~> 4.5.0" + + # GUID generation + s.add_development_dependency "uuid", "~> 2.3.8" + + # test database + s.add_development_dependency "sqlite3", "~> 1.3.10" end diff --git a/lib/tasks/tests.rake b/lib/tasks/tests.rake index 8784c2b..fefde55 100644 --- a/lib/tasks/tests.rake +++ b/lib/tasks/tests.rake @@ -1,22 +1,17 @@ -namespace :ci do - namespace :travis do +if defined?(RSpec) + namespace :spec do task prepare_db: %w(db:create db:test:load) task :prepare_fixtures do ENV["NO_COVERAGE"] = "true" Rake::Task["spec:generate_fixtures"].invoke ENV["NO_COVERAGE"] = "false" end + + desc "Prepare for rspec" task prepare: %w(prepare_db prepare_fixtures) - desc "Run specs" - task run: %w(prepare spec) - end -end - -if defined?(RSpec) - namespace :spec do desc "Run all specs that generate fixtures for rspec" - RSpec::Core::RakeTask.new(generate_fixtures: "spec:prepare") do |t| + RSpec::Core::RakeTask.new(:generate_fixtures) do |t| t.rspec_opts = ["--tag fixture"] end end diff --git a/script/ci/travis.sh b/script/ci/travis.sh index 0905da9..39cb575 100755 --- a/script/ci/travis.sh +++ b/script/ci/travis.sh @@ -1,4 +1,4 @@ #!/bin/sh -command="bundle exec rake --trace ci:travis:run" -exec $command \ No newline at end of file +command="bundle exec rake --trace" +exec $command diff --git a/test/dummy/bin/rails b/test/dummy/bin/rails index 4d608ed..5191e69 100755 --- a/test/dummy/bin/rails +++ b/test/dummy/bin/rails @@ -1,8 +1,4 @@ #!/usr/bin/env ruby -begin - load File.expand_path("../spring", __FILE__) -rescue LoadError -end APP_PATH = File.expand_path('../../config/application', __FILE__) require_relative '../config/boot' require 'rails/commands'