Compare commits
7 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
18f1a22546 | ||
|
|
84c1aaf566 | ||
|
|
a36833c28c | ||
|
|
9630dad5df | ||
|
|
ea7c65f947 | ||
|
|
e8c6bb2889 | ||
|
|
c90968f649 |
4 changed files with 65 additions and 18 deletions
35
rspec-mocks-pr282-skip-mock-for-ruby4_0-inspect.patch
Normal file
35
rspec-mocks-pr282-skip-mock-for-ruby4_0-inspect.patch
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
From 939c4799993b7ff7e524fac701ae6490772ca6de Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jon Rowe <hello@jonrowe.co.uk>
|
||||||
|
Date: Mon, 1 Dec 2025 14:08:25 +0000
|
||||||
|
Subject: [PATCH] Skip mock for calls to `:respond_to?` from `Kernel#inspect`
|
||||||
|
|
||||||
|
---
|
||||||
|
rspec-mocks/lib/rspec/mocks/method_double.rb | 15 +++++++++++++--
|
||||||
|
1 file changed, 13 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/rspec-mocks/lib/rspec/mocks/method_double.rb b/rspec-mocks/lib/rspec/mocks/method_double.rb
|
||||||
|
index e2edb1e21..3276c49a5 100644
|
||||||
|
--- a/rspec-mocks/lib/rspec/mocks/method_double.rb
|
||||||
|
+++ b/rspec-mocks/lib/rspec/mocks/method_double.rb
|
||||||
|
@@ -68,8 +68,19 @@ def define_proxy_method
|
||||||
|
|
||||||
|
save_original_implementation_callable!
|
||||||
|
definition_target.class_exec(self, method_name, @original_visibility || visibility) do |method_double, method_name, visibility|
|
||||||
|
- define_method(method_name) do |*args, &block|
|
||||||
|
- method_double.proxy_method_invoked(self, *args, &block)
|
||||||
|
+ if RUBY_VERSION.to_f > 3 && method_name == :respond_to?
|
||||||
|
+ define_method(method_name) do |*args, &block|
|
||||||
|
+ # This is a work around for a respond_to? check within kernel_inspect
|
||||||
|
+ if caller_locations[0].label == "Kernel#inspect"
|
||||||
|
+ super(*args, &block)
|
||||||
|
+ else
|
||||||
|
+ method_double.proxy_method_invoked(self, *args, &block)
|
||||||
|
+ end
|
||||||
|
+ end
|
||||||
|
+ else
|
||||||
|
+ define_method(method_name) do |*args, &block|
|
||||||
|
+ method_double.proxy_method_invoked(self, *args, &block)
|
||||||
|
+ end
|
||||||
|
end
|
||||||
|
# This can't be `if respond_to?(:ruby2_keywords, true)`,
|
||||||
|
# see https://github.com/rspec/rspec-mocks/pull/1385#issuecomment-755340298
|
||||||
|
|
@ -14,10 +14,9 @@ CURRDIR=$(pwd)
|
||||||
TMPDIRPATH=$(mktemp -d /var/tmp/rspec-tar-XXXXXX)
|
TMPDIRPATH=$(mktemp -d /var/tmp/rspec-tar-XXXXXX)
|
||||||
pushd $TMPDIRPATH
|
pushd $TMPDIRPATH
|
||||||
|
|
||||||
git clone https://github.com/rspec/$1.git
|
git clone https://github.com/rspec/rspec.git
|
||||||
pushd $1
|
pushd rspec
|
||||||
git reset --hard v$2
|
git reset --hard $1-v$2
|
||||||
popd
|
|
||||||
|
|
||||||
ln -sf $1 $1-$2
|
ln -sf $1 $1-$2
|
||||||
tar czf ${CURRDIR}/rubygem-$1-$2-full.tar.gz $1-$2/./
|
tar czf ${CURRDIR}/rubygem-$1-$2-full.tar.gz $1-$2/./
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
%global majorver 3.13.2
|
%global majorver 3.13.7
|
||||||
#%%global preminorver .rc6
|
#%%global preminorver .rc6
|
||||||
%global rpmminorver .%(echo %preminorver | sed -e 's|^\\.\\.*||')
|
%global rpmminorver .%(echo %preminorver | sed -e 's|^\\.\\.*||')
|
||||||
%global fullver %{majorver}%{?preminorver}
|
%global fullver %{majorver}%{?preminorver}
|
||||||
|
|
||||||
%global baserelease 4
|
%global baserelease 2
|
||||||
|
|
||||||
%global gem_name rspec-mocks
|
%global gem_name rspec-mocks
|
||||||
|
|
||||||
|
|
@ -18,17 +18,14 @@ Release: %{?preminorver:0.}%{baserelease}%{?preminorver:%{rpmminorver}}%{?dist}
|
||||||
|
|
||||||
# SPDX confirmed
|
# SPDX confirmed
|
||||||
License: MIT
|
License: MIT
|
||||||
URL: http://github.com/rspec/rspec-mocks
|
URL: https://rspec.info
|
||||||
Source0: https://rubygems.org/gems/%{gem_name}-%{fullver}.gem
|
Source0: https://rubygems.org/gems/%{gem_name}-%{fullver}.gem
|
||||||
# %%{SOURCE2} %%{name} %%{version}
|
# %%{SOURCE2} %%{name} %%{version}
|
||||||
Source1: rubygem-%{gem_name}-%{version}-full.tar.gz
|
Source1: rubygem-%{gem_name}-%{version}-full.tar.gz
|
||||||
Source2: rspec-related-create-full-tarball.sh
|
Source2: rspec-related-create-full-tarball.sh
|
||||||
# https://github.com/rspec/rspec-mocks/pull/1597
|
# https://github.com/rspec/rspec/pull/282/commits/939c4799993b7ff7e524fac701ae6490772ca6de
|
||||||
# support ruby3.4 formatting
|
# Skip mock for ruby4_0 Kernel#inspect
|
||||||
Patch0: rspec-mocks-pr1597-ruby34-formatting.patch
|
Patch0: rspec-mocks-pr282-skip-mock-for-ruby4_0-inspect.patch
|
||||||
# https://github.com/rspec/rspec/pull/164
|
|
||||||
# rspec-support side changed, rspec-mock need coordinating with the change
|
|
||||||
Patch1: rspec-mocks-pr164-ruby34-hash-syntax.patch
|
|
||||||
|
|
||||||
BuildRequires: rubygems-devel
|
BuildRequires: rubygems-devel
|
||||||
%if %{without bootstrap}
|
%if %{without bootstrap}
|
||||||
|
|
@ -61,14 +58,12 @@ This package contains documentation for %{name}.
|
||||||
gem unpack %{SOURCE0}
|
gem unpack %{SOURCE0}
|
||||||
|
|
||||||
%setup -q -D -T -n %{gem_name}-%{version} -b 1
|
%setup -q -D -T -n %{gem_name}-%{version} -b 1
|
||||||
|
%patch -P0 -p2
|
||||||
|
|
||||||
# Cucumber 7 syntax change
|
# Cucumber 7 syntax change
|
||||||
sed -i cucumber.yml -e "s|~@wip|not @wip|"
|
sed -i cucumber.yml -e "s|~@wip|not @wip|"
|
||||||
sed -i features/support/disallow_certain_apis.rb -e "s|~@allow-old-syntax|not @allow-old-syntax|"
|
sed -i features/support/disallow_certain_apis.rb -e "s|~@allow-old-syntax|not @allow-old-syntax|"
|
||||||
|
|
||||||
%patch -P0 -p1
|
|
||||||
%patch -P1 -p2
|
|
||||||
|
|
||||||
gem specification %{SOURCE0} -l --ruby > %{gem_name}.gemspec
|
gem specification %{SOURCE0} -l --ruby > %{gem_name}.gemspec
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
|
@ -127,6 +122,24 @@ cucumber
|
||||||
%{gem_docdir}
|
%{gem_docdir}
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Dec 02 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.13.7-2
|
||||||
|
- Backport upstream patch to skip mock for Kernel#inspect on ruby4_0
|
||||||
|
|
||||||
|
* Mon Nov 24 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.13.7-1
|
||||||
|
- 3.13.7
|
||||||
|
|
||||||
|
* Fri Oct 17 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.13.6-1
|
||||||
|
- 3.13.6
|
||||||
|
|
||||||
|
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.13.5-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu May 29 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.13.5-1
|
||||||
|
- 3.13.5
|
||||||
|
|
||||||
|
* Thu May 15 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.13.4-1
|
||||||
|
- 3.13.4
|
||||||
|
|
||||||
* Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.13.2-4
|
* Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.13.2-4
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
|
||||||
|
|
||||||
|
|
|
||||||
4
sources
4
sources
|
|
@ -1,2 +1,2 @@
|
||||||
SHA512 (rspec-mocks-3.13.2.gem) = 3284411d5f9c3b10aca0ca41bfeec4ec423b1d2effb1942a36ff61c741ff8b1281ae69d46086881f99fc3e70522cf6a31805e980fe270e35cc35c6d8376c9152
|
SHA512 (rspec-mocks-3.13.7.gem) = fa30824f1d7ab82e2c0d1cde1f076cb84b9a9e1e9e7292e33bcfda934468a50f2b59a1dc539137be14ad5b86465ed6fa12c32af2e3a79992c3ce5d278072861c
|
||||||
SHA512 (rubygem-rspec-mocks-3.13.2-full.tar.gz) = 79a22d5356247e4d563868589f512018f51a235aafa9d001d81673c73bc1d0a04be7c4770518744f77dfb4e7f726b5c037384a5f14cd853202466b68e4398e9c
|
SHA512 (rubygem-rspec-mocks-3.13.7-full.tar.gz) = 7666b07e6b9806e36d53ede810c6efc0ceb57bc554c96e0fdf44efbfd9dd027a8e999ce942d20bf46f93f93bfae1a88c7ffd0bfbf2cdf08601093a98218a059a
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue