diff options
author | David Rodríguez <deivid.rodriguez@riseup.net> | 2020-01-04 06:12:19 +0100 |
---|---|---|
committer | David Rodríguez <deivid.rodriguez@riseup.net> | 2020-01-05 15:24:49 +0100 |
commit | 1daae58d9a139425d6a0a4d940b04ad3af08bb9f (patch) | |
tree | 22ee4bcfedb01df575baa44379343a14c611da37 | |
parent | f1f8800634e04cff6b89fa14b451d1c3121d0a49 (diff) | |
download | bundler-1daae58d9a139425d6a0a4d940b04ad3af08bb9f.tar.gz |
Extract `in_repo_root`
-rw-r--r-- | spec/quality_es_spec.rb | 4 | ||||
-rw-r--r-- | spec/quality_spec.rb | 20 | ||||
-rw-r--r-- | spec/support/helpers.rb | 2 | ||||
-rw-r--r-- | spec/support/path.rb | 8 |
4 files changed, 19 insertions, 15 deletions
diff --git a/spec/quality_es_spec.rb b/spec/quality_es_spec.rb index 4238ac7452..4224d6244f 100644 --- a/spec/quality_es_spec.rb +++ b/spec/quality_es_spec.rb @@ -40,7 +40,7 @@ RSpec.describe "La biblioteca si misma" do it "mantiene la calidad de lenguaje de la documentación" do included = /ronn/ error_messages = [] - Dir.chdir(root) do + in_repo_root do `git ls-files -z -- man`.split("\x0").each do |filename| next unless filename =~ included error_messages << check_for_expendable_words(filename) @@ -53,7 +53,7 @@ RSpec.describe "La biblioteca si misma" do it "mantiene la calidad de lenguaje de oraciones usadas en el código fuente" do error_messages = [] exempt = /vendor/ - Dir.chdir(root) do + in_repo_root do lib_tracked_files.split("\x0").each do |filename| next if filename =~ exempt error_messages << check_for_expendable_words(filename) diff --git a/spec/quality_spec.rb b/spec/quality_spec.rb index 09e59d88ae..b519a8747b 100644 --- a/spec/quality_spec.rb +++ b/spec/quality_spec.rb @@ -107,7 +107,7 @@ RSpec.describe "The library itself" do it "has no malformed whitespace" do exempt = /\.gitmodules|fixtures|vendor|LICENSE|vcr_cassettes|rbreadline\.diff|\.txt$/ error_messages = [] - Dir.chdir(root) do + in_repo_root do tracked_files.split("\x0").each do |filename| next if filename =~ exempt error_messages << check_for_tab_characters(filename) @@ -120,7 +120,7 @@ RSpec.describe "The library itself" do it "has no estraneous quotes" do exempt = /vendor|vcr_cassettes|LICENSE|rbreadline\.diff/ error_messages = [] - Dir.chdir(root) do + in_repo_root do tracked_files.split("\x0").each do |filename| next if filename =~ exempt error_messages << check_for_straneous_quotes(filename) @@ -132,7 +132,7 @@ RSpec.describe "The library itself" do it "does not include any leftover debugging or development mechanisms" do exempt = %r{quality_spec.rb|support/helpers|vcr_cassettes|\.md|\.ronn|\.txt|\.5|\.1} error_messages = [] - Dir.chdir(root) do + in_repo_root do tracked_files.split("\x0").each do |filename| next if filename =~ exempt error_messages << check_for_debugging_mechanisms(filename) @@ -144,7 +144,7 @@ RSpec.describe "The library itself" do it "does not include any unresolved merge conflicts" do error_messages = [] exempt = %r{lock/lockfile_spec|quality_spec|vcr_cassettes|\.ronn|lockfile_parser\.rb} - Dir.chdir(root) do + in_repo_root do tracked_files.split("\x0").each do |filename| next if filename =~ exempt error_messages << check_for_git_merge_conflicts(filename) @@ -156,7 +156,7 @@ RSpec.describe "The library itself" do it "maintains language quality of the documentation" do included = /ronn/ error_messages = [] - Dir.chdir(root) do + in_repo_root do `git ls-files -z -- man`.split("\x0").each do |filename| next unless filename =~ included error_messages << check_for_expendable_words(filename) @@ -169,7 +169,7 @@ RSpec.describe "The library itself" do it "maintains language quality of sentences used in source code" do error_messages = [] exempt = /vendor|vcr_cassettes/ - Dir.chdir(root) do + in_repo_root do lib_tracked_files.split("\x0").each do |filename| next if filename =~ exempt error_messages << check_for_expendable_words(filename) @@ -197,7 +197,7 @@ RSpec.describe "The library itself" do Bundler::Settings::NUMBER_KEYS.each {|k| all_settings[k] << "in Bundler::Settings::NUMBER_KEYS" } Bundler::Settings::ARRAY_KEYS.each {|k| all_settings[k] << "in Bundler::Settings::ARRAY_KEYS" } - Dir.chdir(root) do + in_repo_root do key_pattern = /([a-z\._-]+)/i lib_tracked_files.split("\x0").each do |filename| each_line(filename) do |line, number| @@ -231,7 +231,7 @@ RSpec.describe "The library itself" do end it "ships the correct set of files" do - Dir.chdir(root) do + in_repo_root do git_list = shipped_files.split("\x0") gem_list = Gem::Specification.load(gemspec.to_s).files @@ -241,7 +241,7 @@ RSpec.describe "The library itself" do end it "does not contain any warnings" do - Dir.chdir(root) do + in_repo_root do exclusions = %w[ lib/bundler/capistrano.rb lib/bundler/deployment.rb @@ -267,7 +267,7 @@ RSpec.describe "The library itself" do end it "does not use require internally, but require_relative" do - Dir.chdir(root) do + in_repo_root do exempt = %r{templates/|vendor/} all_bad_requires = [] lib_tracked_files.split("\x0").each do |filename| diff --git a/spec/support/helpers.rb b/spec/support/helpers.rb index 9431f83230..0d4d2d53c8 100644 --- a/spec/support/helpers.rb +++ b/spec/support/helpers.rb @@ -297,7 +297,7 @@ module Spec def with_built_bundler with_root_gemspec do |gemspec| - Dir.chdir(root) { gem_command! :build, gemspec.to_s } + in_repo_root { gem_command! :build, gemspec.to_s } end bundler_path = root + "bundler-#{Bundler::VERSION}.gem" diff --git a/spec/support/path.rb b/spec/support/path.rb index 69a4720512..9596724cc0 100644 --- a/spec/support/path.rb +++ b/spec/support/path.rb @@ -158,8 +158,8 @@ module Spec def with_root_gemspec if ruby_core? root_gemspec = root.join("bundler.gemspec") - # Dir.chdir(root) for Dir.glob in gemspec - spec = Dir.chdir(root) { Gem::Specification.load(gemspec.to_s) } + # `in_repo_root` for Dir.glob in gemspec + spec = in_repo_root { Gem::Specification.load(gemspec.to_s) } spec.bindir = "libexec" File.open(root_gemspec.to_s, "w") {|f| f.write spec.to_ruby } yield(root_gemspec) @@ -188,6 +188,10 @@ module Spec Dir.chdir(bundled_app2, &blk) end + def in_repo_root(&blk) + Dir.chdir(root, &blk) + end + extend self private |