Compare commits

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

54 commits

Author SHA1 Message Date
Mamoru TASAKA
3c62d5d7aa update minitest 6 patch 2025-12-30 17:23:06 +09:00
Mamoru TASAKA
6b021929fc Backport upstream fix to support minitest 6 2025-12-29 16:30:55 +09:00
Mamoru TASAKA
bacee91af1 Backport upstream change for testsuite removal for new benchmark gem in
ruby4_0
2025-11-09 22:43:30 +09:00
Vít Ondruch
c60eaabadf Update to Active Support 8.0.3.
Related: rhzb#2388437
2025-10-07 09:36:10 +02:00
Fedora Release Engineering
3e5369ab10 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-25 12:15:43 +00:00
Vít Ondruch
94a65b1e0c Update to Active Support 8.0.2.
Related: rhbz#2238177
2025-07-04 12:14:56 +02:00
Vít Ondruch
c162969362 Disable Redis test cases on i686
Valkey (Redis) is not available there \[[1]\].

The other option would be to `ExcludeArch: %{ix86}`. This would mean the
package would not be build on `ix86`, therefore not tested on that arch.
Hard to judge what is better choice.

[1]: bec8cff798/f/valkey.spec (_66)
2025-07-04 12:14:56 +02:00
Vít Ondruch
22a0f35c67 Update to Active Support 8.0.1.
Related: rhbz#2238177
2025-07-04 12:14:52 +02:00
Vít Ondruch
e978c62268 Fix compatibility with concurrent-ruby 1.3.5+ 2025-01-23 21:04:35 +01:00
Fedora Release Engineering
7120ebc8f8 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-18 22:57:12 +00:00
Vít Ondruch
c6c3886337 Add extracted standard gems dependencies. 2024-11-26 17:41:25 +01:00
Vít Ondruch
cbc3c77d45 Ruby 3.4 Hash#inspect compatibility. 2024-11-05 14:44:59 +01:00
Vít Ondruch
99595e7ab2 Ruby 3.4 backtrace compatibility. 2024-11-05 14:32:46 +01:00
Vít Ondruch
c8bcfeeef1 Drop mutex_m dependency to ease Ruby 3.4 compatibility. 2024-11-04 17:58:34 +01:00
Fedora Release Engineering
3c2b97f860 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-19 19:01:53 +00:00
Mamoru TASAKA
71e469e6d0 Backport upstream fix for test failure wrt ruby side Object#dup behavior change 2024-05-24 14:22:43 +09:00
Fedora Release Engineering
7367a000b6 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-26 16:33:14 +00:00
Fedora Release Engineering
5c1631ea64 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-22 12:25:30 +00:00
Vít Ondruch
e8270956db Add explicit dependencies to avoid Ruby 3.3 warnings.
We should be able to drop these once more recent AS (likely 7.0.8) is
released upstream.
2023-12-15 17:58:17 +01:00
Pavel Valena
28b148f2fb Add forgotten changelog entry for 0b918bc. 2023-09-24 18:30:28 +02:00
Pavel Valena
0b918bc76a Add tzdata as runtime dependency
otherwise we get a lot of build failures in other packages.

Caused by:
https://fedoraproject.org/wiki/Changes/AllowRemovalOfTzdata
2023-09-24 17:40:39 +02:00
Pavel Valena
38c49dd442 Update to activesupport 7.0.8
also add tzdata dependency for tests.
2023-09-21 14:44:22 +02:00
Pavel Valena
b451e6c74f Update to activesupport 7.0.7.2. 2023-08-28 12:44:32 +02:00
Pavel Valena
72d95dff68 Update to activesupport 7.0.7. 2023-08-10 18:36:38 +02:00
Pavel Valena
b17ae11aa7 Update to activesupport 7.0.6. 2023-07-23 15:48:28 +02:00
Fedora Release Engineering
c7156b7a8b Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-21 17:18:50 +00:00
Pavel Valena
71cbca1b71 Update to activesupport 7.0.5.
Also switch to diferent %patch macro format.
2023-06-29 20:56:44 +02:00
Pavel Valena
c09e17dc2e Update to activesupport 7.0.4.3. 2023-03-14 14:30:55 +01:00
Pavel Valena
c5bf26a778 Update to activesupport 7.0.4.2. 2023-01-25 13:52:18 +01:00
Fedora Release Engineering
78ab423330 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-20 20:09:29 +00:00
Mamoru TASAKA
56f9c20701 Backport upstream fix for test failure with ruby3.2 wrt class_serial removal 2022-12-21 15:11:59 +09:00
Pavel Valena
629d6458bf Update to activesupport 7.0.4. 2022-09-15 16:56:54 +02:00
Vít Ondruch
855471b72d Fix Minitest 5.16+ compatibility. 2022-08-02 16:01:13 +02:00
Fedora Release Engineering
dfd27e8915 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-23 01:15:12 +00:00
Pavel Valena
f97acb4ada Update to activesupport 7.0.2.3. 2022-03-16 14:25:13 +01:00
Pavel Valena
0198e7a268 Update to activesupport 7.0.2. 2022-02-11 02:22:50 +01:00
Pavel Valena
80aab539b7 Update to activesupport 7.0.1. 2022-02-08 02:42:08 +01:00
Fedora Release Engineering
a802a467c2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-21 18:15:09 +00:00
Pavel Valena
2dfbcf40a2 Update to activesupport 6.1.4.1. 2021-09-17 17:40:54 +02:00
Fedora Release Engineering
9d87f7d511 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-23 11:47:54 +00:00
Pavel Valena
da49dd4714 Update to activesupport 6.1.4. 2021-06-30 17:01:52 +02:00
Pavel Valena
feae146c78 Update to activesupport 6.1.3.2. 2021-05-18 02:45:46 +02:00
Pavel Valena
48430de477 Update to activesupport 6.1.3.1. 2021-04-09 13:04:11 +02:00
Pavel Valena
94a7bca8dc Update to activesupport 6.1.3. 2021-02-18 16:14:52 +01:00
Pavel Valena
90b5024c92 Update to activesupport 6.1.2.1. 2021-02-15 16:11:15 +01:00
Pavel Valena
851ceb8f99 Update to activesupport 6.1.1. 2021-02-01 02:09:22 +01:00
Fedora Release Engineering
be9180ca9a - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-27 15:37:25 +00:00
Vít Ondruch
81f0c1db6a Fix FTBFS due to Ruby 3.0 update. 2021-01-20 15:05:09 +01:00
Pavel Valena
2fc28ff854 Update to activesupport 6.0.3.4.
Resolves: rhbz#1886136
2020-10-08 10:45:45 +02:00
Pavel Valena
6168ada9f8 Update to activesupport 6.0.3.3.
Resolves: rhbz#1877502
2020-09-23 06:41:00 +02:00
Vít Ondruch
9bedb8bdc2 Fix evaluator test from web-console.
https://github.com/rails/rails/issues/40196
https://github.com/rails/web-console/issues/301
2020-09-10 10:59:23 +02:00
Vít Ondruch
a1df3525a9 Properly fix flaky FileStoreTest#test_filename_max_size test case. 2020-09-01 17:24:21 +02:00
Pavel Valena
27cedd6873 Disable test_filename_max_size
which is failing in koji.
2020-08-19 10:53:28 +02:00
Pavel Valena
c7db655091 Update to activesupport 6.0.3.2.
Resolves: rhbz#1742797
2020-08-17 06:41:24 +02:00
9 changed files with 412 additions and 202 deletions

2
.gitignore vendored
View file

@ -1,3 +1,3 @@
/activesupport-*.gem
/activesupport-*-tests.txz
/activesupport-*-tests.tar.gz
/rails-*-tools.txz

View file

@ -1,24 +0,0 @@
From e9425abe33924623b1dce62bd817eace757c2b4e Mon Sep 17 00:00:00 2001
From: Phil Ross <phil.ross@gmail.com>
Date: Fri, 29 Dec 2017 12:47:10 +0000
Subject: [PATCH] Update to TZInfo v2.0.0
Co-authored-by: Jared Beck <jared@jaredbeck.com>
Co-authored-by: Jonathan Hefner <jonathan@hefner.pro>
---
time_zone_test.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/activesupport/test/time_zone_test.rb b/activesupport/test/time_zone_test.rb
index 4b5f3dceee6f..646b9e1d3199 100644
--- a/activesupport/test/time_zone_test.rb
+++ b/activesupport/test/time_zone_test.rb
@@ -22,7 +29,7 @@ def test_local_to_utc
def test_period_for_local
zone = ActiveSupport::TimeZone["Eastern Time (US & Canada)"]
- assert_instance_of TZInfo::TimezonePeriod, zone.period_for_local(Time.utc(2000))
+ assert_kind_of TZInfo::TimezonePeriod, zone.period_for_local(Time.utc(2000))
end
ActiveSupport::TimeZone::MAPPING.each_key do |name|

View file

@ -1,119 +0,0 @@
From e9425abe33924623b1dce62bd817eace757c2b4e Mon Sep 17 00:00:00 2001
From: Phil Ross <phil.ross@gmail.com>
Date: Fri, 29 Dec 2017 12:47:10 +0000
Subject: [PATCH] Update to TZInfo v2.0.0
Co-authored-by: Jared Beck <jared@jaredbeck.com>
Co-authored-by: Jonathan Hefner <jonathan@hefner.pro>
---
time_with_zone.rb | 20 +++++++++++++++-----
values/time_zone.rb | 14 ++++++--------
2 files changed, 21 insertions(+), 13 deletions(-)
diff --git a/activesupport/lib/active_support/time_with_zone.rb b/activesupport/lib/active_support/time_with_zone.rb
index 3be5f6f7b595..9a4c33ab0f19 100644
--- a/activesupport/lib/active_support/time_with_zone.rb
+++ b/activesupport/lib/active_support/time_with_zone.rb
@@ -57,12 +57,12 @@ def initialize(utc_time, time_zone, local_time = nil, period = nil)
# Returns a <tt>Time</tt> instance that represents the time in +time_zone+.
def time
- @time ||= period.to_local(@utc)
+ @time ||= incorporate_utc_offset(@utc, utc_offset)
end
# Returns a <tt>Time</tt> instance of the simultaneous time in the UTC timezone.
def utc
- @utc ||= period.to_utc(@time)
+ @utc ||= incorporate_utc_offset(@time, -utc_offset)
end
alias_method :comparable_time, :utc
alias_method :getgm, :utc
@@ -104,13 +104,13 @@ def dst?
# Time.zone = 'Eastern Time (US & Canada)' # => 'Eastern Time (US & Canada)'
# Time.zone.now.utc? # => false
def utc?
- period.offset.abbreviation == :UTC || period.offset.abbreviation == :UCT
+ zone == "UTC" || zone == "UCT"
end
alias_method :gmt?, :utc?
# Returns the offset from current time to UTC time in seconds.
def utc_offset
- period.utc_total_offset
+ period.observed_utc_offset
end
alias_method :gmt_offset, :utc_offset
alias_method :gmtoff, :utc_offset
@@ -132,7 +132,7 @@ def formatted_offset(colon = true, alternate_utc_string = nil)
# Time.zone = 'Eastern Time (US & Canada)' # => "Eastern Time (US & Canada)"
# Time.zone.now.zone # => "EST"
def zone
- period.zone_identifier.to_s
+ period.abbreviation
end
# Returns a string of the object's date, time, zone, and offset from UTC.
@@ -524,6 +524,16 @@ def method_missing(sym, *args, &block)
end
private
+ SECONDS_PER_DAY = 86400
+
+ def incorporate_utc_offset(time, offset)
+ if time.kind_of?(Date)
+ time + Rational(offset, SECONDS_PER_DAY)
+ else
+ time + offset
+ end
+ end
+
def get_period_and_ensure_valid_local_time(period)
# we don't want a Time.local instance enforcing its own DST rules as well,
# so transfer time values to a utc constructor if necessary
diff --git a/activesupport/lib/active_support/values/time_zone.rb b/activesupport/lib/active_support/values/time_zone.rb
index 90830b89bda3..2e5d9d3e9d4c 100644
--- a/activesupport/lib/active_support/values/time_zone.rb
+++ b/activesupport/lib/active_support/values/time_zone.rb
@@ -203,7 +203,7 @@ def seconds_to_utc_offset(seconds, colon = true)
end
def find_tzinfo(name)
- TZInfo::Timezone.new(MAPPING[name] || name)
+ TZInfo::Timezone.get(MAPPING[name] || name)
end
alias_method :create, :new
@@ -273,7 +273,7 @@ def load_country_zones(code)
memo
end
else
- create(tz_id, nil, TZInfo::Timezone.new(tz_id))
+ create(tz_id, nil, TZInfo::Timezone.get(tz_id))
end
end.sort!
end
@@ -302,11 +302,7 @@ def initialize(name, utc_offset = nil, tzinfo = nil)
# Returns the offset of this time zone from UTC in seconds.
def utc_offset
- if @utc_offset
- @utc_offset
- else
- tzinfo.current_period.utc_offset if tzinfo && tzinfo.current_period
- end
+ @utc_offset || tzinfo&.current_period&.base_utc_offset
end
# Returns a formatted string of the offset from UTC, or an alternative
@@ -503,7 +499,9 @@ def yesterday
# represented by +self+. Returns a Time.utc() instance -- if you want an
# ActiveSupport::TimeWithZone instance, use Time#in_time_zone() instead.
def utc_to_local(time)
- tzinfo.utc_to_local(time)
+ tzinfo.utc_to_local(time).yield_self do |t|
+ Time.utc(t.year, t.month, t.day, t.hour, t.min, t.sec, t.sec_fraction)
+ end
end
# Adjust the given time to the simultaneous time in UTC. Returns a

View file

@ -0,0 +1,24 @@
From 283d96ea53f45eedf09a31bef739575df96e87df Mon Sep 17 00:00:00 2001
From: zzak <zzak@hey.com>
Date: Sun, 5 Oct 2025 10:31:09 +0900
Subject: [PATCH] Always pass default precision to BigDecimal when parsing
Float in XmlMini
https://github.com/ruby/bigdecimal/blob/cb2458bde33bf90a8364b58d53e8948a7ba555ea/ext/bigdecimal/bigdecimal.c#L2747-L2749
---
activesupport/lib/active_support/xml_mini.rb | 2 ++
1 file changed, 2 insertions(+)
diff --git a/activesupport/lib/active_support/xml_mini.rb b/activesupport/lib/active_support/xml_mini.rb
index 2c2b8185b1b80..c6d7ce5b7c251 100644
--- a/activesupport/lib/active_support/xml_mini.rb
+++ b/activesupport/lib/active_support/xml_mini.rb
@@ -74,6 +74,8 @@ def content_type
"decimal" => Proc.new do |number|
if String === number
number.to_d
+ elsif Float === number
+ BigDecimal(number, 0)
else
BigDecimal(number)
end

View file

@ -0,0 +1,12 @@
--- activesupport-8.0.3/lib/active_support/testing/autorun.rb.orig 2025-12-30 16:47:16.780346179 +0900
+++ activesupport-8.0.3/lib/active_support/testing/autorun.rb 2025-12-30 16:52:01.482400639 +0900
@@ -8,5 +8,8 @@ require "minitest"
# used in some cases. This conditional can probably go after the bump
# is complete? ... but could still fail for developers working w/
# multiple versions installed.
-Minitest.load :rails if Minitest.respond_to? :load
+begin
+ Minitest.load :rails if Minitest.respond_to? :load
+rescue LoadError
+end
Minitest.autorun

View file

@ -0,0 +1,129 @@
From 9da4460ad0e71e5c3de32566ffbc302674b1f76e Mon Sep 17 00:00:00 2001
From: Ryan Davis <ryand-ruby@zenspider.com>
Date: Thu, 20 Nov 2025 12:50:33 -0800
Subject: [PATCH 1/5] MT6: Load rails plugin
---
activesupport/lib/active_support/testing/autorun.rb | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/activesupport/lib/active_support/testing/autorun.rb b/activesupport/lib/active_support/testing/autorun.rb
index d5d5fc7ae8e45..068aac0b487e0 100644
--- a/activesupport/lib/active_support/testing/autorun.rb
+++ b/activesupport/lib/active_support/testing/autorun.rb
@@ -2,4 +2,11 @@
require "minitest"
+##
+# I shouldn't need this respond_to check but some tests are running
+# sub-process tests in an unbundled environment, causing MT5 to be
+# used in some cases. This conditional can probably go after the bump
+# is complete? ... but could still fail for developers working w/
+# multiple versions installed.
+Minitest.load :rails if Minitest.respond_to? :load
Minitest.autorun
From 831f0f96d0f9c132b28d3fa22ab82806115747b0 Mon Sep 17 00:00:00 2001
From: Ryan Davis <ryand-ruby@zenspider.com>
Date: Thu, 20 Nov 2025 14:16:51 -0800
Subject: [PATCH 3/5] MT6: implementation fixes
MT6 changes the way assertion messages work. Now, if a proc is passed
in for the message, it wins untouched. So for the rails assertions
that want to have diffs shown while calling assert_equal with a
message proc, the proc needs to call diff itself. This feels redundant
to me, but not my call.
And since the procs win now, they need to provide their own periods at
the end of the text.
---
activesupport/lib/active_support/testing/assertions.rb | 8 +++++---
.../lib/active_support/testing/parallelization/worker.rb | 6 +++++-
2 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/activesupport/lib/active_support/testing/assertions.rb b/activesupport/lib/active_support/testing/assertions.rb
index 178b5b350abba..4f2c6b105bc19 100644
--- a/activesupport/lib/active_support/testing/assertions.rb
+++ b/activesupport/lib/active_support/testing/assertions.rb
@@ -124,7 +124,8 @@ def assert_difference(expression, *args, &block)
actual = exp.call
rich_message = -> do
code_string = code.respond_to?(:call) ? _callable_to_source_string(code) : code
- error = "`#{code_string}` didn't change by #{diff}, but by #{actual - before_value}"
+ error = "`#{code_string}` didn't change by #{diff}, but by #{actual - before_value}."
+ error = "#{error}\n#{diff before_value + diff, actual}" if Minitest::VERSION > "6"
error = "#{message}.\n#{error}" if message
error
end
@@ -228,7 +229,7 @@ def assert_changes(expression, message = nil, from: UNTRACKED, to: UNTRACKED, &b
rich_message = -> do
code_string = expression.respond_to?(:call) ? _callable_to_source_string(expression) : expression
error = "`#{code_string}` didn't change"
- error = "#{error}. It was already #{to.inspect}" if before == to
+ error = "#{error}. It was already #{to.inspect}." if before == to
error = "#{message}.\n#{error}" if message
error
end
@@ -296,8 +297,9 @@ def assert_no_changes(expression, message = nil, from: UNTRACKED, &block)
rich_message = -> do
code_string = expression.respond_to?(:call) ? _callable_to_source_string(expression) : expression
- error = "`#{code_string}` changed"
+ error = "`#{code_string}` changed."
error = "#{message}.\n#{error}" if message
+ error = "#{error}\n#{diff before, after}" if Minitest::VERSION > "6"
error
end
diff --git a/activesupport/lib/active_support/testing/parallelization/worker.rb b/activesupport/lib/active_support/testing/parallelization/worker.rb
index d008277f8924c..daad6ce659103 100644
--- a/activesupport/lib/active_support/testing/parallelization/worker.rb
+++ b/activesupport/lib/active_support/testing/parallelization/worker.rb
@@ -49,7 +49,11 @@ def perform_job(job)
set_process_title("#{klass}##{method}")
result = klass.with_info_handler reporter do
- Minitest.run_one_method(klass, method)
+ if Minitest.respond_to?(:run_one_method) then
+ Minitest.run_one_method(klass, method)
+ else
+ klass.new(method).run
+ end
end
safe_record(reporter, result)
From 2c1ca03402de9a5bc4e482da739e39f5bd47f0b3 Mon Sep 17 00:00:00 2001
From: Ryan Davis <ryand-ruby@zenspider.com>
Date: Thu, 20 Nov 2025 15:34:55 -0800
Subject: [PATCH 4/5] MT6: test fixes
Mostly minor and mostly centered around whether there are diffs.
---
actionpack/test/dispatch/routing/route_set_test.rb | 4 ++--
activesupport/test/test_case_test.rb | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/activesupport/test/test_case_test.rb b/activesupport/test/test_case_test.rb
index 7e5084e4b041c..05ed8f2ae629d 100644
--- a/activesupport/test/test_case_test.rb
+++ b/activesupport/test/test_case_test.rb
@@ -243,7 +243,7 @@ def test_assert_changes_with_to_option_but_no_change_has_special_message
end
end
- assert_equal "`@object.num` didn't change. It was already 0.\nExpected 0 to not be equal to 0.", error.message
+ assert_match "`@object.num` didn't change. It was already 0.", error.message
end
def test_assert_changes_message_with_lambda
@@ -255,7 +255,7 @@ def test_assert_changes_message_with_lambda
end
end
- assert_equal "`@object.num` didn't change. It was already 0.\nExpected 0 to not be equal to 0.", error.message
+ assert_match "`@object.num` didn't change. It was already 0.", error.message
end
def test_assert_changes_with_wrong_to_option

View file

@ -1,60 +1,70 @@
%global gem_name activesupport
#%%global prerelease .rc1
#%%global prerelease
Name: rubygem-%{gem_name}
Epoch: 1
Version: 6.0.3.1
Release: 1%{?dist}
Version: 8.0.3
Release: 4%{?dist}
Summary: A support libraries and Ruby core extensions extracted from the Rails framework
License: MIT
URL: http://rubyonrails.org
URL: https://rubyonrails.org
Source0: https://rubygems.org/gems/%{gem_name}-%{version}%{?prerelease}.gem
# The activesupport gem doesn't ship with the test suite.
# You may check it out like so
# git clone http://github.com/rails/rails.git
# cd rails/activesupport && git archive -v -o activesupport-6.0.3.1-tests.txz v6.0.3.1 test/
Source1: %{gem_name}-%{version}%{?prerelease}-tests.txz
# The tools are needed for the test suite, are however unpackaged in gem file.
# You may get them like so
# git clone http://github.com/rails/rails.git --no-checkout
# cd rails && git archive -v -o rails-6.0.3.1-tools.txz v6.0.3.1 tools/
Source2: rails-%{version}%{?prerelease}-tools.txz
# Fix TZInfo 2.0 compatibility.
# https://github.com/rails/rails/pull/34799
# https://github.com/rails/rails/pull/38081
Patch1: rubygem-activesupport-6.1.0-Update-to-TZInfo-v2.0.0.patch
Patch2: rubygem-activesupport-6.1.0-Update-to-TZInfo-v2.0.0-tests.patch
# git clone http://github.com/rails/rails.git && cd rails/activesupport
# git archive -v -o activesupport-8.0.3-tests.tar.gz v8.0.3 test/
Source1: %{gem_name}-%{version}%{?prerelease}-tests.tar.gz
# This is needed due to `force_skip` alias.
# https://github.com/rails/rails/blob/main/tools/test_common.rb
Source2: https://raw.githubusercontent.com/rails/rails/e25d738430bdc6bdd04cd28be705484ea953e74e/tools/test_common.rb
# Fix XmlMiniTest::ParsingTest#test_decimal test failure with BigDecimal 3.2.3+
# https://github.com/rails/rails/pull/55840
Patch1: rubygem-activesupport-8.0.3-Always-pass-default-precision-to-BigDecimal-when-parsing.patch
# Support minitest 6
# https://github.com/rails/rails/pull/56202/
Patch2: rubygem-activesupport-pr56202-minitest6.patch
# We don't always install railties with activesupport, so rescue this
Patch3: rubygem-activesupport-pr56202-minitest6-rescue-loaderror.patch
# ruby package has just soft dependency on rubygem({bigdecimal,json}), while
# ActiveSupport always requires them.
Requires: rubygem(bigdecimal)
# Ruby package has just soft dependency on rubygem(json), while
# ActiveSupport always requires it.
Requires: rubygem(json)
# Runtime dependency, lot of build failures in other packages.
# https://fedoraproject.org/wiki/Changes/AllowRemovalOfTzdata
Requires: tzdata
# Let's keep Requires and BuildRequires sorted alphabeticaly
BuildRequires: ruby(release)
BuildRequires: rubygems-devel
BuildRequires: ruby >= 2.2.2
BuildRequires: ruby >= 3.2.0
BuildRequires: rubygem(bigdecimal)
BuildRequires: rubygem(builder)
BuildRequires: rubygem(concurrent-ruby)
BuildRequires: rubygem(connection_pool)
BuildRequires: rubygem(dalli)
BuildRequires: (rubygem(i18n) >= 0.7 with rubygem(i18n) < 2)
BuildRequires: rubygem(minitest) >= 5.0.0
BuildRequires: rubygem(rack)
BuildRequires: rubygem(tzinfo) >= 1.1
BuildRequires: rubygem(drb)
BuildRequires: rubygem(i18n) >= 0.7
BuildRequires: rubygem(listen)
BuildRequires: rubygem(minitest) >= 5.0.0
BuildRequires: rubygem(minitest-mock)
BuildRequires: rubygem(msgpack)
BuildRequires: rubygem(rack)
BuildRequires: rubygem(redis)
BuildRequires: rubygem(rexml)
BuildRequires: rubygem(tzinfo) >= 2.0
BuildRequires: memcached
%ifnarch %{ix86}
BuildRequires: %{_bindir}/valkey-server
%endif
BuildRequires: tzdata
BuildArch: noarch
%description
A toolkit of support libraries and Ruby core extensions extracted from the
Rails framework. Rich support for multibyte strings, internationalization,
time zones, and testing.
%package doc
Summary: Documentation for %{name}
Requires: %{name} = %{epoch}:%{version}-%{release}
@ -64,16 +74,15 @@ BuildArch: noarch
Documentation for %{name}.
%prep
%setup -q -n %{gem_name}-%{version}%{?prerelease} -b1 -b2
%setup -q -n %{gem_name}-%{version}%{?prerelease} -a 1
%patch1 -p2
%patch 1 -p2
%patch 2 -p2
%patch 3 -p1
pushd %{_builddir}
%patch2 -p2
popd
%gemspec_remove_dep -g tzinfo "~> 1.1"
%gemspec_add_dep -g tzinfo [">= 1.1", "< 3"]
# lib/active_support/testing/method_call_assertions.rb
# always needs minitest/mock
%gemspec_add_dep -g minitest-mock
%build
gem build ../%{gem_name}-%{version}%{?prerelease}.gemspec
@ -85,34 +94,43 @@ cp -a .%{gem_dir}/* \
%{buildroot}%{gem_dir}/
%check
pushd .%{gem_instdir}
# Move the tests into place
ln -s %{_builddir}/tools ..
mv %{_builddir}/test .
cp -a test .%{gem_instdir}
# These tests are really unstable, but they seems to be passing upstream :/
for f in \
test/evented_file_update_checker_test.rb \
test/cache/stores/redis_cache_store_test.rb # failed to require "redis/connection/hiredis"
do
mv $f{,.disable}
done
cd .%{gem_instdir}
# This seems to be unstable as well ...
# https://github.com/rails/rails/issues/25682
sed -i '/def test_iso8601_output_and_reparsing$/,/^ end$/ s/^/#/' test/core_ext/duration_test.rb
mkdir ../tools
ln -s %{SOURCE2} ../tools/
touch ../tools/strict_warnings.rb
# Workaround TransformValuesTest#test_default_procs_do_not_persist_*_mapping
# test failures due to bug in Ruby 2.7.{0,1}.
# https://bugs.ruby-lang.org/issues/16498
sed -i '/assert_nil mapped\[:b\]/ s/^/#/' test/core_ext/hash/transform_values_test.rb
sed -i '/require .bundler./ s/^/#/' test/abstract_unit.rb
# backported from:
# https://github.com/rails/rails/commit/632b2c5128581731c2451459081176a43f474f74
# benchmark 0.5.0 in ruby4_0 defines Benchmark.ms{}, so the following
# test is no longer needed
sed -i test/core_ext/benchmark_test.rb -e '\@test_is_deprecated@s@$@ ; skip ""@'
# Start a testing Valkey (Redis) server instance
%ifnarch %{ix86}
VALKEY_DIR=$(mktemp -d)
valkey-server --dir $VALKEY_DIR --pidfile $VALKEY_DIR/valkey.pid --daemonize yes
%endif
# Start Memcached server
memcached &
mPID=$!
sleep 1
ruby -Ilib:test -e 'Dir.glob "./test/**/*_test.rb", &method(:require)'
ruby -Ilib -e 'Dir.glob "./test/**/*_test.rb", &method(:require)' -- -v
# Shutdown Memcached
kill -15 $mPID
popd
# Shutdown Valkey.
%ifnarch %{ix86}
kill -INT $(cat $VALKEY_DIR/valkey.pid)
%endif
%files
%dir %{gem_instdir}
@ -127,6 +145,157 @@ popd
%doc %{gem_instdir}/README.rdoc
%changelog
* Tue Dec 30 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:8.0.3-4
- Update minitest 6 patch, and rescue when railties is not installed
* Mon Dec 29 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:8.0.3-3
- Backport upstream fix to support minitest 6
* Sun Nov 09 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:8.0.3-2
- Backport upstream change for testsuite removal for new benchmark gem in
ruby4_0
* Mon Oct 06 2025 Vít Ondruch <vondruch@redhat.com> - 1:8.0.3-1
- Update to Active Support 8.0.3.
Related: rhzb#2388437
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1:8.0.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Wed Jul 02 2025 Vít Ondruch <vondruch@redhat.com> - 1:8.0.2-1
- Update to Active Support 8.0.2.
Related: rhbz#2238177
* Thu Jan 23 2025 Vít Ondruch <vondruch@redhat.com> - 1:7.0.8-11
- Fix compatibility with concurrent-ruby 1.3.5+
* Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1:7.0.8-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Tue Nov 26 2024 Vít Ondruch <vondruch@redhat.com> - 1:7.0.8-9
- Add extracted standard gems dependencies.
* Mon Nov 04 2024 Vít Ondruch <vondruch@redhat.com> - 1:7.0.8-8
- Ruby 3.4 compatibility fixes.
* Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:7.0.8-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Fri May 24 2024 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:7.0.8-6
- Backport upstream fix for test failure wrt ruby side
Object#dup behavior change
* Fri Jan 26 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:7.0.8-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:7.0.8-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Dec 15 2023 Vít Ondruch <vondruch@redhat.com> - 1:7.0.8-3
- Add explicit dependencies to avoid Ruby 3.3 warnings.
* Sun Sep 24 2023 Pavel Valena <pvalena@redhat.com> - 1:7.0.8-2
- Add tzdata as a runtime dependency.
* Sun Sep 10 2023 Pavel Valena <pvalena@redhat.com> - 1:7.0.8-1
- Update to activesupport 7.0.8.
* Mon Aug 28 2023 Pavel Valena <pvalena@redhat.com> - 1:7.0.7.2-1
- Update to activesupport 7.0.7.2.
* Thu Aug 10 2023 Pavel Valena <pvalena@redhat.com> - 1:7.0.7-1
- Update to activesupport 7.0.7.
* Sun Jul 23 2023 Pavel Valena <pvalena@redhat.com> - 1:7.0.6-1
- Update to activesupport 7.0.6.
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1:7.0.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue May 30 2023 Pavel Valena <pvalena@redhat.com> - 1:7.0.5-1
- Update to activesupport 7.0.5.
* Tue Mar 14 2023 Pavel Valena <pvalena@redhat.com> - 1:7.0.4.3-1
- Update to activesupport 7.0.4.3.
* Wed Jan 25 2023 Pavel Valena <pvalena@redhat.com> - 1:7.0.4.2-1
- Update to activesupport 7.0.4.2.
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1:7.0.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Wed Dec 21 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:7.0.4-2
- Backport upstream fix for test failure with ruby3.2 wrt class_serial removal
* Thu Sep 15 2022 Pavel Valena <pvalena@redhat.com> - 1:7.0.4-1
- Update to activesupport 7.0.4.
* Tue Aug 02 2022 Vít Ondruch <vondruch@redhat.com> - 1:7.0.2.3-3
- Fix Minitest 5.16+ compatibility.
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:7.0.2.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Mon Mar 14 2022 Pavel Valena <pvalena@redhat.com> - 1:7.0.2.3-1
- Update to activesupport 7.0.2.3.
* Wed Feb 09 2022 Pavel Valena <pvalena@redhat.com> - 1:7.0.2-1
- Update to activesupport 7.0.2.
* Thu Feb 03 2022 Pavel Valena <pvalena@redhat.com> - 1:7.0.1-1
- Update to activesupport 7.0.1.
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:6.1.4.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Fri Sep 17 2021 Pavel Valena <pvalena@redhat.com> - 1:6.1.4.1-1
- Update to activesupport 6.1.4.1.
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:6.1.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Wed Jun 30 2021 Pavel Valena <pvalena@redhat.com> - 1:6.1.4-1
- Update to activesupport 6.1.4.
* Tue May 18 2021 Pavel Valena <pvalena@redhat.com> - 1:6.1.3.2-1
- Update to activesupport 6.1.3.2.
* Fri Apr 09 2021 Pavel Valena <pvalena@redhat.com> - 1:6.1.3.1-1
- Update to activesupport 6.1.3.1.
* Thu Feb 18 2021 Pavel Valena <pvalena@redhat.com> - 1:6.1.3-1
- Update to activesupport 6.1.3.
* Mon Feb 15 2021 Pavel Valena <pvalena@redhat.com> - 1:6.1.2.1-1
- Update to activesupport 6.1.2.1.
* Wed Jan 27 2021 Pavel Valena <pvalena@redhat.com> - 1:6.1.1-1
- Update to activesupport 6.1.1.
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:6.0.3.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Wed Jan 20 2021 Vít Ondruch <vondruch@redhat.com> - 1:6.0.3.4-2
- Fix FTBFS due to Ruby 3.0 update.
* Thu Oct 8 10:45:37 CEST 2020 Pavel Valena <pvalena@redhat.com> - 1:6.0.3.4-1
- Update to activesupport 6.0.3.4.
Resolves: rhbz#1886136
* Fri Sep 18 17:58:30 CEST 2020 Pavel Valena <pvalena@redhat.com> - 1:6.0.3.3-1
- Update to activesupport 6.0.3.3.
Resolves: rhbz#1877502
* Thu Sep 10 08:42:03 GMT 2020 Vít Ondruch <vondruch@redhat.com> - 1:6.0.3.2-3
- Fix evaluator test from web-console.
* Tue Sep 01 2020 Vít Ondruch <vondruch@redhat.com> - 1:6.0.3.2-2
- Properly fix flaky `FileStoreTest#test_filename_max_size` test case.
* Mon Aug 17 04:41:17 GMT 2020 Pavel Valena <pvalena@redhat.com> - 1:6.0.3.2-1
- Update to activesupport 6.0.3.2.
Resolves: rhbz#1742797
* Mon Aug 03 07:01:37 GMT 2020 Pavel Valena <pvalena@redhat.com> - 6.0.3.1-1
- Update to ActiveSupport 6.0.3.1.
Resolves: rhbz#1742797

View file

@ -1,3 +1,2 @@
SHA512 (activesupport-6.0.3.1.gem) = b4b80a2fd08f4dc62a22b8946a91e81116e07a275d2ab75cb7021aa8f3481816ce32b5a598eb532235fe2e686cb1a000fad1667ab4d9561cd01a7e682244f6f8
SHA512 (activesupport-6.0.3.1-tests.txz) = 38e34723040d209fb11aaf6b7c01a4e6bafceb1c6a53417dffc2f154996ba66cf80775b2e6f040548920537f27057c19bd3f09493a4de0bf99eb70be4ce2b6a3
SHA512 (rails-6.0.3.1-tools.txz) = e461674faf787a4f488e93b43747f829b9ea764167ac4782190ac469c4b0941e307e0a72b786a8392c00df1221d02622ffd4b29d7ea43e6c018daf463e092f6a
SHA512 (activesupport-8.0.3-tests.tar.gz) = d11560cc2246aaa16fcb7f213061cb6a355bd2e4bbc0cd3e0541db979aa90d28b738ceaf36935f49688953faf94314e2ae8da3e2f88436ac31c0a77a5804a91e
SHA512 (activesupport-8.0.3.gem) = f46b6710c65d7b59e0c7f1eb48641aa4ef0568b2d64147866e1dfa699c0b4c068bf443cc9967190ed47c2f6ea98137668a300455792982061e280a7df605bb4f

20
test_common.rb Normal file
View file

@ -0,0 +1,20 @@
# frozen_string_literal: true
ActiveSupport::TestCase.alias_method :force_skip, :skip
if ENV["BUILDKITE"]
require "minitest-ci"
ENV.delete("CI") # CI has affect on the applications, and we don't want it applied to the apps.
Minitest::Ci.report_dir = File.join(__dir__, "../test-reports/#{ENV['BUILDKITE_JOB_ID']}")
module DisableSkipping # :nodoc:
private
def skip(message = nil, *)
flunk "Skipping tests is not allowed in this environment (#{message})\n" \
"Tests should only be skipped when the environment is missing a required dependency.\n" \
"This should never happen on CI."
end
end
ActiveSupport::TestCase.include(DisableSkipping)
end