Skip to content

Commit

Permalink
Fix test runner exit bug (#728)
Browse files Browse the repository at this point in the history
* Remove useless test setup and teardown that sets MAIN_CONTEXT to nil

* Avoid adding command methods to main object in test
  • Loading branch information
tompng authored Oct 12, 2023
1 parent 1ceb97f commit f204829
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 11 deletions.
2 changes: 1 addition & 1 deletion lib/irb/extend-command.rb
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ module ExtendCommandBundle
#
# Same as <code>IRB.CurrentContext.exit</code>.
def irb_exit(ret = 0)
irb_context&.exit(ret)
irb_context.exit(ret)
end

# Displays current configuration.
Expand Down
9 changes: 0 additions & 9 deletions test/irb/test_completion.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,6 @@

module TestIRB
class CompletionTest < TestCase
def setup
# make sure require completion candidates are not cached
IRB::BaseCompletor.class_variable_set(:@@files_from_load_path, nil)
end

def teardown
IRB.conf[:MAIN_CONTEXT] = nil
end

def completion_candidates(target, bind)
IRB::RegexpCompletor.new.completion_candidates('', target, '', bind: bind)
end
Expand Down
6 changes: 5 additions & 1 deletion test/irb/test_irb.rb
Original file line number Diff line number Diff line change
Expand Up @@ -733,9 +733,13 @@ def @irb.generate_prompt(opens, continue, line_offset)

private

def build_binding
Object.new.instance_eval { binding }
end

def build_irb
IRB.init_config(nil)
workspace = IRB::WorkSpace.new(TOPLEVEL_BINDING.dup)
workspace = IRB::WorkSpace.new(build_binding)

IRB.conf[:VERBOSE] = false
IRB::Irb.new(workspace, TestInputMethod.new)
Expand Down

0 comments on commit f204829

Please sign in to comment.