Compare commits

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

34 commits

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
Mamoru TASAKA
7effbf81cb 3.13.6 2025-10-21 15:07:20 +09:00
Fedora Release Engineering
e8c2a97d1a Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-25 12:45:26 +00:00
Mamoru TASAKA
3f7c63406e 3.13.5 2025-06-27 22:39:02 +09:00
Mamoru TASAKA
87bc1190a3 3.13.4 2025-05-29 17:33:15 +09:00
Mamoru TASAKA
45cdfd6fec 3.13.3 2025-02-12 16:12:01 +09:00
Fedora Release Engineering
29635ced96 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-18 23:57:21 +00:00
Mamoru TASAKA
cdd2413fa0 Workaround syntax_suggest 2.0.2 change 2024-11-17 16:59:26 +09:00
Mamoru TASAKA
91ba31bd1c Fix for ruby34 string behavior to be chilled 2024-11-15 15:07:10 +09:00
Mamoru TASAKA
ca81d02368 add BR: rubygem(drb) for ruby34 2024-11-06 22:21:07 +09:00
Mamoru TASAKA
0e1e9960be 3.13.2 2024-10-22 14:17:02 +09:00
Mamoru TASAKA
5453556202 3.13.1
3.13.1
2024-09-08 00:03:34 +09:00
Fedora Release Engineering
229ca4c56a Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-19 19:54:36 +00:00
Mamoru TASAKA
7cd8e81307 enable test again 2024-02-09 15:46:06 +09:00
Mamoru TASAKA
c9fcb4c160 3.13.0 2024-02-09 15:22:51 +09:00
Fedora Release Engineering
27cebec369 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-26 17:26:24 +00:00
Mamoru TASAKA
01442efdd9 Fix one failing test related to thread local variable 2023-07-22 07:31:10 +09:00
Fedora Release Engineering
81ab95aa61 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-21 18:20:06 +00:00
Mamoru TASAKA
8e8ad95bf1 3.12.2 2023-04-19 17:14:51 +09:00
Mamoru TASAKA
eeb80ca9f0 fix URL 2023-03-14 20:14:55 +09:00
Mamoru TASAKA
9bdc5922e0 SPDX confirmed 2023-03-14 20:13:56 +09:00
Mamoru TASAKA
be8457ed9a rename release macro to make rpmdev-bumprelease work 2023-03-13 10:35:59 +09:00
Mamoru TASAKA
49cabb4d95 refactor: do early exit and avoid looong if conditional 2023-03-09 16:20:27 +09:00
Yaakov Selkowitz
f3fc1e2f77 Disable unwanted dependencies in RHEL builds 2023-03-03 13:54:34 -05:00
Mamoru TASAKA
c90c3940f3 3.12.1 2023-02-10 14:26:20 +09:00
Mamoru TASAKA
91ba64084b Disable GC related test, with the advice from ruby upstream 2023-01-19 10:28:07 +09:00
Mamoru TASAKA
0e470ac484 enable test again 2022-10-27 16:02:37 +09:00
Mamoru TASAKA
81232177c0 3.12.0 2022-10-27 15:38:32 +09:00
Mamoru TASAKA
e7531e5398 Backport upstream fix to eliminate Fixnum usage removed on Ruby 3.2 2022-09-29 23:06:37 +09:00
Fedora Release Engineering
3d3ffc6643 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-23 02:12:59 +00:00
Mamoru TASAKA
2944f7f50a Specify seed for rspec to avoid random failure for now 2022-06-06 12:27:33 +09:00
Mamoru TASAKA
667932f240 kill bootstrap 2022-02-10 13:23:49 +09:00
Mamoru TASAKA
35c7273f1a 3.11.0 2022-02-10 12:32:21 +09:00
Mamoru TASAKA
c0be2aa6ea Disable test failing on ruby31 for now 2022-01-28 13:14:03 +09:00
4 changed files with 200 additions and 26 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

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

View file

