summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHiroshi SHIBATA <[email protected]>2024-11-27 13:33:38 +0900
committerHiroshi SHIBATA <[email protected]>2024-11-27 16:45:10 +0900
commit671e6eb6447575e6acfd0b52e6ac9034c6611c0c (patch)
tree5f2a46979385a556c0ccc1703867321535eceab6
parent9349e98be23f1e6812f9b52c35cddb9d6bfe4762 (diff)
Run only specified bundled gems with BUNDLED_GEMS
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/12179
-rw-r--r--common.mk2
-rw-r--r--spec/bundled_gems.mspec9
2 files changed, 9 insertions, 2 deletions
diff --git a/common.mk b/common.mk
index 6202e9002b..2861adee8f 100644
--- a/common.mk
+++ b/common.mk
@@ -1646,7 +1646,7 @@ test-bundled-gems-spec: $(TEST_RUNNABLE)-test-bundled-gems-spec
yes-test-bundled-gems-spec: yes-test-spec-precheck $(PREPARE_BUNDLED_GEMS)
$(ACTIONS_GROUP)
$(gnumake_recursive)$(Q) \
- $(RUNRUBY) -r./$(arch)-fake -r$(tooldir)/lib/_tmpdir \
+ BUNDLED_GEMS=$(BUNDLED_GEMS) $(RUNRUBY) -r./$(arch)-fake -r$(tooldir)/lib/_tmpdir \
$(srcdir)/spec/mspec/bin/mspec run -B $(srcdir)/spec/bundled_gems.mspec $(MSPECOPT) $(SPECOPTS)
$(ACTIONS_ENDGROUP)
no-test-bundled-gems-spec:
diff --git a/spec/bundled_gems.mspec b/spec/bundled_gems.mspec
index 762fa1c165..435f8b381a 100644
--- a/spec/bundled_gems.mspec
+++ b/spec/bundled_gems.mspec
@@ -1,6 +1,13 @@
load File.dirname(__FILE__) + '/default.mspec'
class MSpecScript
- set :library, get(:stdlibs).to_a & get(:bundled_gems).to_a
+ test_bundled_gems = get(:stdlibs).to_a & get(:bundled_gems).to_a
+ unless ENV["BUNDLED_GEMS"].empty?
+ test_bundled_gems = ENV["BUNDLED_GEMS"].split(",").map do |gem|
+ test_bundled_gems.find{|test_gem| test_gem.include?(gem) }
+ end.compact
+ exit if test_bundled_gems.empty?
+ end
+ set :library, test_bundled_gems
set :files, get(:library)
end