Compare commits
22 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3c62d5d7aa | ||
|
|
6b021929fc | ||
|
|
bacee91af1 | ||
|
|
c60eaabadf | ||
|
|
3e5369ab10 | ||
|
|
94a65b1e0c | ||
|
|
c162969362 | ||
|
|
22a0f35c67 | ||
|
|
e978c62268 | ||
|
|
7120ebc8f8 | ||
|
|
c6c3886337 | ||
|
|
cbc3c77d45 | ||
|
|
99595e7ab2 | ||
|
|
c8bcfeeef1 | ||
|
|
3c2b97f860 | ||
|
|
71e469e6d0 | ||
|
|
7367a000b6 | ||
|
|
5c1631ea64 | ||
|
|
e8270956db | ||
|
|
28b148f2fb | ||
|
|
0b918bc76a | ||
|
|
38c49dd442 |
10 changed files with 312 additions and 210 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -1,3 +1,3 @@
|
|||
/activesupport-*.gem
|
||||
/activesupport-*-tests.txz
|
||||
/activesupport-*-tests.tar.gz
|
||||
/rails-*-tools.txz
|
||||
|
|
|
|||
|
|
@ -1,72 +0,0 @@
|
|||
From 9766eb4a833c26c64012230b96dd1157ebb8e8a2 Mon Sep 17 00:00:00 2001
|
||||
From: eileencodes <eileencodes@gmail.com>
|
||||
Date: Wed, 15 Jun 2022 12:44:11 -0400
|
||||
Subject: [PATCH] Fix tests for minitest 5.16
|
||||
|
||||
In minitest/minitest@6e06ac9 minitest changed such that it now accepts
|
||||
`kwargs` instead of requiring kwargs to be shoved into the args array.
|
||||
This is a good change but required some updates to our test code to get
|
||||
the new version of minitest passing.
|
||||
|
||||
Changes are as follows:
|
||||
|
||||
1) Lock minitest to 5.15 for Ruby 2.7. We don't love this change but
|
||||
it's pretty difficult to get 2.7 and 3.0 to play nicely together with
|
||||
the new kwargs changes. Dropping 2.7 support isn't an option right
|
||||
now for Rails. This is safe because all of the code changes here are
|
||||
internal methods to Rails like assert_called_with. Applications
|
||||
shouldn't be consuming them as they are no-doc'd.
|
||||
2) Update the `assert_called_with` method to take any kwargs but also
|
||||
the returns kwarg.
|
||||
3) Update callers of `assert_called_with` to move the kwargs outside the
|
||||
args array.
|
||||
4) Update the message from marshaled exceptions. In 5.16 the exception
|
||||
message is "result not reported" instead of "Wrapped undumpable
|
||||
exception".
|
||||
|
||||
Co-authored-by: Matthew Draper <matthew@trebex.net>
|
||||
---
|
||||
.../testing/method_call_assertions.rb | 22 +++-
|
||||
1 file changed, 20 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/activesupport/lib/active_support/testing/method_call_assertions.rb b/activesupport/lib/active_support/testing/method_call_assertions.rb
|
||||
index 72451faaa8cc4..f146eefce0354 100644
|
||||
--- a/activesupport/lib/active_support/testing/method_call_assertions.rb
|
||||
+++ b/activesupport/lib/active_support/testing/method_call_assertions.rb
|
||||
@@ -17,9 +17,9 @@ def assert_called(object, method_name, message = nil, times: 1, returns: nil, &b
|
||||
assert_equal times, times_called, error
|
||||
end
|
||||
|
||||
- def assert_called_with(object, method_name, args, returns: nil, &block)
|
||||
+ def assert_called_with(object, method_name, args, returns: false, **kwargs, &block)
|
||||
mock = Minitest::Mock.new
|
||||
- mock.expect(:call, returns, args)
|
||||
+ expect_called_with(mock, args, returns: returns, **kwargs)
|
||||
|
||||
object.stub(method_name, mock, &block)
|
||||
|
||||
@@ -30,6 +30,24 @@ def assert_not_called(object, method_name, message = nil, &block)
|
||||
assert_called(object, method_name, message, times: 0, &block)
|
||||
end
|
||||
|
||||
+ #--
|
||||
+ # This method is a temporary wrapper for mock.expect as part of
|
||||
+ # the Minitest 5.16 / Ruby 3.0 kwargs transition. It can go away
|
||||
+ # when we drop support for Ruby 2.7.
|
||||
+ if Minitest::Mock.instance_method(:expect).parameters.map(&:first).include?(:keyrest)
|
||||
+ def expect_called_with(mock, args, returns: false, **kwargs)
|
||||
+ mock.expect(:call, returns, args, **kwargs)
|
||||
+ end
|
||||
+ else
|
||||
+ def expect_called_with(mock, args, returns: false, **kwargs)
|
||||
+ if !kwargs.empty?
|
||||
+ mock.expect(:call, returns, [*args, kwargs])
|
||||
+ else
|
||||
+ mock.expect(:call, returns, args)
|
||||
+ end
|
||||
+ end
|
||||
+ end
|
||||
+
|
||||
def assert_called_on_instance_of(klass, method_name, message = nil, times: 1, returns: nil)
|
||||
times_called = 0
|
||||
klass.define_method("stubbed_#{method_name}") do |*|
|
||||
|
|
@ -1,39 +0,0 @@
|
|||
From df0de681dc1873534ecd2fc8371e1f2562984b68 Mon Sep 17 00:00:00 2001
|
||||
From: John Crepezzi <john.crepezzi@gmail.com>
|
||||
Date: Thu, 16 Jun 2022 08:34:05 -0400
|
||||
Subject: [PATCH] Remove the multi-call form of assert_called_with
|
||||
|
||||
The `assert_called_with` helper allows passing a multi-dimensional array to
|
||||
mock multiple calls to the same method for a given block. This works
|
||||
fine now, but when adding support for real kwargs arguments to line up with
|
||||
recent upgrades in Minitest, this approach is no longer workable because
|
||||
we can't pass multiple sets of differing kwargs.
|
||||
|
||||
Rather than complicated this method further, this commit removes the
|
||||
multi-call form of `assert_called_with` and modifies the tests that
|
||||
currently make use of that functionality to just use the underlying
|
||||
`Minitest::Mock` calls.
|
||||
|
||||
Co-authored-by: Eileen M. Uchitelle <eileencodes@gmail.com>
|
||||
---
|
||||
.../testing/method_call_assertions_test.rb | 7 --
|
||||
1 file changed, 7 deletions(-)
|
||||
|
||||
diff --git a/activesupport/test/testing/method_call_assertions_test.rb b/activesupport/test/testing/method_call_assertions_test.rb
|
||||
index e75630d2e4228..4d59e0bd3c222 100644
|
||||
--- a/activesupport/test/testing/method_call_assertions_test.rb
|
||||
+++ b/activesupport/test/testing/method_call_assertions_test.rb
|
||||
@@ -82,13 +82,6 @@ def test_assert_called_with_failure
|
||||
end
|
||||
end
|
||||
|
||||
- def test_assert_called_with_multiple_expected_arguments
|
||||
- assert_called_with(@object, :<<, [ [ 1 ], [ 2 ] ]) do
|
||||
- @object << 1
|
||||
- @object << 2
|
||||
- end
|
||||
- end
|
||||
-
|
||||
def test_assert_called_on_instance_of_with_defaults_to_expect_once
|
||||
assert_called_on_instance_of Level, :increment do
|
||||
@object.increment
|
||||
|
|
@ -1,39 +0,0 @@
|
|||
From df0de681dc1873534ecd2fc8371e1f2562984b68 Mon Sep 17 00:00:00 2001
|
||||
From: John Crepezzi <john.crepezzi@gmail.com>
|
||||
Date: Thu, 16 Jun 2022 08:34:05 -0400
|
||||
Subject: [PATCH] Remove the multi-call form of assert_called_with
|
||||
|
||||
The `assert_called_with` helper allows passing a multi-dimensional array to
|
||||
mock multiple calls to the same method for a given block. This works
|
||||
fine now, but when adding support for real kwargs arguments to line up with
|
||||
recent upgrades in Minitest, this approach is no longer workable because
|
||||
we can't pass multiple sets of differing kwargs.
|
||||
|
||||
Rather than complicated this method further, this commit removes the
|
||||
multi-call form of `assert_called_with` and modifies the tests that
|
||||
currently make use of that functionality to just use the underlying
|
||||
`Minitest::Mock` calls.
|
||||
|
||||
Co-authored-by: Eileen M. Uchitelle <eileencodes@gmail.com>
|
||||
---
|
||||
.../testing/method_call_assertions.rb | 7 +-
|
||||
1 file changed, 1 insertion(+), 6 deletions(-)
|
||||
|
||||
diff --git a/activesupport/lib/active_support/testing/method_call_assertions.rb b/activesupport/lib/active_support/testing/method_call_assertions.rb
|
||||
index c8d2dbaa52ab5..72451faaa8cc4 100644
|
||||
--- a/activesupport/lib/active_support/testing/method_call_assertions.rb
|
||||
+++ b/activesupport/lib/active_support/testing/method_call_assertions.rb
|
||||
@@ -19,12 +19,7 @@ def assert_called(object, method_name, message = nil, times: 1, returns: nil, &b
|
||||
|
||||
def assert_called_with(object, method_name, args, returns: nil, &block)
|
||||
mock = Minitest::Mock.new
|
||||
-
|
||||
- if args.all?(Array)
|
||||
- args.each { |arg| mock.expect(:call, returns, arg) }
|
||||
- else
|
||||
- mock.expect(:call, returns, args)
|
||||
- end
|
||||
+ mock.expect(:call, returns, args)
|
||||
|
||||
object.stub(method_name, mock, &block)
|
||||
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
129
rubygem-activesupport-pr56202-minitest6.patch
Normal file
129
rubygem-activesupport-pr56202-minitest6.patch
Normal 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
|
||||
|
|
@ -4,59 +4,67 @@
|
|||
|
||||
Name: rubygem-%{gem_name}
|
||||
Epoch: 1
|
||||
Version: 7.0.7.2
|
||||
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-7.0.7.2-tests.txz v7.0.7.2 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-7.0.7.2-tools.txz v7.0.7.2 tools/
|
||||
Source2: rails-%{version}%{?prerelease}-tools.txz
|
||||
# Fixes for Minitest 5.16+
|
||||
# https://github.com/rails/rails/pull/45380
|
||||
Patch1: rubygem-activesupport-7.0.2.3-Remove-the-multi-call-form-of-assert_called_with.patch
|
||||
Patch2: rubygem-activesupport-7.0.2.3-Remove-the-multi-call-form-of-assert_called_with-test.patch
|
||||
# https://github.com/rails/rails/pull/45370
|
||||
Patch3: rubygem-activesupport-7.0.2.3-Fix-tests-for-minitest-5.16.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) >= 2.0
|
||||
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}
|
||||
|
|
@ -66,14 +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
|
||||
|
||||
%patch 1 -p2
|
||||
%patch 3 -p2
|
||||
|
||||
pushd %{_builddir}
|
||||
%patch 2 -p2
|
||||
popd
|
||||
%patch 3 -p1
|
||||
|
||||
# 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,39 +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 :/
|
||||
# mem_cache_store_test: These tests do not pass in Koji; but work locally
|
||||
# redis_cache_store_test: failed to require "redis/connection/hiredis"
|
||||
for f in \
|
||||
test/evented_file_update_checker_test.rb \
|
||||
test/cache/stores/redis_cache_store_test.rb \
|
||||
test/cache/stores/mem_cache_store_test.rb
|
||||
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
|
||||
|
||||
# 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
|
||||
mkdir ../tools
|
||||
ln -s %{SOURCE2} ../tools/
|
||||
touch ../tools/strict_warnings.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}
|
||||
|
|
@ -132,6 +145,61 @@ 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.
|
||||
|
||||
|
|
|
|||
5
sources
5
sources
|
|
@ -1,3 +1,2 @@
|
|||
SHA512 (activesupport-7.0.7.2.gem) = afad2479aa9039e45420338765aeba9d959b904e8154faa73e94c730ce52c6747be21a2d91cb4a4371851233eaeba5f9dfe4c5bb246ca8529ff3b1170036a86f
|
||||
SHA512 (activesupport-7.0.7.2-tests.txz) = 21d95541fd9cd76afbc8a8d57edaa914ae7f1f372851e2112bf1e725a00ebba80bf0ef3abfa6ccc190044ba5c314d40e149518b95ab8c5552d4367e2c72d3383
|
||||
SHA512 (rails-7.0.7.2-tools.txz) = 409fe6374d785cfb5d8804fc5d993f53d2293891dbdd21c85af614f015c56d29c234716eed69862a71f758f62558582b61c8c4a07b56645e928dde57ef947080
|
||||
SHA512 (activesupport-8.0.3-tests.tar.gz) = d11560cc2246aaa16fcb7f213061cb6a355bd2e4bbc0cd3e0541db979aa90d28b738ceaf36935f49688953faf94314e2ae8da3e2f88436ac31c0a77a5804a91e
|
||||
SHA512 (activesupport-8.0.3.gem) = f46b6710c65d7b59e0c7f1eb48641aa4ef0568b2d64147866e1dfa699c0b4c068bf443cc9967190ed47c2f6ea98137668a300455792982061e280a7df605bb4f
|
||||
|
|
|
|||
20
test_common.rb
Normal file
20
test_common.rb
Normal 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue