Compare commits

..

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

9 changed files with 351 additions and 508 deletions

74
.gitignore vendored
View file

@ -1,3 +1,71 @@
/activesupport-*.gem
/activesupport-*-tests.tar.gz
/rails-*-tools.txz
activesupport-2.3.5.gem
activesupport-2.3.8.gem
/activesupport-3.0.3.gem
/activesupport-3.0.5.gem
/activesupport-tests.tgz
/activesupport-3.0.9-tests.tgz
/activesupport-3.0.9.gem
/activesupport-3.0.10-tests.tgz
/activesupport-3.0.10.gem
/activesupport-3.0.11-tests.tgz
/activesupport-3.0.11.gem
/activesupport-3.0.13-tests.tgz
/activesupport-3.0.13.gem
/activesupport-3.0.15-tests.tgz
/activesupport-3.0.15.gem
/activesupport-3.2.6-tests.tgz
/activesupport-3.2.6.gem
/activesupport-3.2.7-tests.tgz
/activesupport-3.2.7.gem
/activesupport-3.2.8-tests.tgz
/activesupport-3.2.8.gem
/activesupport-3.2.10-tests.tgz
/activesupport-3.2.10.gem
/activesupport-3.2.11-tests.tgz
/activesupport-3.2.11.gem
/activesupport-3.2.12-tests.tgz
/activesupport-3.2.12.gem
/activesupport-3.2.13-tests.tgz
/activesupport-3.2.13.gem
/activesupport-4.0.0-tests.tgz
/activesupport-4.0.0.gem
/activesupport-4.0.1-tests.tgz
/activesupport-4.0.1.gem
/activesupport-4.0.2-tests.tgz
/activesupport-4.0.2.gem
/activesupport-4.0.3-tests.tgz
/activesupport-4.0.3.gem
/activesupport-4.1.0-tests.tgz
/activesupport-4.1.0.gem
/activesupport-4.1.1-tests.tgz
/activesupport-4.1.1.gem
/activesupport-4.1.4-tests.tgz
/activesupport-4.1.4.gem
/activesupport-4.1.5-tests.tgz
/activesupport-4.1.5.gem
/activesupport-4.2.0-tests.tgz
/activesupport-4.2.0.gem
/activesupport-4.2.1-tests.tgz
/activesupport-4.2.1.gem
/activesupport-4.2.2-tests.tgz
/activesupport-4.2.2.gem
/activesupport-4.2.3-tests.tgz
/activesupport-4.2.3.gem
/activesupport-4.2.4-tests.tgz
/activesupport-4.2.4.gem
/activesupport-4.2.5-tests.tgz
/activesupport-4.2.5.gem
/activesupport-4.2.5.1-tests.tgz
/activesupport-4.2.5.1.gem
/activesupport-4.2.5.2-tests.tgz
/activesupport-4.2.5.2.gem
/activesupport-4.2.6-tests.tgz
/activesupport-4.2.6.gem
/activesupport-5.0.0-tests.tgz
/activesupport-5.0.0.gem
/activesupport-5.0.0.1-tests.tgz
/activesupport-5.0.0.1.gem
/activesupport-5.0.1-tests.tgz
/activesupport-5.0.1.gem
/activesupport-5.0.2-tests.tgz
/activesupport-5.0.2.gem

View file

