summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Rodríguez <deivid.rodriguez@riseup.net>2020-01-04 06:12:19 +0100
committerDavid Rodríguez <deivid.rodriguez@riseup.net>2020-01-04 22:17:52 +0100
commitc0b7ad4d4f03d43d6a9032561158e77c2486a653 (patch)
tree7899ab43be41967a4c75888ead37d65433e20435
parent2388e3549cb9e20dc996bb81a34b2c9f50fca322 (diff)
downloadbundler-c0b7ad4d4f03d43d6a9032561158e77c2486a653.tar.gz
Extract `in_repo_root`
-rw-r--r--spec/quality_es_spec.rb4
-rw-r--r--spec/quality_spec.rb20
-rw-r--r--spec/support/helpers.rb2
-rw-r--r--spec/support/path.rb8
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 3ebedf1c1f..5d43e6aa8b 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