From 5999ad46df4782a3136c4bad0c2353daede2cbbd Mon Sep 17 00:00:00 2001 From: Myron Marston Date: Sat, 30 Dec 2017 17:36:55 -0800 Subject: [PATCH] Disable Ruby 2.5 feature to avoid test failures on 2.5. --- spec/rspec/expectations/failure_aggregator_spec.rb | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/spec/rspec/expectations/failure_aggregator_spec.rb b/spec/rspec/expectations/failure_aggregator_spec.rb index 6628aa75..40a1ae35 100644 --- a/spec/rspec/expectations/failure_aggregator_spec.rb +++ b/spec/rspec/expectations/failure_aggregator_spec.rb @@ -216,6 +216,19 @@ def expect_error_included_in_aggregated_failure(error) end context "when an expectation failure happens in another thread" do + # On Ruby 2.5+, the new `report_on_exception` causes the errors in the threads + # to print warnings, which our rspec-support test harness converts into a test + # failure since we want to enforce warnings-free code. To prevent the warning, + # we need to disable the setting here. + if Thread.respond_to?(:report_on_exception) + around do |example| + orig = Thread.report_on_exception + Thread.report_on_exception = false + example.run + Thread.report_on_exception = orig + end + end + it "includes the failure in the failures array if there are other failures" do expect { aggregate_failures do