@ -0,0 +1,136 @@
From 7d7c2d13ba896dd8b58fe91d2fe0c4fc588069ca Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com>
Date: Mon, 4 Jul 2016 13:11:44 +0200
Subject: [PATCH 1/2] DRY Downloader.
---
activesupport/test/multibyte_conformance_test.rb | 18 ------------------
.../test/multibyte_grapheme_break_conformance_test.rb | 19 ++-----------------
.../test/multibyte_normalization_conformance_test.rb | 18 ------------------
activesupport/test/multibyte_test_helpers.rb | 18 ++++++++++++++++++
4 files changed, 20 insertions(+), 53 deletions(-)
diff --git a/activesupport/test/multibyte_conformance_test.rb b/activesupport/test/multibyte_conformance_test.rb
index 9fca47a..709c63a 100644
--- a/activesupport/test/multibyte_conformance_test.rb
+++ b/activesupport/test/multibyte_conformance_test.rb
@@ -6,24 +6,6 @@
require 'tmpdir'
class MultibyteConformanceTest < ActiveSupport::TestCase
- class Downloader
- def self.download(from, to)
- unless File.exist?(to)
- unless File.exist?(File.dirname(to))
- system "mkdir -p #{File.dirname(to)}"
- end
- open(from) do |source|
- File.open(to, 'w') do |target|
- source.each_line do |l|
- target.write l
- end
- end
- end
- end
- true
- end
- end
-
include MultibyteTestHelpers
UNIDATA_URL = "http://www.unicode.org/Public/#{ActiveSupport::Multibyte::Unicode::UNICODE_VERSION}/ucd"
diff --git a/activesupport/test/multibyte_grapheme_break_conformance_test.rb b/activesupport/test/multibyte_grapheme_break_conformance_test.rb
index 6e2f02a..45e1976 100644
--- a/activesupport/test/multibyte_grapheme_break_conformance_test.rb
+++ b/activesupport/test/multibyte_grapheme_break_conformance_test.rb
@@ -1,29 +1,14 @@
# encoding: utf-8
require 'abstract_unit'
+require 'multibyte_test_helpers'
require 'fileutils'
require 'open-uri'
require 'tmpdir'
class MultibyteGraphemeBreakConformanceTest < ActiveSupport::TestCase
- class Downloader
- def self.download(from, to)
- unless File.exist?(to)
- $stderr.puts "Downloading #{from} to #{to}"
- unless File.exist?(File.dirname(to))
- system "mkdir -p #{File.dirname(to)}"
- end
- open(from) do |source|
- File.open(to, 'w') do |target|
- source.each_line do |l|
- target.write l
- end
- end
- end
- end
- end
- end
+ include MultibyteTestHelpers
TEST_DATA_URL = "http://www.unicode.org/Public/#{ActiveSupport::Multibyte::Unicode::UNICODE_VERSION}/ucd/auxiliary"
TEST_DATA_FILE = '/GraphemeBreakTest.txt'
diff --git a/activesupport/test/multibyte_normalization_conformance_test.rb b/activesupport/test/multibyte_normalization_conformance_test.rb
index 0d31c95..ad2e651 100644
--- a/activesupport/test/multibyte_normalization_conformance_test.rb
+++ b/activesupport/test/multibyte_normalization_conformance_test.rb
@@ -8,24 +8,6 @@
require 'tmpdir'
class MultibyteNormalizationConformanceTest < ActiveSupport::TestCase
- class Downloader
- def self.download(from, to)
- unless File.exist?(to)
- $stderr.puts "Downloading #{from} to #{to}"
- unless File.exist?(File.dirname(to))
- system "mkdir -p #{File.dirname(to)}"
- end
- open(from) do |source|
- File.open(to, 'w') do |target|
- source.each_line do |l|
- target.write l
- end
- end
- end
- end
- end
- end
-
include MultibyteTestHelpers
UNIDATA_URL = "http://www.unicode.org/Public/#{ActiveSupport::Multibyte::Unicode::UNICODE_VERSION}/ucd"
diff --git a/activesupport/test/multibyte_test_helpers.rb b/activesupport/test/multibyte_test_helpers.rb
index 58cf548..709586e 100644
--- a/activesupport/test/multibyte_test_helpers.rb
+++ b/activesupport/test/multibyte_test_helpers.rb
@@ -1,4 +1,22 @@
module MultibyteTestHelpers
+ class Downloader
+ def self.download(from, to)
+ unless File.exist?(to)
+ unless File.exist?(File.dirname(to))
+ system "mkdir -p #{File.dirname(to)}"
+ end
+ open(from) do |source|
+ File.open(to, 'w') do |target|
+ source.each_line do |l|
+ target.write l
+ end
+ end
+ end
+ end
+ true
+ end
+ end
+
UNICODE_STRING = 'こにちわ'.freeze
ASCII_STRING = 'ohayo'.freeze
BYTE_STRING = "\270\236\010\210\245".force_encoding("ASCII-8BIT").freeze
--
2.9.0

View file

