diff --git a/.gitignore b/.gitignore index dd04ff5..c06b540 100644 --- a/.gitignore +++ b/.gitignore @@ -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 diff --git a/rubygem-activesupport-5.0.0-DRY-Downloader.patch b/rubygem-activesupport-5.0.0-DRY-Downloader.patch new file mode 100644 index 0000000..4908fbb --- /dev/null +++ b/rubygem-activesupport-5.0.0-DRY-Downloader.patch @@ -0,0 +1,136 @@ +From 7d7c2d13ba896dd8b58fe91d2fe0c4fc588069ca Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?V=C3=ADt=20Ondruch?= +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 + diff --git a/rubygem-activesupport-5.0.0-Skip-the-test-if-test-data-download-fails.patch b/rubygem-activesupport-5.0.0-Skip-the-test-if-test-data-download-fails.patch new file mode 100644 index 0000000..b4bc9a9 --- /dev/null +++ b/rubygem-activesupport-5.0.0-Skip-the-test-if-test-data-download-fails.patch @@ -0,0 +1,101 @@ +From c245ca30f248367e07d5d831195b12c93a1e3137 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?V=C3=ADt=20Ondruch?= +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 + diff --git a/rubygem-activesupport-8.0.3-Always-pass-default-precision-to-BigDecimal-when-parsing.patch b/rubygem-activesupport-8.0.3-Always-pass-default-precision-to-BigDecimal-when-parsing.patch deleted file mode 100644 index 7027f9a..0000000 --- a/rubygem-activesupport-8.0.3-Always-pass-default-precision-to-BigDecimal-when-parsing.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 283d96ea53f45eedf09a31bef739575df96e87df Mon Sep 17 00:00:00 2001 -From: zzak -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 diff --git a/rubygem-activesupport-pr56202-minitest6-rescue-loaderror.patch b/rubygem-activesupport-pr56202-minitest6-rescue-loaderror.patch deleted file mode 100644 index d755a4e..0000000 --- a/rubygem-activesupport-pr56202-minitest6-rescue-loaderror.patch +++ /dev/null @@ -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 diff --git a/rubygem-activesupport-pr56202-minitest6.patch b/rubygem-activesupport-pr56202-minitest6.patch deleted file mode 100644 index 00209d5..0000000 --- a/rubygem-activesupport-pr56202-minitest6.patch +++ /dev/null @@ -1,129 +0,0 @@ -From 9da4460ad0e71e5c3de32566ffbc302674b1f76e Mon Sep 17 00:00:00 2001 -From: Ryan Davis -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 -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 -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 diff --git a/rubygem-activesupport.spec b/rubygem-activesupport.spec index 537f06a..2251868 100644 --- a/rubygem-activesupport.spec +++ b/rubygem-activesupport.spec @@ -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 - 1:8.0.3-4 -- Update minitest 6 patch, and rescue when railties is not installed - -* Mon Dec 29 2025 Mamoru TASAKA - 1:8.0.3-3 -- Backport upstream fix to support minitest 6 - -* Sun Nov 09 2025 Mamoru TASAKA - 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 - 1:8.0.3-1 -- Update to Active Support 8.0.3. - Related: rhzb#2388437 - -* Fri Jul 25 2025 Fedora Release Engineering - 1:8.0.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Wed Jul 02 2025 Vít Ondruch - 1:8.0.2-1 -- Update to Active Support 8.0.2. - Related: rhbz#2238177 - -* Thu Jan 23 2025 Vít Ondruch - 1:7.0.8-11 -- Fix compatibility with concurrent-ruby 1.3.5+ - -* Sat Jan 18 2025 Fedora Release Engineering - 1:7.0.8-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Tue Nov 26 2024 Vít Ondruch - 1:7.0.8-9 -- Add extracted standard gems dependencies. - -* Mon Nov 04 2024 Vít Ondruch - 1:7.0.8-8 -- Ruby 3.4 compatibility fixes. - -* Fri Jul 19 2024 Fedora Release Engineering - 1:7.0.8-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Fri May 24 2024 Mamoru TASAKA - 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 - 1:7.0.8-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Mon Jan 22 2024 Fedora Release Engineering - 1:7.0.8-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Fri Dec 15 2023 Vít Ondruch - 1:7.0.8-3 -- Add explicit dependencies to avoid Ruby 3.3 warnings. - -* Sun Sep 24 2023 Pavel Valena - 1:7.0.8-2 -- Add tzdata as a runtime dependency. - -* Sun Sep 10 2023 Pavel Valena - 1:7.0.8-1 -- Update to activesupport 7.0.8. - -* Mon Aug 28 2023 Pavel Valena - 1:7.0.7.2-1 -- Update to activesupport 7.0.7.2. - -* Thu Aug 10 2023 Pavel Valena - 1:7.0.7-1 -- Update to activesupport 7.0.7. - -* Sun Jul 23 2023 Pavel Valena - 1:7.0.6-1 -- Update to activesupport 7.0.6. - -* Fri Jul 21 2023 Fedora Release Engineering - 1:7.0.5-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Tue May 30 2023 Pavel Valena - 1:7.0.5-1 -- Update to activesupport 7.0.5. - -* Tue Mar 14 2023 Pavel Valena - 1:7.0.4.3-1 -- Update to activesupport 7.0.4.3. - -* Wed Jan 25 2023 Pavel Valena - 1:7.0.4.2-1 -- Update to activesupport 7.0.4.2. - -* Fri Jan 20 2023 Fedora Release Engineering - 1:7.0.4-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Wed Dec 21 2022 Mamoru TASAKA - 1:7.0.4-2 -- Backport upstream fix for test failure with ruby3.2 wrt class_serial removal - -* Thu Sep 15 2022 Pavel Valena - 1:7.0.4-1 -- Update to activesupport 7.0.4. - -* Tue Aug 02 2022 Vít Ondruch - 1:7.0.2.3-3 -- Fix Minitest 5.16+ compatibility. - -* Sat Jul 23 2022 Fedora Release Engineering - 1:7.0.2.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Mon Mar 14 2022 Pavel Valena - 1:7.0.2.3-1 -- Update to activesupport 7.0.2.3. - -* Wed Feb 09 2022 Pavel Valena - 1:7.0.2-1 -- Update to activesupport 7.0.2. - -* Thu Feb 03 2022 Pavel Valena - 1:7.0.1-1 -- Update to activesupport 7.0.1. - -* Fri Jan 21 2022 Fedora Release Engineering - 1:6.1.4.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Fri Sep 17 2021 Pavel Valena - 1:6.1.4.1-1 -- Update to activesupport 6.1.4.1. - -* Fri Jul 23 2021 Fedora Release Engineering - 1:6.1.4-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Wed Jun 30 2021 Pavel Valena - 1:6.1.4-1 -- Update to activesupport 6.1.4. - -* Tue May 18 2021 Pavel Valena - 1:6.1.3.2-1 -- Update to activesupport 6.1.3.2. - -* Fri Apr 09 2021 Pavel Valena - 1:6.1.3.1-1 -- Update to activesupport 6.1.3.1. - -* Thu Feb 18 2021 Pavel Valena - 1:6.1.3-1 -- Update to activesupport 6.1.3. - -* Mon Feb 15 2021 Pavel Valena - 1:6.1.2.1-1 -- Update to activesupport 6.1.2.1. - -* Wed Jan 27 2021 Pavel Valena - 1:6.1.1-1 -- Update to activesupport 6.1.1. - -* Wed Jan 27 2021 Fedora Release Engineering - 1:6.0.3.4-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Wed Jan 20 2021 Vít Ondruch - 1:6.0.3.4-2 -- Fix FTBFS due to Ruby 3.0 update. - -* Thu Oct 8 10:45:37 CEST 2020 Pavel Valena - 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 - 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 - 1:6.0.3.2-3 -- Fix evaluator test from web-console. - -* Tue Sep 01 2020 Vít Ondruch - 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 - 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 - 6.0.3.1-1 -- Update to ActiveSupport 6.0.3.1. - Resolves: rhbz#1742797 - -* Wed Jul 29 2020 Fedora Release Engineering - 1:5.2.3-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Thu Apr 16 2020 Vít Ondruch - 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 - 1:5.2.3-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Fri Jul 26 2019 Fedora Release Engineering - 1:5.2.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Thu Mar 28 2019 Pavel Valena - 1:5.2.3-1 -- Update to Active Support 5.2.3. - -* Thu Mar 14 2019 Pavel Valena - 1:5.2.2.1-1 -- Update to Active Support 5.2.2.1. - -* Mon Feb 04 2019 Vít Ondruch - 1:5.2.2-3 -- Fix Range and BigDecimal compatibility with Ruby 2.6. - -* Sat Feb 02 2019 Fedora Release Engineering - 1:5.2.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Wed Dec 05 2018 Pavel Valena - 1:5.2.2-1 -- Update to Active Support 5.2.2. - -* Wed Nov 14 2018 Vít Ondruch - 1:5.2.1-2 -- Update I18n fallbacks configuration to be compatible with i18n 1.1.0. - -* Wed Aug 08 2018 Pavel Valena - 1:5.2.1-1 -- Update to Active Support 5.2.1. - -* Sat Jul 14 2018 Fedora Release Engineering - 1:5.2.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Mon Apr 23 2018 Pavel Valena - 1:5.2.0-1 -- Update to Active Support 5.2.0. - -* Mon Apr 16 2018 Vít Ondruch - 1:5.1.5-3 -- Fix test suite issue caused by fix of CVE-2018-6914 in Ruby. - -* Wed Feb 21 2018 Pavel Valena - 1:5.1.5-2 -- Allow rubygem-i18n ~> 1.0 - https://github.com/rails/rails/pull/31991 - -* Fri Feb 16 2018 Pavel Valena - 1:5.1.5-1 -- Update to Active Support 5.1.5. - -* Fri Feb 09 2018 Fedora Release Engineering - 1:5.1.4-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Fri Jan 19 2018 Vít Ondruch - 1:5.1.4-2 -- Fix MiniTest 5.11 compatibility. - -* Mon Sep 11 2017 Pavel Valena - 1:5.1.4-1 -- Update to Active Support 5.1.4. - -* Tue Aug 22 2017 Vít Ondruch - 1:5.1.3-2 -- Explicitly require rubygem(json). -- Once again disable unstable test. - -* Tue Aug 08 2017 Pavel Valena - 1:5.1.3-1 -- Update to Active Support 5.1.3. - -* Thu Jul 27 2017 Fedora Release Engineering - 1:5.1.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Tue Jun 27 2017 Pavel Valena - 1:5.1.2-1 -- Update to Active Support 5.1.2. -- Run tests that need memcached - -* Mon May 22 2017 Pavel Valena - 1:5.1.1-1 -- Update to Active Support 5.1.1. - * Thu Mar 02 2017 Pavel Valena - 1:5.0.2-1 - Update to Active Support 5.0.2. diff --git a/sources b/sources index f66d7f6..abdf5cb 100644 --- a/sources +++ b/sources @@ -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 diff --git a/test_common.rb b/test_common.rb deleted file mode 100644 index fcc8155..0000000 --- a/test_common.rb +++ /dev/null @@ -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