summaryrefslogtreecommitdiff
path: root/spec/mspec/lib
diff options
context:
space:
mode:
authorBenoit Daloze <[email protected]>2021-09-07 19:01:03 +0200
committerBenoit Daloze <[email protected]>2021-09-07 19:01:03 +0200
commita375640ea561d1f7c4d2d89839007b3a973a04e0 (patch)
tree626c9ac44b09a9108b50bdf0295ba9e9040e92d0 /spec/mspec/lib
parent95089ddaf486e6ab245aa479ef1d6da30412a8f6 (diff)
Update to ruby/mspec@e768949
Diffstat (limited to 'spec/mspec/lib')
-rw-r--r--spec/mspec/lib/mspec/helpers/ruby_exe.rb10
1 files changed, 6 insertions, 4 deletions
diff --git a/spec/mspec/lib/mspec/helpers/ruby_exe.rb b/spec/mspec/lib/mspec/helpers/ruby_exe.rb
index c62c19f3aa..4948ec09f1 100644
--- a/spec/mspec/lib/mspec/helpers/ruby_exe.rb
+++ b/spec/mspec/lib/mspec/helpers/ruby_exe.rb
@@ -135,16 +135,18 @@ def ruby_exe(code = :not_given, opts = {})
code = tmpfile
end
- expected_exit_status = opts.fetch(:exit_status, 0)
+ expected_status = opts.fetch(:exit_status, 0)
begin
platform_is_not :opal do
command = ruby_cmd(code, opts)
output = `#{command}`
- last_status = Process.last_status
- if last_status.exitstatus != expected_exit_status
- raise "Expected exit status is #{expected_exit_status.inspect} but actual is #{last_status.exitstatus.inspect} for command ruby_exe(#{command.inspect})"
+ exit_status = Process.last_status.exitstatus
+ if exit_status != expected_status
+ formatted_output = output.lines.map { |line| " #{line}" }.join
+ raise SpecExpectationNotMetError,
+ "Expected exit status is #{expected_status.inspect} but actual is #{exit_status.inspect} for command ruby_exe(#{command.inspect})\nOutput:\n#{formatted_output}"
end
output