mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00
Use the debug
gem from portable Ruby
- This is cleaner than vendoring a whole bunch of new gems and pinning `psych`. - Thanks for the pointer, Bo! - It doesn't work, though? ``` ❯ brew tests --only=migrator --debug Error: cannot load such file -- debug/debug.so Warning: Removed Sorbet lines from backtrace! Rerun with `--verbose` to see the original backtrace /opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.1.4/lib/ruby/gems/3.1.0/gems/debug-1.6.3/lib/debug/frame_info.rb:16:in `require' /opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.1.4/lib/ruby/gems/3.1.0/gems/debug-1.6.3/lib/debug/frame_info.rb:16:in `rescue in <module:DEBUGGER__>' /opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.1.4/lib/ruby/gems/3.1.0/gems/debug-1.6.3/lib/debug/frame_info.rb:13:in `<module:DEBUGGER__>' /opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.1.4/lib/ruby/gems/3.1.0/gems/debug-1.6.3/lib/debug/frame_info.rb:3:in `<top (required)>' /opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.1.4/lib/ruby/gems/3.1.0/gems/debug-1.6.3/lib/debug/session.rb:31:in `require_relative' /opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.1.4/lib/ruby/gems/3.1.0/gems/debug-1.6.3/lib/debug/session.rb:31:in `<top (required)>' /opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.1.4/lib/ruby/gems/3.1.0/gems/debug-1.6.3/lib/debug.rb:3:in `require_relative' /opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.1.4/lib/ruby/gems/3.1.0/gems/debug-1.6.3/lib/debug.rb:3:in `<top (required)>' /opt/homebrew/Library/Homebrew/dev-cmd/tests.rb:48:in `require' /opt/homebrew/Library/Homebrew/dev-cmd/tests.rb:48:in `run' /opt/homebrew/Library/Homebrew/brew.rb:89:in `<main>' ```
This commit is contained in:
parent
621e51a6c9
commit
073e739005
4
.gitignore
vendored
4
.gitignore
vendored
@ -77,14 +77,12 @@
|
||||
**/vendor/bundle/ruby/*/gems/coderay-*/
|
||||
**/vendor/bundle/ruby/*/gems/colorize-*/
|
||||
**/vendor/bundle/ruby/*/gems/commander-*/
|
||||
**/vendor/bundle/ruby/*/gems/debug-*/
|
||||
**/vendor/bundle/ruby/*/gems/diff-lcs-*/
|
||||
**/vendor/bundle/ruby/*/gems/docile-*/
|
||||
**/vendor/bundle/ruby/*/gems/ecma-re-validator-*/
|
||||
**/vendor/bundle/ruby/*/gems/erubi-*/
|
||||
**/vendor/bundle/ruby/*/gems/hana-*/
|
||||
**/vendor/bundle/ruby/*/gems/highline-*/
|
||||
**/vendor/bundle/ruby/*/gems/irb-*/
|
||||
**/vendor/bundle/ruby/*/gems/jaro_winkler-*/
|
||||
**/vendor/bundle/ruby/*/gems/json-*/
|
||||
**/vendor/bundle/ruby/*/gems/json_schemer-*/
|
||||
@ -110,7 +108,6 @@
|
||||
**/vendor/bundle/ruby/*/gems/rbi-*/
|
||||
**/vendor/bundle/ruby/*/gems/rdoc-*/
|
||||
**/vendor/bundle/ruby/*/gems/regexp_parser-*/
|
||||
**/vendor/bundle/ruby/*/gems/reline-*/
|
||||
**/vendor/bundle/ruby/*/gems/rexml-*/
|
||||
**/vendor/bundle/ruby/*/gems/rspec-*/
|
||||
**/vendor/bundle/ruby/*/gems/rspec-core-*/
|
||||
@ -131,7 +128,6 @@
|
||||
!**/vendor/bundle/ruby/*/gems/sorbet-runtime-*/
|
||||
**/vendor/bundle/ruby/*/gems/spoom-*/
|
||||
**/vendor/bundle/ruby/*/gems/stackprof-*/
|
||||
**/vendor/bundle/ruby/*/gems/stringio-*/
|
||||
**/vendor/bundle/ruby/*/gems/strscan-*/
|
||||
**/vendor/bundle/ruby/*/gems/syntax_tree-*/
|
||||
**/vendor/bundle/ruby/*/gems/tapioca-*/
|
||||
|
@ -48,9 +48,7 @@ group :style, optional: true do
|
||||
gem "rubocop-sorbet", require: false
|
||||
end
|
||||
group :tests, optional: true do
|
||||
gem "debug", require: false
|
||||
gem "parallel_tests", require: false
|
||||
gem "psych", "< 5", require: false
|
||||
gem "rspec", require: false
|
||||
gem "rspec-github", require: false
|
||||
gem "rspec_junit_formatter", require: false
|
||||
|
@ -10,9 +10,6 @@ GEM
|
||||
coderay (1.1.3)
|
||||
commander (4.6.0)
|
||||
highline (~> 2.0.0)
|
||||
debug (1.9.2)
|
||||
irb (~> 1.10)
|
||||
reline (>= 0.3.8)
|
||||
diff-lcs (1.5.1)
|
||||
docile (1.4.0)
|
||||
elftools (1.3.0)
|
||||
@ -20,10 +17,6 @@ GEM
|
||||
erubi (1.12.0)
|
||||
hana (1.3.7)
|
||||
highline (2.0.3)
|
||||
io-console (0.7.2)
|
||||
irb (1.12.0)
|
||||
rdoc
|
||||
reline (>= 0.4.2)
|
||||
json (2.7.2)
|
||||
json_schemer (2.1.1)
|
||||
hana (~> 1.3)
|
||||
@ -54,19 +47,13 @@ GEM
|
||||
pry (0.14.2)
|
||||
coderay (~> 1.1)
|
||||
method_source (~> 1.0)
|
||||
psych (4.0.6)
|
||||
stringio
|
||||
public_suffix (5.0.5)
|
||||
racc (1.7.3)
|
||||
rainbow (3.1.1)
|
||||
rbi (0.1.10)
|
||||
prism (>= 0.18.0, < 0.25)
|
||||
sorbet-runtime (>= 0.5.9204)
|
||||
rdoc (6.6.3.1)
|
||||
psych (>= 4.0.0)
|
||||
regexp_parser (2.9.0)
|
||||
reline (0.5.0)
|
||||
io-console (~> 0.5)
|
||||
rexml (3.2.6)
|
||||
rspec (3.13.0)
|
||||
rspec-core (~> 3.13.0)
|
||||
@ -149,7 +136,6 @@ GEM
|
||||
sorbet-static-and-runtime (>= 0.5.10187)
|
||||
thor (>= 0.19.2)
|
||||
stackprof (0.2.26)
|
||||
stringio (3.1.0)
|
||||
tapioca (0.13.3)
|
||||
bundler (>= 2.2.25)
|
||||
netrc (>= 0.11.0)
|
||||
@ -180,7 +166,6 @@ PLATFORMS
|
||||
DEPENDENCIES
|
||||
addressable
|
||||
bootsnap
|
||||
debug
|
||||
json_schemer
|
||||
kramdown
|
||||
method_source
|
||||
@ -190,7 +175,6 @@ DEPENDENCIES
|
||||
patchelf
|
||||
plist
|
||||
pry
|
||||
psych (< 5)
|
||||
rexml
|
||||
rspec
|
||||
rspec-github
|
||||
|
@ -45,6 +45,8 @@ module Homebrew
|
||||
# Given we might be testing various commands, we probably want everything (except sorbet-static)
|
||||
Homebrew.install_bundler_gems!(groups: Homebrew.valid_gem_groups - ["sorbet"])
|
||||
|
||||
require "debug" if args.debug?
|
||||
|
||||
HOMEBREW_LIBRARY_PATH.cd do
|
||||
setup_environment!
|
||||
|
||||
|
@ -8,21 +8,15 @@ gem:
|
||||
# These aren't needed:
|
||||
- coderay
|
||||
- commander
|
||||
- debug
|
||||
- diff-lcs
|
||||
- docile
|
||||
- hana
|
||||
- highline
|
||||
- io-console
|
||||
- irb
|
||||
- language_server-protocol
|
||||
- netrc
|
||||
- parallel
|
||||
- psych
|
||||
- public_suffix
|
||||
- racc
|
||||
- rdoc
|
||||
- reline
|
||||
- rexml
|
||||
- rspec-github
|
||||
- rspec-mocks
|
||||
@ -39,7 +33,6 @@ gem:
|
||||
- ruby-prof
|
||||
- simplecov_json_formatter
|
||||
- simpleidn
|
||||
- stringio
|
||||
- unf
|
||||
- unf_ext
|
||||
- unicode-display_width
|
||||
|
@ -39,6 +39,12 @@ if !gems_vendored && !ENV["HOMEBREW_SKIP_INITIAL_GEM_INSTALL"]
|
||||
ENV["HOMEBREW_SKIP_INITIAL_GEM_INSTALL"] = "1"
|
||||
end
|
||||
|
||||
if Pathname.new(RbConfig.ruby).to_s.include?("/vendor/portable-ruby/")
|
||||
prefix = RbConfig::CONFIG["rubylibprefix"]
|
||||
ruby_version = RbConfig::CONFIG["ruby_version"]
|
||||
$LOAD_PATH.unshift "#{prefix}/gems/#{ruby_version}/gems/debug-1.6.3/lib"
|
||||
end
|
||||
|
||||
unless $LOAD_PATH.include?(HOMEBREW_LIBRARY_PATH.to_s)
|
||||
# Insert the path after any existing Homebrew paths (e.g. those inserted by tests and parent processes)
|
||||
last_homebrew_path_idx = $LOAD_PATH.rindex do |path|
|
||||
|
@ -69,6 +69,8 @@ RSpec.describe Migrator do
|
||||
tab.source["tap"] = "homebrew/core"
|
||||
tab.write
|
||||
|
||||
binding.b
|
||||
|
||||
expect do
|
||||
described_class.new(new_formula, "oldname")
|
||||
end.to raise_error(Migrator::MigratorDifferentTapsError)
|
||||
|
@ -29,7 +29,6 @@ require "rspec/retry"
|
||||
require "rspec/sorbet"
|
||||
require "rubocop/rspec/support"
|
||||
require "find"
|
||||
require "debug"
|
||||
require "timeout"
|
||||
|
||||
$LOAD_PATH.unshift(File.expand_path("#{ENV.fetch("HOMEBREW_LIBRARY")}/Homebrew/test/support/lib"))
|
||||
|
11
Library/Homebrew/vendor/bundle/bundler/setup.rb
vendored
11
Library/Homebrew/vendor/bundle/bundler/setup.rb
vendored
@ -38,17 +38,6 @@ $:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/coderay-1.1.3/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/highline-2.0.3/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/commander-4.6.0/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/extensions/arm64-darwin-20/#{Gem.extension_api_version}/stringio-3.1.0")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/stringio-3.1.0/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/extensions/arm64-darwin-20/#{Gem.extension_api_version}/psych-4.0.6")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/psych-4.0.6/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rdoc-6.6.3.1/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/extensions/arm64-darwin-20/#{Gem.extension_api_version}/io-console-0.7.2")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/io-console-0.7.2/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/reline-0.5.0/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/irb-1.12.0/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/extensions/arm64-darwin-20/#{Gem.extension_api_version}/debug-1.9.2")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/debug-1.9.2/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/diff-lcs-1.5.1/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/docile-1.4.0/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/elftools-1.3.0/lib")
|
||||
|
@ -1467,7 +1467,7 @@ __fish_brew_complete_arg 'test' -a '(__fish_brew_suggest_formulae_installed)'
|
||||
__fish_brew_complete_cmd 'tests' 'Run Homebrew\'s unit and integration tests'
|
||||
__fish_brew_complete_arg 'tests' -l changed -d 'Only runs tests on files that were changed from the master branch'
|
||||
__fish_brew_complete_arg 'tests' -l coverage -d 'Generate code coverage reports'
|
||||
__fish_brew_complete_arg 'tests' -l debug -d 'Display any debugging information'
|
||||
__fish_brew_complete_arg 'tests' -l debug -d 'Enable debugging using ruby/debug, or surface the standard `odebug` output'
|
||||
__fish_brew_complete_arg 'tests' -l fail-fast -d 'Exit early on the first failing test'
|
||||
__fish_brew_complete_arg 'tests' -l generic -d 'Run only OS-agnostic tests'
|
||||
__fish_brew_complete_arg 'tests' -l help -d 'Show this message'
|
||||
|
@ -1817,7 +1817,7 @@ _brew_tests() {
|
||||
_arguments \
|
||||
'(--only)--changed[Only runs tests on files that were changed from the master branch]' \
|
||||
'--coverage[Generate code coverage reports]' \
|
||||
'--debug[Display any debugging information]' \
|
||||
'--debug[Enable debugging using ruby/debug, or surface the standard `odebug` output]' \
|
||||
'--fail-fast[Exit early on the first failing test]' \
|
||||
'--generic[Run only OS-agnostic tests]' \
|
||||
'--help[Show this message]' \
|
||||
|
@ -2650,6 +2650,10 @@ Run Homebrew's unit and integration tests.
|
||||
: Include tests that use the GitHub API and tests that use any of the taps for
|
||||
official external commands.
|
||||
|
||||
`--debug`
|
||||
|
||||
: Enable debugging using ruby/debug, or surface the standard `odebug` output.
|
||||
|
||||
`--changed`
|
||||
|
||||
: Only runs tests on files that were changed from the master branch.
|
||||
|
@ -1687,6 +1687,9 @@ Run only OS\-agnostic tests\.
|
||||
\fB\-\-online\fP
|
||||
Include tests that use the GitHub API and tests that use any of the taps for official external commands\.
|
||||
.TP
|
||||
\fB\-\-debug\fP
|
||||
Enable debugging using ruby/debug, or surface the standard \fBodebug\fP output\.
|
||||
.TP
|
||||
\fB\-\-changed\fP
|
||||
Only runs tests on files that were changed from the master branch\.
|
||||
.TP
|
||||
|
Loading…
x
Reference in New Issue
Block a user