Compare commits

...
Sign in to create a new pull request.

1 commit

Author SHA1 Message Date
Mamoru TASAKA
474d1f7c63 Backport upstream patch to support ruby4_0 source_location behavior change 2025-12-02 16:42:35 +09:00
2 changed files with 59 additions and 1 deletions

View file

@ -0,0 +1,51 @@
From 1c20fa80772ca7a1ed0512056ce7cd6a94f8e68d Mon Sep 17 00:00:00 2001
From: Jon Rowe <hello@jonrowe.co.uk>
Date: Fri, 28 Nov 2025 10:59:10 +0000
Subject: [PATCH] Cope with the changes to block source_location in Ruby 4
---
rspec-core/lib/rspec/core/hooks.rb | 2 +-
rspec-core/lib/rspec/core/metadata.rb | 2 +-
rspec-core/lib/rspec/core/shared_example_group.rb | 2 +-
.../lib/rspec/expectations/block_snippet_extractor.rb | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/rspec-core/lib/rspec/core/hooks.rb b/rspec-core/lib/rspec/core/hooks.rb
index f97962ce9..77eecc776 100644
--- a/rspec-core/lib/rspec/core/hooks.rb
+++ b/rspec-core/lib/rspec/core/hooks.rb
@@ -395,7 +395,7 @@ def execute_with(example, procsy)
if Proc.method_defined?(:source_location)
def hook_description
- "around hook at #{Metadata.relative_path(block.source_location.join(':'))}"
+ "around hook at #{Metadata.relative_path(block.source_location.take(2).join(':'))}"
end
else # for 1.8.7
# :nocov:
diff --git a/rspec-core/lib/rspec/core/metadata.rb b/rspec-core/lib/rspec/core/metadata.rb
index e887cb1c5..ed47bc07b 100644
--- a/rspec-core/lib/rspec/core/metadata.rb
+++ b/rspec-core/lib/rspec/core/metadata.rb
@@ -146,7 +146,7 @@ def populate_location_attributes
file_path, line_number = if backtrace
file_path_and_line_number_from(backtrace)
elsif block.respond_to?(:source_location)
- block.source_location
+ block.source_location.take(2)
else
file_path_and_line_number_from(caller)
end
diff --git a/rspec-core/lib/rspec/core/shared_example_group.rb b/rspec-core/lib/rspec/core/shared_example_group.rb
index b4a5dc317..1f2b9d623 100644
--- a/rspec-core/lib/rspec/core/shared_example_group.rb
+++ b/rspec-core/lib/rspec/core/shared_example_group.rb
@@ -243,7 +243,7 @@ def warn_if_key_taken(context, key, new_block)
if RUBY_VERSION.to_f >= 1.9
def formatted_location(block)
- block.source_location.join(":")
+ block.source_location.take(2).join(":")
end
else # 1.8.7
# :nocov:

View file

@ -3,7 +3,7 @@
%global rpmminorver .%(echo %preminorver | sed -e 's|^\\.\\.*||')
%global fullver %{majorver}%{?preminorver}
%global baserelease 1
%global baserelease 2
%global gem_name rspec-core
@ -36,6 +36,9 @@ Source2: rspec-related-create-full-tarball.sh
# Adjust backtrace filter for Fedora placement of StdLib.
# https://github.com/rspec/rspec-core/pull/2881
Patch0: rubygem-rspec-core-3.10.1-Filter-content-of-usr-share-ruby.patch
# https://github.com/rspec/rspec/pull/282/commits/1c20fa80772ca7a1ed0512056ce7cd6a94f8e68d
# Support ruby4_0 source_location behavior change
Patch1: rspec-core-pr282-ruby4_0-source_location.patch
#BuildRequires: ruby(release)
BuildRequires: rubygems-devel
@ -90,6 +93,7 @@ This package contains documentation for %{name}.
%prep
%setup -q -T -n %{gem_name}-%{version} -b 1
%patch -P0 -p1
%patch -P1 -p2
gem specification %{SOURCE0} -l --ruby > %{gem_name}.gemspec
%build
@ -209,6 +213,9 @@ done
%{gem_docdir}
%changelog
* Tue Dec 02 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.13.6-2
- Backport upstream patch to support ruby4_0 source_location behavior change
* Mon Oct 20 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.13.6-1
- 3.13.6