ruby-amqp / bunny

Bunny is a popular, easy to use, mature Ruby client for RabbitMQ
Other
1.39k stars 305 forks source link

Spec failure on an s390x machine #594

Open lucaskanashiro opened 4 years ago

lucaskanashiro commented 4 years ago

I tried to run the tests (spec) of bunny 2.14.4 using rabbitmq 3.8.2 in an Ubuntu Focal (20.04) s390x virtual machine and I got a failure:

Failures:

  1) Bunny::Queue#subscribe provides delivery handler access to message properties
     Failure/Error: expect(metadata.headers["participants"]).to eq 11

       expected: 11
            got: [11]

       (compared using ==)
     # ./spec/higher_level_api/integration/message_properties_access_spec.rb:72:in `block (2 levels) in <top (required)>'

Finished in 3 minutes 58.6 seconds (files took 0.21454 seconds to load)
422 examples, 1 failure

Failed examples:

rspec ./spec/higher_level_api/integration/message_properties_access_spec.rb:16 # Bunny::Queue#subscribe provides delivery handler access to message properties

/usr/bin/ruby2.7 -I/usr/share/rubygems-integration/all/gems/rspec-support-3.9.2/lib:/usr/share/rubygems-integration/all/gems/rspec-core-3.9.1/lib /usr/share/rubygems-integration/all/gems/rspec-core-3.9.1/exe/rspec spec/higher_level_api/integration/basic_ack_spec.rb spec/higher_level_api/integration/basic_cancel_spec.rb spec/higher_level_api/integration/basic_consume_spec.rb spec/higher_level_api/integration/basic_consume_with_objects_spec.rb spec/higher_level_api/integration/basic_get_spec.rb spec/higher_level_api/integration/basic_nack_spec.rb spec/higher_level_api/integration/basic_publish_spec.rb spec/higher_level_api/integration/basic_qos_spec.rb spec/higher_level_api/integration/basic_reject_spec.rb spec/higher_level_api/integration/basic_return_spec.rb spec/higher_level_api/integration/channel_close_spec.rb spec/higher_level_api/integration/channel_open_spec.rb spec/higher_level_api/integration/consumer_cancellation_notification_spec.rb spec/higher_level_api/integration/dead_lettering_spec.rb spec/higher_level_api/integration/exchange_bind_spec.rb spec/higher_level_api/integration/exchange_declare_spec.rb spec/higher_level_api/integration/exchange_delete_spec.rb spec/higher_level_api/integration/exchange_unbind_spec.rb spec/higher_level_api/integration/exclusive_queue_spec.rb spec/higher_level_api/integration/heartbeat_spec.rb spec/higher_level_api/integration/message_properties_access_spec.rb spec/higher_level_api/integration/predeclared_exchanges_spec.rb spec/higher_level_api/integration/publisher_confirms_spec.rb spec/higher_level_api/integration/publishing_edge_cases_spec.rb spec/higher_level_api/integration/queue_bind_spec.rb spec/higher_level_api/integration/queue_delete_spec.rb spec/higher_level_api/integration/queue_purge_spec.rb spec/higher_level_api/integration/queue_unbind_spec.rb spec/higher_level_api/integration/read_only_consumer_spec.rb spec/higher_level_api/integration/sender_selected_distribution_spec.rb spec/higher_level_api/integration/tx_commit_spec.rb spec/higher_level_api/integration/tx_rollback_spec.rb spec/higher_level_api/integration/with_channel_spec.rb spec/issues/issue100_spec.rb spec/issues/issue141_spec.rb spec/issues/issue202_spec.rb spec/issues/issue224_spec.rb spec/issues/issue465_spec.rb spec/issues/issue78_spec.rb spec/issues/issue83_spec.rb spec/issues/issue97_spec.rb spec/lower_level_api/integration/basic_cancel_spec.rb spec/lower_level_api/integration/basic_consume_spec.rb spec/unit/bunny_spec.rb spec/unit/concurrent/atomic_fixnum_spec.rb spec/unit/concurrent/condition_spec.rb spec/unit/concurrent/linked_continuation_queue_spec.rb spec/unit/concurrent/synchronized_sorted_set_spec.rb spec/unit/exchange_recovery_spec.rb spec/unit/version_delivery_tag_spec.rb --format documentation failed
michaelklishin commented 4 years ago

I don't have access to an S390X machine. The failure looks unlikely to be byte ordering related but only a traffic capture can tell.