Compare commits

..

No commits in common. "rawhide" and "f28" have entirely different histories.

7 changed files with 84 additions and 300 deletions

30
.gitignore vendored
View file

@ -1,2 +1,28 @@
/rspec-expectations-*.gem
/rubygem-rspec-expectations-*-full.tar.gz
/rspec-expectations-2.5.0.gem
/rspec-expectations-2.6.0.rc4.gem
/rspec-expectations-2.6.0.rc6.gem
/rspec-expectations-2.6.0.gem
/rspec-expectations-2.8.0.gem
/rspec-expectations-2.11.3.gem
/rspec-expectations-2.12.1.gem
/rspec-expectations-2.13.0.gem
/rspec-expectations-2.14.2.gem
/rspec-expectations-2.14.3.gem
/rspec-expectations-2.14.4.gem
/rspec-expectations-2.14.5.gem
/rspec-expectations-3.1.2.gem
/rubygem-rspec-expectations-3.1.2-full.tar.gz
/rspec-expectations-3.2.0.gem
/rubygem-rspec-expectations-3.2.0-full.tar.gz
/rspec-expectations-3.2.1.gem
/rubygem-rspec-expectations-3.2.1-full.tar.gz
/rspec-expectations-3.3.1.gem
/rubygem-rspec-expectations-3.3.1-full.tar.gz
/rspec-expectations-3.4.0.gem
/rubygem-rspec-expectations-3.4.0-full.tar.gz
/rspec-expectations-3.5.0.gem
/rubygem-rspec-expectations-3.5.0-full.tar.gz
/rspec-expectations-3.6.0.gem
/rubygem-rspec-expectations-3.6.0-full.tar.gz
/rspec-expectations-3.7.0.gem
/rubygem-rspec-expectations-3.7.0-full.tar.gz

View file

@ -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

View file

@ -1,25 +0,0 @@
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-expectations/lib/rspec/expectations/block_snippet_extractor.rb b/rspec-expectations/lib/rspec/expectations/block_snippet_extractor.rb
index 5c66ac639..24dbaf88e 100644
--- a/rspec-expectations/lib/rspec/expectations/block_snippet_extractor.rb
+++ b/rspec-expectations/lib/rspec/expectations/block_snippet_extractor.rb
@@ -62,7 +62,7 @@ def file_path
end
def beginning_line_number
- source_location.last
+ source_location[1]
end
def source_location

View file

@ -14,12 +14,10 @@ CURRDIR=$(pwd)
TMPDIRPATH=$(mktemp -d /var/tmp/rspec-tar-XXXXXX)
pushd $TMPDIRPATH
git clone https://github.com/rspec/rspec.git
pushd rspec
# https://github.com/rspec/rspec/issues/220
git reset --hard $1-v$2 || \
git reset --hard rspec-expecations-v$2
git clone https://github.com/rspec/$1.git
pushd $1
git reset --hard v$2
popd
ln -sf $1 $1-$2
tar czf ${CURRDIR}/rubygem-$1-$2-full.tar.gz $1-$2/./

View file

@ -1,66 +0,0 @@
--- rspec-expectations-3.13.4/spec/rspec/matchers/built_in/include_spec.rb 2025-05-15 11:40:49.000000000 +0900
+++ rspec-expectations-3.13.3/spec/rspec/matchers/built_in/include_spec.rb 2024-09-08 16:39:38.000000000 +0900
@@ -109,7 +104,7 @@ RSpec.describe "#include matcher" do
failure_string = if use_string_keys_in_failure_message?
dedent(<<-END)
|Diff:
- |@@ #{one_line_header(3)} @@
+ |@@ -1,3 +1,3 @@
|-:bar => 3,
|-:foo => 1,
|+"bar" => 2,
@@ -137,7 +132,7 @@ RSpec.describe "#include matcher" do
failure_string = if use_string_keys_in_failure_message?
dedent(<<-END)
|Diff:
- |@@ #{one_line_header(3)} @@
+ |@@ -1,3 +1,3 @@
|-(match /FOO/i) => 1,
|-:bar => 3,
|+"bar" => 2,
@@ -146,7 +141,7 @@ RSpec.describe "#include matcher" do
else
dedent(<<-END)
|Diff:
- |@@ #{one_line_header(3)} @@
+ |@@ -1,3 +1,3 @@
|-(match /FOO/i) => 1,
|-:bar => 3,
|+:bar => 2,
--- rspec-expectations-3.13.4/spec/rspec/matchers/built_in/compound_spec.rb 2025-05-15 11:40:49.000000000 +0900
+++ rspec-expectations-3.13.3/spec/rspec/matchers/built_in/compound_spec.rb 2024-09-08 16:39:38.000000000 +0900
@@ -596,14 +595,14 @@ module RSpec::Matchers::BuiltIn
|
| expected "HELLO\\nWORLD" to eq downcase "hola\\nmon"
|Diff for (eq downcase "bonjour\\nmonde"):
- |@@ #{one_line_header(3)} @@
+ |@@ -1,3 +1,3 @@
|-bonjour
|-monde
|+hello
|+world
|
|Diff for (eq downcase "hola\\nmon"):
- |@@ #{one_line_header(3)} @@
+ |@@ -1,3 +1,3 @@
|-hola
|-mon
|+hello
@@ -639,14 +638,14 @@ module RSpec::Matchers::BuiltIn
|
| expected "hello\\nworld" to eq downcase "hola\\nmon"
|Diff for (eq downcase "bonjour\\nmonde"):
- |@@ #{one_line_header(3)} @@
+ |@@ -1,3 +1,3 @@
|-bonjour
|-monde
|+hello
|+world
|
|Diff for (eq downcase "hola\\nmon"):
- |@@ #{one_line_header(3)} @@
+ |@@ -1,3 +1,3 @@
|-hola
|-mon
|+hello

