Compare commits
13 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
196267c11d | ||
|
|
1260b6a101 | ||
|
|
b27c6d55c2 | ||
|
|
3d0ae00653 | ||
|
|
ec69c58547 | ||
|
|
a0abbd7e41 | ||
|
|
d48b28f77e | ||
|
|
82beb8afba | ||
|
|
a7c00e1606 | ||
|
|
d81799c196 | ||
|
|
2734b32f54 | ||
|
|
c8b6f5da89 | ||
|
|
9f0d0fa3c8 |
6 changed files with 246 additions and 1 deletions
80
faraday-pr1523-testsuite-undefined-method-change.patch
Normal file
80
faraday-pr1523-testsuite-undefined-method-change.patch
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
From 05f2d9486bd88dc0030e002e65cb7d91a67b3f5d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Koichi ITO <koic.ito@gmail.com>
|
||||||
|
Date: Tue, 15 Aug 2023 13:18:31 +0900
|
||||||
|
Subject: [PATCH] Fix a test failure using Ruby 3.3.0dev
|
||||||
|
|
||||||
|
This PR fixes the following test failure using Ruby 3.3.0dev:
|
||||||
|
|
||||||
|
```console
|
||||||
|
$ ruby -v
|
||||||
|
ruby 3.3.0dev (2023-08-14T15:48:39Z master 52837fcec2) [x86_64-darwin22]
|
||||||
|
$ bundle exec rspec spec/faraday_spec.rb
|
||||||
|
|
||||||
|
Randomized with seed 57031
|
||||||
|
|
||||||
|
Faraday
|
||||||
|
has a version number
|
||||||
|
proxies to default_connection
|
||||||
|
uses method_missing on Faraday if there is no proxyable method (FAILED - 1)
|
||||||
|
proxies methods that exist on the default_connection
|
||||||
|
proxied methods can be accessed
|
||||||
|
|
||||||
|
Failures:
|
||||||
|
|
||||||
|
1) Faraday proxies to default_connection uses method_missing on Faraday if there is no proxyable method
|
||||||
|
Failure/Error:
|
||||||
|
expect { Faraday.this_method_does_not_exist }.to raise_error(
|
||||||
|
NoMethodError, expected_message
|
||||||
|
)
|
||||||
|
|
||||||
|
expected NoMethodError with "undefined method `this_method_does_not_exist' for Faraday:Module",
|
||||||
|
got #<NoMethodError: undefined method `this_method_does_not_exist' for module Faraday> with backtrace:
|
||||||
|
# ./lib/faraday.rb:147:in `method_missing'
|
||||||
|
# ./spec/faraday_spec.rb:27:in `block (4 levels) in <top (required)>'
|
||||||
|
# ./spec/faraday_spec.rb:27:in `block (3 levels) in <top (required)>'
|
||||||
|
# ./spec/faraday_spec.rb:27:in `block (3 levels) in <top (required)>'
|
||||||
|
```
|
||||||
|
|
||||||
|
That error message has been changed by https://github.com/ruby/ruby/commit/e7b8d32e in Ruby 3.3.0dev.
|
||||||
|
|
||||||
|
cf. https://bugs.ruby-lang.org/issues/18285
|
||||||
|
|
||||||
|
So the test error message is changed:
|
||||||
|
|
||||||
|
Ruby 3.2 or lower:
|
||||||
|
|
||||||
|
```
|
||||||
|
undefined method `this_method_does_not_exist' for Faraday:Module
|
||||||
|
```
|
||||||
|
|
||||||
|
Ruby 3.3.0dev:
|
||||||
|
|
||||||
|
```
|
||||||
|
NoMethodError: undefined method `this_method_does_not_exist' for module Faraday
|
||||||
|
```
|
||||||
|
---
|
||||||
|
spec/faraday_spec.rb | 11 +++++++----
|
||||||
|
1 file changed, 7 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/spec/faraday_spec.rb b/spec/faraday_spec.rb
|
||||||
|
index 8b603ebbd..25d9d4fa9 100644
|
||||||
|
--- a/spec/faraday_spec.rb
|
||||||
|
+++ b/spec/faraday_spec.rb
|
||||||
|
@@ -18,10 +18,13 @@
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'uses method_missing on Faraday if there is no proxyable method' do
|
||||||
|
- expect { Faraday.this_method_does_not_exist }.to raise_error(
|
||||||
|
- NoMethodError,
|
||||||
|
- "undefined method `this_method_does_not_exist' for Faraday:Module"
|
||||||
|
- )
|
||||||
|
+ expected_message = if RUBY_VERSION >= '3.3'
|
||||||
|
+ "undefined method `this_method_does_not_exist' for module Faraday"
|
||||||
|
+ else
|
||||||
|
+ "undefined method `this_method_does_not_exist' for Faraday:Module"
|
||||||
|
+ end
|
||||||
|
+
|
||||||
|
+ expect { Faraday.this_method_does_not_exist }.to raise_error(NoMethodError, expected_message)
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'proxied methods can be accessed' do
|
||||||
23
faraday-pr1549-unespace-rack-utils-query-result.patch
Normal file
23
faraday-pr1549-unespace-rack-utils-query-result.patch
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
From 66551ecc79f5d3d5bca1a2523bd8736db8c2220c Mon Sep 17 00:00:00 2001
|
||||||
|
From: Mattia Giuffrida <giuffrida.mattia@gmail.com>
|
||||||
|
Date: Sat, 20 Jan 2024 16:48:26 +0000
|
||||||
|
Subject: [PATCH] Unescape the result of `Rack::Utils.build_nested_query`
|
||||||
|
|
||||||
|
---
|
||||||
|
spec/faraday/params_encoders/nested_spec.rb | 3 ++-
|
||||||
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/spec/faraday/params_encoders/nested_spec.rb b/spec/faraday/params_encoders/nested_spec.rb
|
||||||
|
index 46312047f..83da22dc4 100644
|
||||||
|
--- a/spec/faraday/params_encoders/nested_spec.rb
|
||||||
|
+++ b/spec/faraday/params_encoders/nested_spec.rb
|
||||||
|
@@ -62,7 +62,8 @@
|
||||||
|
it 'encodes rack compat' do
|
||||||
|
params = { a: [{ one: '1', two: '2' }, '3', ''] }
|
||||||
|
result = Faraday::Utils.unescape(Faraday::NestedParamsEncoder.encode(params)).split('&')
|
||||||
|
- expected = Rack::Utils.build_nested_query(params).split('&')
|
||||||
|
+ escaped = Rack::Utils.build_nested_query(params)
|
||||||
|
+ expected = Rack::Utils.unescape(escaped).split('&')
|
||||||
|
expect(result).to match_array(expected)
|
||||||
|
end
|
||||||
|
|
||||||
24
faraday-pr1560-ruby34-backtrace-change.patch
Normal file
24
faraday-pr1560-ruby34-backtrace-change.patch
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
From 8cdc483218d4612d53239f48785567b6b6d056cd Mon Sep 17 00:00:00 2001
|
||||||
|
From: m-nakamura145 <masato.nakamura145@gmail.com>
|
||||||
|
Date: Fri, 24 May 2024 23:23:24 +0900
|
||||||
|
Subject: [PATCH] Fix compatibility with Ruby 3.4.0-preview1
|
||||||
|
|
||||||
|
---
|
||||||
|
spec/faraday_spec.rb | 4 +++-
|
||||||
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/spec/faraday_spec.rb b/spec/faraday_spec.rb
|
||||||
|
index 30be29cf8..c3583f184 100644
|
||||||
|
--- a/spec/faraday_spec.rb
|
||||||
|
+++ b/spec/faraday_spec.rb
|
||||||
|
@@ -18,7 +18,9 @@
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'uses method_missing on Faraday if there is no proxyable method' do
|
||||||
|
- expected_message = if RUBY_VERSION >= '3.3'
|
||||||
|
+ expected_message = if RUBY_VERSION >= '3.4'
|
||||||
|
+ "undefined method 'this_method_does_not_exist' for module Faraday"
|
||||||
|
+ elsif RUBY_VERSION >= '3.3'
|
||||||
|
"undefined method `this_method_does_not_exist' for module Faraday"
|
||||||
|
else
|
||||||
|
"undefined method `this_method_does_not_exist' for Faraday:Module"
|
||||||
30
faraday-pr1604-ruby34-hash-inspect-formatting-change.patch
Normal file
30
faraday-pr1604-ruby34-hash-inspect-formatting-change.patch
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
From 74962b2d77af4a1ca6bc557031e6c24759dbafa7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Mamoru TASAKA <mtasaka@fedoraproject.org>
|
||||||
|
Date: Tue, 3 Dec 2024 15:48:12 +0900
|
||||||
|
Subject: [PATCH] [TEST] fix compatibility with ruby 3.4.0dev
|
||||||
|
|
||||||
|
ruby 3.4 changes Hash#inspect formatting as:
|
||||||
|
https://bugs.ruby-lang.org/issues/20433
|
||||||
|
|
||||||
|
Closes #1602
|
||||||
|
---
|
||||||
|
spec/faraday/error_spec.rb | 12 ++++++++++--
|
||||||
|
1 file changed, 10 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/spec/faraday/error_spec.rb b/spec/faraday/error_spec.rb
|
||||||
|
index fd30e2d34..170f32672 100644
|
||||||
|
--- a/spec/faraday/error_spec.rb
|
||||||
|
+++ b/spec/faraday/error_spec.rb
|
||||||
|
@@ -21,7 +21,11 @@
|
||||||
|
it { expect(subject.wrapped_exception).to be_nil }
|
||||||
|
it { expect(subject.response).to eq(exception) }
|
||||||
|
it { expect(subject.message).to eq('the server responded with status 400') }
|
||||||
|
- it { expect(subject.inspect).to eq('#<Faraday::ClientError response={:status=>400}>') }
|
||||||
|
+ if RUBY_VERSION >= '3.4'
|
||||||
|
+ it { expect(subject.inspect).to eq('#<Faraday::ClientError response={status: 400}>') }
|
||||||
|
+ else
|
||||||
|
+ it { expect(subject.inspect).to eq('#<Faraday::ClientError response={:status=>400}>') }
|
||||||
|
+ end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'with string' do
|
||||||
30
faraday-rack-pr13-rack31-rack_input.patch
Normal file
30
faraday-rack-pr13-rack31-rack_input.patch
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
From a590bc34e40b62484440dcd4ab5147c0c02bb425 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Andreas Schleifer <github@segaja.de>
|
||||||
|
Date: Wed, 9 Apr 2025 09:21:05 +0200
|
||||||
|
Subject: [PATCH] Fix tests for rack 3.1: env['rack.input'] is optional (#13)
|
||||||
|
|
||||||
|
* fix(spec): fix tests for rack 3.1
|
||||||
|
|
||||||
|
* feat(ci): add ruby 3.4 to CI test matrix
|
||||||
|
|
||||||
|
---------
|
||||||
|
|
||||||
|
Co-authored-by: Olle Jonsson <olle.jonsson@gmail.com>
|
||||||
|
---
|
||||||
|
.github/workflows/ci.yml | 1 +
|
||||||
|
spec/support/webmock_rack_app.rb | 2 +-
|
||||||
|
2 files changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/spec/support/webmock_rack_app.rb b/spec/support/webmock_rack_app.rb
|
||||||
|
index a3212c7..894c411 100644
|
||||||
|
--- a/spec/support/webmock_rack_app.rb
|
||||||
|
+++ b/spec/support/webmock_rack_app.rb
|
||||||
|
@@ -49,7 +49,7 @@ def req_headers(env)
|
||||||
|
end
|
||||||
|
|
||||||
|
def req_body(env)
|
||||||
|
- env['rack.input'].read
|
||||||
|
+ env['rack.input']&.read
|
||||||
|
end
|
||||||
|
|
||||||
|
def process_response(req_signature)
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
Name: rubygem-%{gem_name}
|
Name: rubygem-%{gem_name}
|
||||||
Version: 1.0.1
|
Version: 1.0.1
|
||||||
Release: 5%{?dist}
|
Release: 18%{?dist}
|
||||||
Summary: HTTP/REST API client library
|
Summary: HTTP/REST API client library
|
||||||
License: MIT
|
License: MIT
|
||||||
URL: https://lostisland.github.io/faraday
|
URL: https://lostisland.github.io/faraday
|
||||||
|
|
@ -20,6 +20,24 @@ Patch0: rubygem-faraday-1.0.1-Properly-fix-test-failure-with-Rack-2.1.patch
|
||||||
# Extracted from:
|
# Extracted from:
|
||||||
# https://github.com/lostisland/faraday/commit/687108bb4ddc2511aeaae7449dd401fe62dd5ceb
|
# https://github.com/lostisland/faraday/commit/687108bb4ddc2511aeaae7449dd401fe62dd5ceb
|
||||||
Patch1: faraday-1.0.1-net-http-persistent-3-error-kind.patch
|
Patch1: faraday-1.0.1-net-http-persistent-3-error-kind.patch
|
||||||
|
# "undefined method" error message changed with ruby 3.3
|
||||||
|
# https://github.com/lostisland/faraday/pull/1523
|
||||||
|
# https://github.com/ruby/ruby/pull/6950
|
||||||
|
Patch2: faraday-pr1523-testsuite-undefined-method-change.patch
|
||||||
|
# ruby3.4 backtrace quoting change
|
||||||
|
# https://github.com/lostisland/faraday/pull/1560
|
||||||
|
Patch3: faraday-pr1560-ruby34-backtrace-change.patch
|
||||||
|
# ruby3.4 Hash#inspect formatting change
|
||||||
|
# https://github.com/lostisland/faraday/pull/1604
|
||||||
|
Patch4: faraday-pr1604-ruby34-hash-inspect-formatting-change.patch
|
||||||
|
# https://github.com/lostisland/faraday-rack/pull/13
|
||||||
|
# https://github.com/lostisland/faraday-rack/commit/a590bc34e40b62484440dcd4ab5147c0c02bb425
|
||||||
|
# Patch for rack 3.1 wrt env['rack.input'] is optional
|
||||||
|
Patch5: faraday-rack-pr13-rack31-rack_input.patch
|
||||||
|
# https://github.com/lostisland/faraday/pull/1549
|
||||||
|
# https://github.com/lostisland/faraday/commit/66551ecc79f5d3d5bca1a2523bd8736db8c2220c.patch
|
||||||
|
# Unescape the result of Rack::Utils.build_nested_query for rack 3.1
|
||||||
|
Patch6: faraday-pr1549-unespace-rack-utils-query-result.patch
|
||||||
BuildRequires: ruby(release)
|
BuildRequires: ruby(release)
|
||||||
BuildRequires: rubygems-devel
|
BuildRequires: rubygems-devel
|
||||||
BuildRequires: ruby >= 2.3
|
BuildRequires: ruby >= 2.3
|
||||||
|
|
@ -106,6 +124,46 @@ popd
|
||||||
%{gem_instdir}/spec
|
%{gem_instdir}/spec
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Dec 01 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1.0.1-18
|
||||||
|
- Backport upstream patch for rack3.1 change
|
||||||
|
|
||||||
|
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-17
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-16
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Dec 04 2024 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1.0.1-15
|
||||||
|
- Use upstreamed patch for ruby34 formatting change
|
||||||
|
|
||||||
|
* Sun Dec 01 2024 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1.0.1-14
|
||||||
|
- Support ruby3.4 backtrace / Hash inspect formatting change
|
||||||
|
|
||||||
|
* Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-13
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jan 26 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-12
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-11
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Sep 22 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1.0.1-10
|
||||||
|
- Backport upstream patch for testsuite with ruby3.3 undefined method
|
||||||
|
message change
|
||||||
|
|
||||||
|
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-9
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-8
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-7
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-6
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||||
|
|
||||||
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-5
|
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-5
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue