ruby-protobuf / protobuf

A pure ruby implementation of Google's Protocol Buffers
https://github.com/ruby-protobuf
MIT License
462 stars 101 forks source link

Test "when a select timeout is fired returns false" fails #419

Open Apteryks opened 4 years ago

Apteryks commented 4 years ago

Context: packaging ruby-protobuf for GNU Guix. When running the test suite in a container with Ruby 2.6.5 and the following GEM_PATH:

 `/gnu/store/8ql9jjzl8q291ghsxlkm1wn5bpdvgcqw-ruby-2.6.5/lib/ruby/vendor_ruby:/gnu/store/qxhlw8pc3rxhjxjyym5rs859aghdinim-ruby-benchmark-ips-2.8.2/lib/ruby/vendor_ruby:/gnu/store/5021rnyfx7xnmh76csajzpmb9ymwaciy-ruby-ffi-rzmq-2.0.7/lib/ruby/vendor_ruby:/gnu/store/cpva2f5qdbx09phdvp6yjrjg67nibc8g-ruby-rake-12.3.1/lib/ruby/vendor_ruby:/gnu/store/0hlivkh2fhr6198drvz6fv0cyifa8js2-ruby-rspec-3.8.0/lib/ruby/vendor_ruby:/gnu/store/pbb8m8z8vgba1p4lnfx9f9xmcls3rkj9-ruby-rubocop-0.77.0/lib/ruby/vendor_ruby:/gnu/store/n1k6cax56444mjxzzpklr3nxgjcw2ylh-ruby-parser-2.6.0.0/lib/ruby/vendor_ruby:/gnu/store/nd7fdjs09wgd5nqdzv3dckfjfv47ijxc-ruby-simplecov-0.17.1/lib/ruby/vendor_ruby:/gnu/store/7g9a41w03dbmz0jnr2p8y1a106vyi90p-ruby-timecop-0.9.1/lib/ruby/vendor_ruby:/gnu/store/nxrpsbqkf8f9kh8fgmiqlrp3ckr9xr88-ruby-yard-0.9.20/lib/ruby/vendor_ruby:/gnu/store/kgynhzmg1f79grc5prsckbm798rpgfq3-ruby-pry-byebug-3.9.0/lib/ruby/vendor_ruby:/gnu/store/2rbygw1jil9p1f26pyqqrvi1m279l0bk-ruby-pry-stack-explorer-0.5.1/lib/ruby/vendor_ruby:/gnu/store/7x964nrnv9fj9m2sd39i5acbb5k6zh3s-ruby-varint-0.1.1/lib/ruby/vendor_ruby:/gnu/store/9d2az3igky76n5na1km926grsknyadic-ruby-ruby-prof-1.4.1/lib/ruby/vendor_ruby:/gnu/store/pjpyfsdfidw1cgnx13axlygjds0is5jn-ruby-activesupport-5.2.2.1/lib/ruby/vendor_ruby:/gnu/store/pqy44pzwslznfi8ia90x86kgifiqysp8-ruby-middleware-0.1.0/lib/ruby/vendor_ruby:/gnu/store/22wbblfywy92z6sha9r2nmrfj225618n-ruby-thor-1.0.1/lib/ruby/vendor_ruby:/gnu/store/jz20nlc73f3a7kamld7pdxa90g6ajskb-ruby-ffi-rzmq-core-1.0.7/lib/ruby/vendor_ruby:/gnu/store/2m96b69lwiqnj5l989v8qawxzlbjgv4a-ruby-rspec-expectations-3.8.2/lib/ruby/vendor_ruby:/gnu/store/zlyg13d32zc5zlh9ml92xgalakfmli3s-ruby-rspec-mocks-3.8.0/lib/ruby/vendor_ruby:/gnu/store/sxgvkvs1j9n2cbm5p3ixbvv6gb120j6b-ruby-rspec-core-3.8.0/lib/ruby/vendor_ruby:/gnu/store/z597mhhf03h5j0znqhmc8flv0ym4cmn6-ruby-unicode-display-width-1.6.0/lib/ruby/vendor_ruby:/gnu/store/k6nnd3dcbx8a6z8c808krgnz9xdrlq03-ruby-jaro-winkler-1.5.4/lib/ruby/vendor_ruby:/gnu/store/3dv5bjsw9wkklq31n632j1mv64g3ysx6-ruby-parallel-1.13.0/lib/ruby/vendor_ruby:/gnu/store/5pgqgfk5jcbgj1zkdvgy43r00klhj88x-ruby-progressbar-1.10.1/lib/ruby/vendor_ruby:/gnu/store/ab91iwli4a2qmy30z8dm4mzn943qsiwc-ruby-rainbow-3.0.0/lib/ruby/vendor_ruby:/gnu/store/yxk5x5zck053jz36bsyv04m82l0bhzc7-ruby-powerpack-0.1.2/lib/ruby/vendor_ruby:/gnu/store/71kbscinndhdsmz6n2b8yzh7jpiymzp0-ruby-ast-2.4.0/lib/ruby/vendor_ruby:/gnu/store/l1b947vp9179pzb7j66fd9ia2kc6lhzz-ruby-simplecov-html-0.10.2/lib/ruby/vendor_ruby:/gnu/store/w5x0wn7lbyvhk829a1i53s76944hgs3f-ruby-docile-1.1.5/lib/ruby/vendor_ruby:/gnu/store/mp0h1q71b6w9h0i23kzrpxw8rd9v88w8-ruby-json-2.1.0/lib/ruby/vendor_ruby:/gnu/store/w5wdk2hv5havyk0wgr2pjais54jjywp3-ruby-pry-0.13.1/lib/ruby/vendor_ruby:/gnu/store/jq2q2fd6wza8z4s6kx6x4m6l8p5zb4ky-ruby-byebug-11.1.3/lib/ruby/vendor_ruby:/gnu/store/rk1ynqi8zwxm2sh05726mwfw137wmb5v-ruby-binding-of-caller-0.8.0/lib/ruby/vendor_ruby:/gnu/store/6gjp4nhsv5cbvdsifx8mvdbqb4zd219q-ruby-tzinfo-data-1.2017.3/lib/ruby/vendor_ruby:/gnu/store/cxb0a9zbiympawbj3zijfklvn768bdqk-ruby-tzinfo-1.2.4/lib/ruby/vendor_ruby:/gnu/store/xhsz8j8hxjxml19f9750arqilf9lwjnr-ruby-minitest-5.11.3/lib/ruby/vendor_ruby:/gnu/store/4spwyn16wifgplxpb565vdjh74w21rx4-ruby-i18n-1.7.0/lib/ruby/vendor_ruby:/gnu/store/8z5nv7awf3yiycvhghkiqi02k5f6yzqm-ruby-concurrent-1.1.5/lib/ruby/vendor_ruby:/gnu/store/kwlwf3bgnp2506lbcw8hp855d9snfnyq-ruby-ffi-1.12.2/lib/ruby/vendor_ruby:/gnu/store/bh3mf0yg7y62p5r84f7n2q28cm4a86ma-ruby-diff-lcs-1.3/lib/ruby/vendor_ruby:/gnu/store/wq9l3yhxnhryvx6yrbzqz573dv6d3828-ruby-rspec-support-3.8.0/lib/ruby/vendor_ruby:/gnu/store/fa60yg6hsdmj02jpybabnv9xibd7338p-ruby-method-source-1.0.0/lib/ruby/vendor_ruby:/gnu/store/14c4yw3jz0d4w5jyvx07drlr9xcrjh32-ruby-coderay-1.1.2/lib/ruby/vendor_ruby:/gnu/store/r4m4fiyr8mdi385768wiaynp2l5z8rjw-ruby-debug-inspector-0.0.3/lib/ruby/vendor_ruby:/gnu/store/21im6y79mvyz3ala8v5yzwbfsnxh0swp-ruby-thread-safe-0.3.6/lib/ruby/vendor_ruby'

I get the following failure:

Failures:

  1) Protobuf::Rpc::Connectors::Ping#online? when a select timeout is fired returns false
     Failure/Error: expect(::IO).to receive(:select).and_return(false)

       (IO (class)).select(*(any args))
           expected: 1 time with any arguments
           received: 0 times with any arguments
     # ./spec/lib/protobuf/rpc/connectors/ping_spec.rb:50:in `block (4 levels) in <top (required)>'