dev-ruby/rspec-expectations: add ruby25
authorHans de Graaff <graaff@gentoo.org>
Fri, 9 Mar 2018 06:12:30 +0000 (07:12 +0100)
committerHans de Graaff <graaff@gentoo.org>
Fri, 9 Mar 2018 06:12:30 +0000 (07:12 +0100)
Package-Manager: Portage-2.3.19, Repoman-2.3.6

dev-ruby/rspec-expectations/files/rspec-expectations-3.7.0-ruby25.patch [new file with mode: 0644]
dev-ruby/rspec-expectations/rspec-expectations-3.7.0.ebuild

diff --git a/dev-ruby/rspec-expectations/files/rspec-expectations-3.7.0-ruby25.patch b/dev-ruby/rspec-expectations/files/rspec-expectations-3.7.0-ruby25.patch
new file mode 100644 (file)
index 0000000..feeddb0
--- /dev/null
@@ -0,0 +1,33 @@
+From 5999ad46df4782a3136c4bad0c2353daede2cbbd Mon Sep 17 00:00:00 2001
+From: Myron Marston <myron.marston@gmail.com>
+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
index 39b3e3075673a08347192627debd6354507948ca..a9e1c41d484ae9b326f4252ffcd8d52b4a02f721 100644 (file)
@@ -1,8 +1,8 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=6
-USE_RUBY="ruby22 ruby23 ruby24"
+USE_RUBY="ruby22 ruby23 ruby24 ruby25"
 
 RUBY_FAKEGEM_RECIPE_TEST="rspec3"
 
@@ -24,6 +24,8 @@ IUSE=""
 
 SUBVERSION="$(get_version_component_range 1-2)"
 
+PATCHES=( "${FILESDIR}/${P}-ruby25.patch" )
+
 ruby_add_rdepend ">=dev-ruby/diff-lcs-1.2.0 <dev-ruby/diff-lcs-2
        =dev-ruby/rspec-support-${SUBVERSION}*"