@ -1,9 +1,9 @@
%global majorver 3.10.2
%global majorver 3.13.6
#%%global preminorver .rc6
%global rpmminorver .%(echo %preminorver | sed -e 's|^\\.\\.*||')
%global fullver %{majorver}%{?preminorver}
%global fedorarel 1
%global baserelease 2
%global gem_name rspec-core
@ -11,17 +11,24 @@
# runtime part of rspec-mocks does not depend on rspec-core
# Disable test for now due to cucumber v.s. gherkin dependency issue
# pulled by aruba
%global need_bootstrap_set 0
%bcond_with bootstrap
# Disable Aruba support in RHEL due to excesive dependency chain. This also
# disables Cucumber integration test suite, which depends on Aruba as well.
%if ! 0%{?rhel}
%bcond_without aruba
%endif
%undefine __brp_mangle_shebangs
Summary: RSpec runner and formatters
Name: rubygem-%{gem_name}
Version: %{majorver}
Release: %{?preminorver:0.}%{fedorarel}%{?preminorver:%{rpmminorver}}%{?dist}
Release: %{?preminorver:0.}%{baserelease}%{?preminorver:%{rpmminorver}}%{?dist}
# SPDX confirmed
License: MIT
URL: http://github.com/rspec/rspec-mocks
URL: https://rspec.info
Source0: http://rubygems.org/gems/%{gem_name}-%{fullver}.gem
# %%{SOURCE2} %%{name} %%{version}
Source1: rubygem-%{gem_name}-%{version}-full.tar.gz
@ -29,24 +36,29 @@ 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
%if 0%{?need_bootstrap_set} < 1
%if %{without bootstrap}
BuildRequires: rubygem(minitest)
BuildRequires: rubygem(rake)
BuildRequires: rubygem(rspec)
BuildRequires: rubygem(test-unit)
BuildRequires: rubygem(coderay)
BuildRequires: rubygem(drb)
BuildRequires: rubygem(thread_order)
BuildRequires: git
%if %{with aruba}
BuildRequires: rubygem(aruba)
# Newly
BuildRequires: rubygem(flexmock)
BuildRequires: rubygem(mocha)
BuildRequires: rubygem(rr)
BuildRequires: rubygem(coderay)
BuildRequires: rubygem(thread_order)
BuildRequires: git
# New test
BuildRequires: rubygem(cucumber)
BuildRequires: rubygem(test-unit)
%endif
%if 0%{?fedora} || 0%{?rhel} > 7
BuildRequires: glibc-langpack-en
@ -80,7 +92,8 @@ This package contains documentation for %{name}.
%prep
%setup -q -T -n %{gem_name}-%{version} -b 1
%patch0 -p1
%patch -P0 -p1
%patch -P1 -p2
gem specification %{SOURCE0} -l --ruby > %{gem_name}.gemspec
%build
@ -94,14 +107,46 @@ cp -a .%{_prefix}/* %{buildroot}%{_prefix}/
# cleanups
rm -f %{buildroot}%{gem_instdir}/{.document,.yardopts}
%if 0%{?need_bootstrap_set} < 1
%check
%if %{with bootstrap}
# Not do actual check, exiting.
exit 0
%endif
LANG=C.UTF-8
%if %{without aruba}
# Avoid dependency on Aruba. The files needs to be present, since they are
# listed by `git ls-files` from 'library wide checks' shared example.
truncate -s 0 spec/support/aruba_support.rb
find spec/integration -exec truncate -s 0 {} \;
%endif
# Adjust the backtrace filters to our directory layout.
sed -i '/backtrace_exclusion_patterns/ s/rspec-core/rspec-core-%{version}/' \
spec/integration/{suite_hooks_errors,spec_file_load_errors}_spec.rb
ruby -Ilib -S exe/rspec
# ruby3.1: output format change, disabling for now
sed -i spec/integration/spec_file_load_errors_spec.rb \
-e '\@nicely handles load-time errors in user spec files@s| it | xit |'
# ruby3.2 + compile with YJIT + LTO seems to make rspec-core GC test fail.
# disabling this, per ruby upsteram advice:
# https://bugs.ruby-lang.org/issues/19254
sed -i spec/rspec/core/example_spec.rb \
-e '\@defined.*RUBY_ENGINE.*truffleruby@s|^\(.*\)$|\1 \&\& false|'
# RSpec uses only one thread local variable: disable for now
sed -i spec/rspec/core_spec.rb \
-e '\@only one thread local variable@s| it | xit |'
# FIXME seed 33413 sees test failure
ruby -Ilib -S exe/rspec --seed 1 #33413
%if %{without aruba}
# The following lines are for cucumber tests, so exiting.
exit 0
%endif
# Mark failing test as broken
sed -i features/command_line/init.feature \
@ -119,7 +164,7 @@ done
%endif
# cucumber 7.0.0 does not support ~@
sed -i cucumber.yml -e "s|~@wip|'not @wip'|"
sed -i cucumber.yml -e 's|~@wip|"not @wip"|'
sed -i features/support/require_expect_syntax_in_aruba_specs.rb -e 's|~@|not @|g'
# Perhaps with cucumber 7.0.0 change? (along with diff-lcs updated to 1.5)
sed -i features/support/diff_lcs_versions.rb -e 's|scenario.title|scenario.name|'
@ -127,8 +172,8 @@ sed -i features/support/diff_lcs_versions.rb -e 's|scenario.title|scenario.name|
# Setup just right amount of paths to make the tests suite run.
export RUBYOPT="-I$(pwd)/lib:$(ruby -e 'puts %w[rspec/support minitest test/unit].map {|r| Gem::Specification.find_by_path(r).full_require_paths}.join(?:)')"
export CUCUMBER_PUBLISH_QUIET=true
cucumber -v -f pretty features/ || \
cucumber -v -f pretty features/ \
cucumber -v -f progress features/ || \
cucumber -v -f progress features/ \
--tag "not @broken" \
`# Explicitly skip 'skip-when-diff-lcs-1.3' and '@ruby-2-7' test cases. While` \
`# the conditions are correctly detected, the 'warning' called instead their` \
@ -150,8 +195,6 @@ do
done
%endif
%endif
%files
%dir %{gem_instdir}
@ -170,6 +213,87 @@ 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
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.13.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Fri Jun 27 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.13.5-1
- 3.13.5
* Thu May 29 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.13.4-1
- 3.13.4
* Tue Feb 11 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.13.3-1
- 3.13.3
* Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.13.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Sun Nov 17 2024 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.13.2-4
- Workaround syntax_suggest 2.0.2 change
* Fri Nov 15 2024 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.13.2-3
- Fix for ruby34 string behavior to be chilled
* Wed Nov 06 2024 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.13.2-2
- add BR: rubygem(drb) for ruby34
* Mon Oct 21 2024 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.13.2-1
- 3.13.2
* Thu Sep 05 2024 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.13.1-1
- 3.13.1
* Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.13.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* 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.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sat Jul 22 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.12.2-3
- Fix one failing test related to thread local variable
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.12.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Wed Apr 19 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.12.2-1
- 3.12.2
* Fri Mar 03 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 3.12.1-2
- Disable unwanted dependencies in RHEL builds
* Fri Feb 10 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.12.1-1
- 3.12.1
* Thu Jan 19 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.12.0-2
- Disable GC related test, with the advice from ruby upstream
* Thu Oct 27 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.12.0-1
- 3.12.0
* Thu Sep 29 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.11.0-3
- Backport upstream fix to eliminate Fixnum usage removed on Ruby 3.2
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.11.0-2.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Mon Jun 6 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.11.0-2
- Specify seed for rspec to avoid random failure for now
* Thu Feb 10 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.11.0-1
- 3.11.0
* Fri Jan 28 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.10.2-2
- Disable test failing on ruby31 for now
* Fri Jan 28 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.10.2-1
- 3.10.2

View file

@ -1,2 +1,2 @@
SHA512 (rspec-core-3.10.2.gem) = ce35b247be7b5cc656febda685021f18b5e752b865d8815ac4ac1fd1de05b3d7f8bca97c8183afa5395f0acf59a0725037ecd887e319f566a0b1d55140d2119c
SHA512 (rubygem-rspec-core-3.10.2-full.tar.gz) = 6329fc1de12f7044201d4cc5170e50d6342b3ec9c4ccbbb5dba01edbf556f20467b2a41a2578e28b71b375dde512bc9a7b5088785abe0a5f2f297007e68624f9
SHA512 (rspec-core-3.13.6.gem) = 8456a4505bd990a968630da475fd5222a15e0641db26d0efbf63e5d1d8edea702c7982297c4fd7e647167b7204127e4dd6d49480a9556faa65f06e0ce8ad3513
SHA512 (rubygem-rspec-core-3.13.6-full.tar.gz) = 2cb5c5ffe9c76a58385ccac68fbbc696e6c542cf68007ab81b29e5ad6ecc97ec05cd34eb1006b2be1d70c826ab520b32e37182bbd14f662260996a1e5aa1bf06