From 2ecdefab7d0f9293f2aaf047bb9c02a612d19a5a Mon Sep 17 00:00:00 2001 From: lukeg Date: Wed, 8 Mar 2023 12:29:39 -0500 Subject: [PATCH] Make sure TestDefaultGems#test_validate_gemspec runs even when Dir.pwd != srcdir For instance, when running tests in build directory like: $ make test-all TESTOPTS="../ruby/test" --- test/ruby/test_default_gems.rb | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/test/ruby/test_default_gems.rb b/test/ruby/test_default_gems.rb index 467e5ecf83..c1c81bfec0 100644 --- a/test/ruby/test_default_gems.rb +++ b/test/ruby/test_default_gems.rb @@ -4,13 +4,20 @@ require 'rubygems' class TestDefaultGems < Test::Unit::TestCase def test_validate_gemspec - omit "git not found" unless system("git", "rev-parse", %i[out err]=>IO::NULL) srcdir = File.expand_path('../../..', __FILE__) - Dir.glob("#{srcdir}/{lib,ext}/**/*.gemspec").map do |src| - assert_nothing_raised do - raise("invalid spec in #{src}") unless Gem::Specification.load(src) + specs = 0 + Dir.chdir(srcdir) do + unless system("git", "rev-parse", %i[out err]=>IO::NULL) + omit "git not found" + end + Dir.glob("#{srcdir}/{lib,ext}/**/*.gemspec").map do |src| + specs += 1 + assert_nothing_raised do + raise("invalid spec in #{src}") unless Gem::Specification.load(src) + end end end + assert specs > 0, "gemspecs not found" end end