mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
introduce debug.gem
For the `test-bundled-gems`, make `debug.so` with extconf.rb and `make` command directly because `rake-compiler` assume ruby is installed (but `test-bundled-gems` can run without installation).
This commit is contained in:
parent
ae1da7e1f7
commit
bc96a45f12
Notes:
git
2021-10-05 02:07:54 +09:00
4 changed files with 28 additions and 2 deletions
|
@ -1377,7 +1377,7 @@ no-test-bundled-gems-prepare: no-test-bundled-gems-precheck
|
|||
yes-test-bundled-gems-prepare: yes-test-bundled-gems-precheck
|
||||
$(ACTIONS_GROUP)
|
||||
$(XRUBY) -C "$(srcdir)" bin/gem install --no-document \
|
||||
--install-dir .bundle --conservative "bundler" "minitest:~> 5" "test-unit" "rake" "hoe" "yard" "pry" "packnga" "rexml" "json-schema"
|
||||
--install-dir .bundle --conservative "bundler" "minitest:~> 5" "test-unit" "rake" "hoe" "yard" "pry" "packnga" "rexml" "json-schema" "test-unit-rr"
|
||||
$(ACTIONS_ENDGROUP)
|
||||
|
||||
PREPARE_BUNDLED_GEMS = test-bundled-gems-prepare
|
||||
|
|
|
@ -13,3 +13,4 @@ matrix 0.4.2 https://github.com/ruby/matrix
|
|||
prime 0.1.2 https://github.com/ruby/prime
|
||||
rbs 1.6.2 https://github.com/ruby/rbs
|
||||
typeprof 0.15.3 https://github.com/ruby/typeprof
|
||||
debug 1.2.2 https://github.com/ruby/debug
|
||||
|
|
|
@ -989,6 +989,20 @@ def install_default_gem(dir, srcdir, bindir)
|
|||
end
|
||||
|
||||
install?(:ext, :comm, :gem, :'bundled-gems') do
|
||||
if CONFIG['CROSS_COMPILING'] == 'yes'
|
||||
# The following hacky steps set "$ruby = BASERUBY" in tool/fake.rb
|
||||
$hdrdir = ''
|
||||
$extmk = nil
|
||||
$ruby = nil # ...
|
||||
ruby_path = $ruby + " -I#{Dir.pwd}" # $baseruby + " -I#{Dir.pwd}"
|
||||
else
|
||||
# ruby_path = File.expand_path(with_destdir(File.join(bindir, ruby_install_name)))
|
||||
ENV['RUBYLIB'] = nil
|
||||
ENV['RUBYOPT'] = nil
|
||||
ruby_path = File.expand_path(with_destdir(File.join(bindir, ruby_install_name))) + " --disable=gems -I#{with_destdir(archlibdir)}"
|
||||
end
|
||||
Gem.instance_variable_set(:@ruby, ruby_path) if Gem.ruby != ruby_path
|
||||
|
||||
gem_dir = Gem.default_dir
|
||||
install_dir = with_destdir(gem_dir)
|
||||
prepare "bundled gems", gem_dir
|
||||
|
@ -1009,7 +1023,8 @@ install?(:ext, :comm, :gem, :'bundled-gems') do
|
|||
:format_executable => true,
|
||||
}
|
||||
gem_ext_dir = "#$extout/gems/#{CONFIG['arch']}"
|
||||
extensions_dir = Gem::StubSpecification.gemspec_stub("", gem_dir, gem_dir).extensions_dir
|
||||
extensions_dir = with_destdir(Gem::StubSpecification.gemspec_stub("", gem_dir, gem_dir).extensions_dir)
|
||||
|
||||
File.foreach("#{srcdir}/gems/bundled_gems") do |name|
|
||||
next if /^\s*(?:#|$)/ =~ name
|
||||
next unless /^(\S+)\s+(\S+).*/ =~ name
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
require 'rbconfig'
|
||||
require 'timeout'
|
||||
require 'fileutils'
|
||||
|
||||
github_actions = ENV["GITHUB_ACTIONS"] == "true"
|
||||
|
||||
|
@ -40,6 +41,15 @@ File.foreach("#{gem_dir}/bundled_gems") do |line|
|
|||
test_command << " 'TESTOPTS=-e /test_stub_value_block_args_5__break_if_not_passed|test_no_method_error_on_unexpected_methods/'"
|
||||
end
|
||||
|
||||
if gem == "debug"
|
||||
build_dir = 'ext/-test-/gems/debug'
|
||||
FileUtils.mkdir_p(build_dir)
|
||||
extconf_path = File.expand_path('../../gems/src/debug/ext/debug/extconf.rb', __FILE__)
|
||||
system("#{ruby} -C #{build_dir} #{extconf_path}") or raise
|
||||
system("cd #{build_dir} && make extout=../../../../.ext libdir=../../../..") or raise
|
||||
ENV["RUBYLIB"] = [File.expand_path(build_dir + "/.."), ENV.fetch("RUBYLIB", nil)].compact.join(":")
|
||||
end
|
||||
|
||||
print "[command]" if github_actions
|
||||
puts test_command
|
||||
pid = Process.spawn(test_command, "#{/mingw|mswin/ =~ RUBY_PLATFORM ? 'new_' : ''}pgroup": true)
|
||||
|
|
Loading…
Add table
Reference in a new issue