There is more issues like this :/ https://github.com/rspec/rspec-expectations/pull/1339
This one is particularly problematic for Thor: https://github.com/rails/thor/pull/782/commits/3da3b44afdf2fa0bd618b87c5d862e9def1d5f4f#r823669341 Vít Dne 02. 03. 22 v 18:03 Vít Ondruch napsal(a):
Looking at Koschei failures and considering that the upstream ticket [1] is not resolved yet and there seems to be some technical difficulties as far as I understand the issue, wouldn't be better to temporary revert the PR [2]? If nothing else, I don't think it is right to have F34/F35 broken. @Mamoru WDYT?Vít [1] https://github.com/rspec/rspec-mocks/issues/1460 [2] https://github.com/rspec/rspec-mocks/pull/1394 Dne 07. 02. 22 v 15:26 Mamoru TASAKA napsal(a):Mamoru TASAKA wrote on 2022/02/07 22:45:Vít Ondruch wrote on 2022/02/07 20:24:Dear Mamoru,Could you please check the following two packages which recently started to fail?https://koschei.fedoraproject.org/package/rubygem-webmock?collection=f36 https://koschei.fedoraproject.org/package/rubygem-websocket-extensions?collection=f36I suspect that this is related to the RSpec update, but the errors are quite strange on the first look:~~~1) WebMock::RequestSignature initialization assigns normalized headers Failure/Error: @headers = WebMock::Util::Headers.normalize_headers(headers) #<WebMock::Util::Headers (class)> received :normalize_headers with unexpected argumentsexpected: ({"A"=>"a"}) got: ({"A"=>"a"}) # ./lib/webmock/request_signature.rb:25:in `headers=' # ./lib/webmock/request_signature.rb:49:in `assign_options' # ./lib/webmock/request_signature.rb:11:in `initialize' # ./spec/unit/request_signature_spec.rb:23:in `new'# ./spec/unit/request_signature_spec.rb:23:in `block (3 levels) in <top (required)>' # ./lib/webmock/rspec.rb:37:in `block (2 levels) in <top (required)>'~~~I am trying to fix rubygem-yard build failure, but currently I see the same issue(on my local machine). Looks like this is: https://github.com/rspec/rspec-mocks/issues/1460 - was brought by: https://github.com/rspec/rspec-mocks/pull/1394 expecially:https://github.com/rspec/rspec-mocks/pull/1394/files#diff-ae171e2be1f799a6704fcbadb353721dda4d078185aa265671e07b14594c72e5R63# if both arguments end with Hashes, and if one is a keyword hash and the other is not, they don't matchSo rspec upstream is saying this is correct (again keywords / hash separation...), previous rspec-mocks 3.10.2 behaved wrongly with ruby3 (rspec upstream says), andrspec-mocks user side has to fix this.Just took a look at webmock (rubygem-webmock-3.11.1-4.fc36), so with rspec-mocks 3.10.3the following change seems needed:============================================================================ diff -urp webmock-3.11.1/spec.orig/unit/request_signature_spec.rb webmock-3.11.1/spec/unit/request_signature_spec.rb --- webmock-3.11.1/spec.orig/unit/request_signature_spec.rb 2022-02-07 23:13:47.262714681 +0900 +++ webmock-3.11.1/spec/unit/request_signature_spec.rb 2022-02-07 23:23:11.527273614 +0900@@ -18,7 +18,7 @@ describe WebMock::RequestSignature do end it "assigns normalized headers" do- expect(WebMock::Util::Headers).to receive(:normalize_headers).with('A' => 'a').and_return('B' => 'b') + expect(WebMock::Util::Headers).to receive(:normalize_headers).with({'A' => 'a'}).and_return('B' => 'b')expect(WebMock::RequestSignature.new(:get, "www.example.com", headers: {'A' => 'a'}).headers).to eq({'B' => 'b'}) Only in webmock-3.11.1/spec/unit: request_signature_spec.rb~diff -urp webmock-3.11.1/spec.orig/unit/response_spec.rb webmock-3.11.1/spec/unit/response_spec.rb --- webmock-3.11.1/spec.orig/unit/response_spec.rb 2022-02-07 23:13:47.262714681 +0900 +++ webmock-3.11.1/spec/unit/response_spec.rb 2022-02-07 23:23:52.502314196 +0900@@ -31,7 +31,7 @@ describe WebMock::Response do end it "should report normalized headers" do- expect(WebMock::Util::Headers).to receive(:normalize_headers).with('A' => 'a').and_return('B' => 'b') + expect(WebMock::Util::Headers).to receive(:normalize_headers).with({'A' => 'a'}).and_return('B' => 'b')@response = WebMock::Response.new(headers: {'A' => 'a'}) expect(@response.headers).to eq({'B' => 'b'}) end============================================================================Mamoru _______________________________________________ ruby-sig mailing list -- ruby-sig@lists.fedoraproject.org To unsubscribe send an email to ruby-sig-le...@lists.fedoraproject.orgFedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelinesList Archives: https://lists.fedoraproject.org/archives/list/ruby-sig@lists.fedoraproject.org Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure
OpenPGP_signature
Description: OpenPGP digital signature
_______________________________________________ ruby-sig mailing list -- ruby-sig@lists.fedoraproject.org To unsubscribe send an email to ruby-sig-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/ruby-sig@lists.fedoraproject.org Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure