Compare commits

..

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

6 changed files with 1 additions and 249 deletions

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -3,7 +3,7 @@
Name: rubygem-%{gem_name} Name: rubygem-%{gem_name}
Version: 1.0.1 Version: 1.0.1
Release: 18%{?dist} Release: 4%{?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,24 +20,6 @@ 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
@ -124,49 +106,6 @@ 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
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Sat Feb 20 2021 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1.0.1-4 * Sat Feb 20 2021 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1.0.1-4
- Use upstream patch for net-http-persistent 4.0 - Use upstream patch for net-http-persistent 4.0