@ -0,0 +1,101 @@
From c245ca30f248367e07d5d831195b12c93a1e3137 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com>
Date: Mon, 4 Jul 2016 13:36:30 +0200
Subject: [PATCH] Skip the test if test data download fails.
---
activesupport/test/multibyte_conformance_test.rb | 2 --
.../test/multibyte_grapheme_break_conformance_test.rb | 13 +++++++------
.../test/multibyte_normalization_conformance_test.rb | 9 +++++----
activesupport/test/multibyte_test_helpers.rb | 4 ++++
4 files changed, 16 insertions(+), 12 deletions(-)
diff --git a/activesupport/test/multibyte_conformance_test.rb b/activesupport/test/multibyte_conformance_test.rb
index 709c63a..c10133a 100644
--- a/activesupport/test/multibyte_conformance_test.rb
+++ b/activesupport/test/multibyte_conformance_test.rb
@@ -8,9 +8,7 @@
class MultibyteConformanceTest < ActiveSupport::TestCase
include MultibyteTestHelpers
- UNIDATA_URL = "http://www.unicode.org/Public/#{ActiveSupport::Multibyte::Unicode::UNICODE_VERSION}/ucd"
UNIDATA_FILE = '/NormalizationTest.txt'
- CACHE_DIR = "#{Dir.tmpdir}/cache/unicode_conformance"
FileUtils.mkdir_p(CACHE_DIR)
RUN_P = begin
Downloader.download(UNIDATA_URL + UNIDATA_FILE, CACHE_DIR + UNIDATA_FILE)
diff --git a/activesupport/test/multibyte_grapheme_break_conformance_test.rb b/activesupport/test/multibyte_grapheme_break_conformance_test.rb
index 45e1976..61943b1 100644
--- a/activesupport/test/multibyte_grapheme_break_conformance_test.rb
+++ b/activesupport/test/multibyte_grapheme_break_conformance_test.rb
@@ -10,13 +10,14 @@
class MultibyteGraphemeBreakConformanceTest < ActiveSupport::TestCase
include MultibyteTestHelpers
- TEST_DATA_URL = "http://www.unicode.org/Public/#{ActiveSupport::Multibyte::Unicode::UNICODE_VERSION}/ucd/auxiliary"
- TEST_DATA_FILE = '/GraphemeBreakTest.txt'
- CACHE_DIR = "#{Dir.tmpdir}/cache/unicode_conformance"
+ UNIDATA_FILE = '/auxiliary/GraphemeBreakTest.txt'
+ RUN_P = begin
+ Downloader.download(UNIDATA_URL + UNIDATA_FILE, CACHE_DIR + UNIDATA_FILE)
+ rescue
+ end
def setup
- FileUtils.mkdir_p(CACHE_DIR)
- Downloader.download(TEST_DATA_URL + TEST_DATA_FILE, CACHE_DIR + TEST_DATA_FILE)
+ skip "Unable to download test data" unless RUN_P
end
def test_breaks
@@ -31,7 +32,7 @@ def test_breaks
def each_line_of_break_tests(&block)
lines = 0
max_test_lines = 0 # Don't limit below 21, because that's the header of the testfile
- File.open(File.join(CACHE_DIR, TEST_DATA_FILE), 'r') do | f |
+ File.open(File.join(CACHE_DIR, UNIDATA_FILE), 'r') do | f |
until f.eof? || (max_test_lines > 21 and lines > max_test_lines)
lines += 1
line = f.gets.chomp!
diff --git a/activesupport/test/multibyte_normalization_conformance_test.rb b/activesupport/test/multibyte_normalization_conformance_test.rb
index ad2e651..77ed0ce 100644
--- a/activesupport/test/multibyte_normalization_conformance_test.rb
+++ b/activesupport/test/multibyte_normalization_conformance_test.rb
@@ -10,14 +10,15 @@
class MultibyteNormalizationConformanceTest < ActiveSupport::TestCase
include MultibyteTestHelpers
- UNIDATA_URL = "http://www.unicode.org/Public/#{ActiveSupport::Multibyte::Unicode::UNICODE_VERSION}/ucd"
UNIDATA_FILE = '/NormalizationTest.txt'
- CACHE_DIR = "#{Dir.tmpdir}/cache/unicode_conformance"
+ RUN_P = begin
+ Downloader.download(UNIDATA_URL + UNIDATA_FILE, CACHE_DIR + UNIDATA_FILE)
+ rescue
+ end
def setup
- FileUtils.mkdir_p(CACHE_DIR)
- Downloader.download(UNIDATA_URL + UNIDATA_FILE, CACHE_DIR + UNIDATA_FILE)
@proxy = ActiveSupport::Multibyte::Chars
+ skip "Unable to download test data" unless RUN_P
end
def test_normalizations_C
diff --git a/activesupport/test/multibyte_test_helpers.rb b/activesupport/test/multibyte_test_helpers.rb
index 709586e..0ada8bc 100644
--- a/activesupport/test/multibyte_test_helpers.rb
+++ b/activesupport/test/multibyte_test_helpers.rb
@@ -17,6 +17,10 @@ def self.download(from, to)
end
end
+ UNIDATA_URL = "http://www.unicode.org/Public/#{ActiveSupport::Multibyte::Unicode::UNICODE_VERSION}/ucd"
+ CACHE_DIR = "#{Dir.tmpdir}/cache/unicode_conformance"
+ FileUtils.mkdir_p(CACHE_DIR)
+
UNICODE_STRING = 'こにちわ'.freeze
ASCII_STRING = 'ohayo'.freeze
BYTE_STRING = "\270\236\010\210\245".force_encoding("ASCII-8BIT").freeze
--
2.9.0

View file

@ -1,24 +0,0 @@
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

@ -1,12 +0,0 @@
--- 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

@ -1,129 +0,0 @@
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,72 +1,54 @@
%global gem_name activesupport
#%%global prerelease
Name: rubygem-%{gem_name}
Epoch: 1
Version: 8.0.3
Release: 4%{?dist}
Version: 5.0.2
Release: 1%{?dist}
Summary: A support libraries and Ruby core extensions extracted from the Rails framework
Group: Development/Languages
License: MIT
URL: https://rubyonrails.org
Source0: https://rubygems.org/gems/%{gem_name}-%{version}%{?prerelease}.gem
# 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
URL: http://rubyonrails.org
Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem
# Ruby package has just soft dependency on rubygem(json), while
# The activesupport gem doesn't ship with the test suite like the other
# Rails rpms, you may check it out like so
# git clone http://github.com/rails/rails.git
# cd rails/activesupport/
# git checkout v5.0.2 && tar czvf activesupport-5.0.2-tests.tgz test/
Source1: %{gem_name}-%{version}-tests.tgz
# Make the test which needs online access optional.
# https://github.com/rails/rails/pull/25678
Patch1: rubygem-activesupport-5.0.0-DRY-Downloader.patch
Patch2: rubygem-activesupport-5.0.0-Skip-the-test-if-test-data-download-fails.patch
# ruby package has just soft dependency on rubygem(bigdecimal), 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
Requires: rubygem(bigdecimal)
# Let's keep Requires and BuildRequires sorted alphabeticaly
BuildRequires: ruby(release)
BuildRequires: rubygems-devel
BuildRequires: ruby >= 3.2.0
BuildRequires: ruby >= 2.2.2
BuildRequires: rubygem(bigdecimal)
BuildRequires: rubygem(builder)
BuildRequires: rubygem(concurrent-ruby)
BuildRequires: rubygem(connection_pool)
BuildRequires: rubygem(dalli)
BuildRequires: rubygem(drb)
BuildRequires: rubygem(i18n) >= 0.7
BuildRequires: rubygem(listen)
BuildRequires: rubygem(i18n) >= 0.6.9
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
BuildRequires: rubygem(tzinfo) >= 1.1
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}
Group: Documentation
Requires: %{name} = %{epoch}:%{version}-%{release}
BuildArch: noarch
@ -74,19 +56,10 @@ BuildArch: noarch
Documentation for %{name}.
%prep
%setup -q -n %{gem_name}-%{version}%{?prerelease} -a 1
%patch 1 -p2
%patch 2 -p2
%patch 3 -p1
# lib/active_support/testing/method_call_assertions.rb
# always needs minitest/mock
%gemspec_add_dep -g minitest-mock
%setup -q -c -T
%gem_install -n %{SOURCE0}
%build
gem build ../%{gem_name}-%{version}%{?prerelease}.gemspec
%gem_install
%install
mkdir -p %{buildroot}%{gem_dir}
@ -94,43 +67,26 @@ cp -a .%{gem_dir}/* \
%{buildroot}%{gem_dir}/
%check
pushd .%{gem_instdir}
# Move the tests into place
cp -a test .%{gem_instdir}
tar xzvf %{SOURCE1}
cd .%{gem_instdir}
cat %{PATCH1} | patch -p2
cat %{PATCH2} | patch -p2
mkdir ../tools
ln -s %{SOURCE2} ../tools/
touch ../tools/strict_warnings.rb
# These tests are really unstable, but they seems to be passing upstream :/
for f in test/evented_file_update_checker_test.rb test/file_update_checker_test.rb; do
mv $f{,.disable}
done
sed -i '/require .bundler./ s/^/#/' test/abstract_unit.rb
# These seems to be unstable as well ...
# https://github.com/rails/rails/issues/25683
sed -i '/^class MemoryStoreTest/,/^end/ s/^/#/' test/caching_test.rb
# https://github.com/rails/rails/issues/25682
sed -i '/def test_iso8601_output_and_reparsing$/,/^ end$/ s/^/#/' test/core_ext/duration_test.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 -e 'Dir.glob "./test/**/*_test.rb", &method(:require)' -- -v
# Shutdown Memcached
kill -15 $mPID
# Shutdown Valkey.
%ifnarch %{ix86}
kill -INT $(cat $VALKEY_DIR/valkey.pid)
%endif
ruby -Ilib:test -e 'Dir.glob "./test/**/*_test.rb", &method(:require)'
popd
%files
%dir %{gem_instdir}
@ -145,239 +101,6 @@ kill -INT $(cat $VALKEY_DIR/valkey.pid)
%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
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:5.2.3-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Thu Apr 16 2020 Vít Ondruch <vondruch@redhat.com> - 1:5.2.3-4
- Ruby 2.7 compatibility.
Resolves: rhbz#1799093
- TZInfo 2.0 compatibility.
Resolves: rhbz#1805531
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:5.2.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:5.2.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Thu Mar 28 2019 Pavel Valena <pvalena@redhat.com> - 1:5.2.3-1
- Update to Active Support 5.2.3.
* Thu Mar 14 2019 Pavel Valena <pvalena@redhat.com> - 1:5.2.2.1-1
- Update to Active Support 5.2.2.1.
* Mon Feb 04 2019 Vít Ondruch <vondruch@redhat.com> - 1:5.2.2-3
- Fix Range and BigDecimal compatibility with Ruby 2.6.
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:5.2.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Wed Dec 05 2018 Pavel Valena <pvalena@redhat.com> - 1:5.2.2-1
- Update to Active Support 5.2.2.
* Wed Nov 14 2018 Vít Ondruch <vondruch@redhat.com> - 1:5.2.1-2
- Update I18n fallbacks configuration to be compatible with i18n 1.1.0.
* Wed Aug 08 2018 Pavel Valena <pvalena@redhat.com> - 1:5.2.1-1
- Update to Active Support 5.2.1.
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1:5.2.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Mon Apr 23 2018 Pavel Valena <pvalena@redhat.com> - 1:5.2.0-1
- Update to Active Support 5.2.0.
* Mon Apr 16 2018 Vít Ondruch <vondruch@redhat.com> - 1:5.1.5-3
- Fix test suite issue caused by fix of CVE-2018-6914 in Ruby.
* Wed Feb 21 2018 Pavel Valena <pvalena@redhat.com> - 1:5.1.5-2
- Allow rubygem-i18n ~> 1.0
https://github.com/rails/rails/pull/31991
* Fri Feb 16 2018 Pavel Valena <pvalena@redhat.com> - 1:5.1.5-1
- Update to Active Support 5.1.5.
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1:5.1.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Fri Jan 19 2018 Vít Ondruch <vondruch@redhat.com> - 1:5.1.4-2
- Fix MiniTest 5.11 compatibility.
* Mon Sep 11 2017 Pavel Valena <pvalena@redhat.com> - 1:5.1.4-1
- Update to Active Support 5.1.4.
* Tue Aug 22 2017 Vít Ondruch <vondruch@redhat.com> - 1:5.1.3-2
- Explicitly require rubygem(json).
- Once again disable unstable test.
* Tue Aug 08 2017 Pavel Valena <pvalena@redhat.com> - 1:5.1.3-1
- Update to Active Support 5.1.3.
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1:5.1.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Tue Jun 27 2017 Pavel Valena <pvalena@redhat.com> - 1:5.1.2-1
- Update to Active Support 5.1.2.
- Run tests that need memcached
* Mon May 22 2017 Pavel Valena <pvalena@redhat.com> - 1:5.1.1-1
- Update to Active Support 5.1.1.
* Thu Mar 02 2017 Pavel Valena <pvalena@redhat.com> - 1:5.0.2-1
- Update to Active Support 5.0.2.

View file

@ -1,2 +1,2 @@
SHA512 (activesupport-8.0.3-tests.tar.gz) = d11560cc2246aaa16fcb7f213061cb6a355bd2e4bbc0cd3e0541db979aa90d28b738ceaf36935f49688953faf94314e2ae8da3e2f88436ac31c0a77a5804a91e
SHA512 (activesupport-8.0.3.gem) = f46b6710c65d7b59e0c7f1eb48641aa4ef0568b2d64147866e1dfa699c0b4c068bf443cc9967190ed47c2f6ea98137668a300455792982061e280a7df605bb4f
SHA512 (activesupport-5.0.2-tests.tgz) = e73d3a0165aa9e80365a48d3f71550fb7ce00f7b41ba51968467027cd24528880adb4563d4a57c6756867d844d42d19698470c3b8453f06274b10dacbfe5d0c0
SHA512 (activesupport-5.0.2.gem) = 6f3d26d6a6cdcfcbd069f2e7f1062e312e7572e0dcd6fe1d9b3f0d01c3eab81967935bd014043fb08e8a3c1f4b7730ccd718b46203673d6a0cbaed79c39c6bb0

View file

@ -1,20 +0,0 @@
# 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