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?co...
I 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 arguments
expected: ({"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-ae171e2be1f799a...
# if both arguments end with Hashes, and if one is a keyword hash and
the other is not, they don't match
So rspec upstream is saying this is correct (again keywords / hash separation...),
previous
rspec-mocks 3.10.2 behaved wrongly with ruby3 (rspec upstream says), and
rspec-mocks user side has to fix this.
Thx a lot
Vít
P.S. Sorry for not being more helpful, I have to spent some time with CentOS Stream 9 to
get Ruby into shape there, especially the problematic SystemTap support [1].
[1]
https://bugs.ruby-lang.org/issues/18257
Regards,
Mamoru