View file

@ -1,47 +1,37 @@
%global majorver 3.13.5
%global majorver 3.7.0
#%%global preminorver .rc6
%global rpmminorver .%(echo %preminorver | sed -e 's|^\\.\\.*||')
%global fullver %{majorver}%{?preminorver}
%global baserelease 4
%global fedorarel 3
%global gem_name rspec-expectations
%bcond_with bootstrap
%global need_bootstrap_set 0
%undefine __brp_mangle_shebangs
Summary: RSpec expectations (should and matchers)
Name: rubygem-%{gem_name}
Version: %{majorver}
Release: %{?preminorver:0.}%{baserelease}%{?preminorver:%{rpmminorver}}%{?dist}
Release: %{?preminorver:0.}%{fedorarel}%{?preminorver:%{rpmminorver}}%{?dist}
# SPDX confirmed
Group: Development/Languages
License: MIT
URL: https://rspec.info
URL: http://github.com/rspec/rspec-expectations
Source0: https://rubygems.org/gems/%{gem_name}-%{fullver}.gem
# %%{SOURCE2} %%{name} %%{version}
# %%{SOURCE2} %%{name} %%{version}
Source1: rubygem-%{gem_name}-%{version}-full.tar.gz
Source2: rspec-related-create-full-tarball.sh
# Workaround tests wrt diff/lcs diff format
# Partially revert 3.13.3 -> 3.13.4 change
Patch0: rubygem-rspec-expectations-3.13.4-diff_spec-format-revert.patch
# https://github.com/rspec/rspec/pull/282/commits/1c20fa80772ca7a1ed0512056ce7cd6a94f8e68d
# Support ruby4_0 source_location behavior change
Patch1: rspec-expectations-pr282-ruby4_0-source_location.patch
# https://github.com/rspec/rspec-expectations/pull/1037
# https://github.com/rspec/rspec-expectations/commit/5999ad46df4782a3136c4bad0c2353daede2cbbd.patch
Patch1: rspec-expectations-3.7.0-aggregator-ruby25.patch
#BuildRequires: ruby(release)
BuildRequires: rubygems-devel
%if %{without bootstrap}
%if 0%{?need_bootstrap_set} < 1
BuildRequires: rubygem(rspec)
BuildRequires: rubygem(rake)
# Some features in expectations needs this
BuildRequires: rubygem(rspec-support) >= 3.9.3
BuildRequires: rubygem(minitest) >= 5
%if ! 0%{?rhel}
BuildRequires: rubygem(aruba)
BuildRequires: rubygem(cucumber)
%endif
BuildRequires: git
%endif
BuildArch: noarch
@ -52,6 +42,7 @@ RSpec::Matchers, a library of standard matchers.
%package doc
Summary: Documentation for %{name}
Group: Documentation
Requires: %{name} = %{version}-%{release}
%description doc
@ -60,9 +51,7 @@ This package contains documentation for %{name}.
%prep
%setup -q -T -n %{gem_name}-%{version} -b 1
%patch -P0 -p1
%patch -P1 -p2
%patch1 -p1
gem specification %{SOURCE0} -l --ruby > %{gem_name}.gemspec
@ -78,37 +67,12 @@ cp -a .%{gem_dir}/* \
# cleanups
rm -f %{buildroot}%{gem_instdir}/{.document,.yardopts}
%if 0%{?need_bootstrap_set} < 1
%check
%if %{with bootstrap}
# Skip test, exiting
exit 0
LANG=en_US.UTF-8
ruby -rrubygems -Ilib/ -S rspec spec/
%endif
LANG=C.UTF-8
export RUBYLIB=$(pwd)/lib
rspec spec/
%if 0%{?rhel}
# Skip cucumber test
exit 0
%endif
# Fix minitest 6 compatibility
# Behavior changed on: https://github.com/minitest/minitest/commit/2572c78420af73dbe9b202d535a1474405a32173
if ( ruby -e 'require "minitest" ; exit Minitest::VERSION >= "6"' ) ; then
sed -i features/test_frameworks/minitest.feature \
-e 's|9 runs, 10 assertions, 5 failures, 0 errors|9 runs, 11 assertions, 5 failures, 0 errors|'
fi
# Skip one failing scenario, needs investigating...
sed -i features/built_in_matchers/include.feature -e '\@skip-on-fedora@d'
sed -i features/built_in_matchers/include.feature -e 's|^\([ \t]*\)\(Scenario: counts usage.*\)|\1@skip-on-fedora\n\1\2|'
export CUCUMBER_PUBLISH_QUIET=true
cucumber \
--tag "not @skip-when-diff-lcs-1.3" \
--tag "not @skip-on-fedora" \
%{nil}
%files
%dir %{gem_instdir}
@ -125,152 +89,6 @@ cucumber \
%{gem_docdir}
%changelog
* Thu Jan 01 2026 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.13.5-4
- Fix compatibility for minitest 6
* Tue Dec 02 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.13.5-3
- Backport upstream patch to support ruby4_0 source_location behavior change
* 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.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Sun Dec 29 2024 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.13.3-2
- Backport upstream fix to support ruby34 Hash inspect syntax
* Sun Sep 08 2024 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.13.3-1
- 3.13.3
* Wed Aug 21 2024 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.13.2-1
- 3.13.2
* Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.13.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Tue Jun 18 2024 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.13.1-1
- 3.13.1
* Fri Feb 09 2024 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.13.0-1
- 3.13.0
* Fri Jan 26 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.12.3-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Aug 06 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.12.3-4
- Remove unneeded conditionals for new MiniTest support
* Fri Aug 4 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.12.3-3
- Support MiniTest 5.19+
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.12.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Fri Apr 21 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.12.3-1
- 3.12.3
* Fri Mar 10 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 3.12.2-2
- Disable unwanted dependencies in RHEL builds
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.12.2-1.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Tue Jan 17 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.12.2-1
- 3.12.2
* Wed Dec 21 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.12.1-1
- 3.12.1
* Thu Oct 27 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.12.0-1
- 3.12.0
* Thu Sep 15 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.11.1-1
- 3.11.1
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.11.0-1.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Thu Feb 10 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.11.0-1
- 3.11.0
* Sun Jan 30 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.10.2-2
- BR: rubygem(rake) for check
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.10.2-1.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Tue Jan 18 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.10.2-1
- 3.10.2
- Execute cucumber test
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.10.1-1.2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.10.1-1.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Dec 29 2020 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.10.1-1
- 3.10.1
* Fri Dec 11 2020 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.10.0-1
- Enable tests again
* Fri Dec 11 2020 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.10.0-0.1
- 3.10.0
- Once disable test for bootstrap
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.9.2-1.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Sat May 9 2020 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.9.2-1
- 3.9.2
* Sun Apr 19 2020 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.9.1-1
- 3.9.1
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.9.0-2.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Tue Dec 10 2019 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.9.0-2
- Enable tests again
* Tue Dec 10 2019 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.9.0-0.1
- 3.9.0
- Once disable test for bootstrap
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.4-1.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Fri Jun 21 2019 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.8.4-1
- 3.8.4
* Wed Apr 24 2019 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.8.3-1
- 3.8.3
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.2-1.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Thu Dec 13 2018 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.8.2-1
- Enable tests again
* Wed Dec 12 2018 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.8.2-0.1
- 3.8.2
- Once disable test for bootstrap
* Sun Nov 18 2018 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.7.0-3.2
- Use C.UTF-8 locale
See https://fedoraproject.org/wiki/Changes/Remove_glibc-langpacks-all_from_buildroot
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.7.0-3.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Wed Feb 14 2018 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.7.0-3
- Backport upstream patch to fix test failure on ruby 25
@ -376,7 +194,7 @@ cucumber \
- 2.14.4
* Fri Sep 27 2013 Mamoru TASAKA <mtasaka@fedoraproject.org> - 2.14.3-1
- 2.14.3
- 2.14.3
* Fri Aug 16 2013 Mamoru TASAKA <mtasaka@fedoraproject.org> - 2.14.2-2
- Enable test suite again

View file

@ -1,2 +1,2 @@
SHA512 (rspec-expectations-3.13.5.gem) = 4fde5ddae1c723bb3f25c65db61ec959146b1b92a08ddf09d4caf1164d25fd67e4d6d7a73b576fdb48477a3ee54763a8a2d3b93ea573ba6962d65ae80379cd03
SHA512 (rubygem-rspec-expectations-3.13.5-full.tar.gz) = 057bf2ff409248ab4a37bc615806e786cdcf4324bd47bb606459a6ceece07799dc488838d008511bb7d798db6b8dddf2339cb6509c2d78911aa9aa06f50607ea
SHA512 (rspec-expectations-3.7.0.gem) = 011575f87fb26ea3dd04ebff30f94c6686f07508c3adfd5b1fe6cde12758bd05773b685e45d4596ccccf860b85de74da14ea80072ac09932aa0ab30e06304a24
SHA512 (rubygem-rspec-expectations-3.7.0-full.tar.gz) = 8c316c899a5f6f165874ba7affc039ef7061a4e002c39757db40b223474ee085403b1e9cc63e26b8b5a3caaf9dd26055a66d7c2263a4f637bf4814c6c9ff593a