[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: em-synchrony tests



2014-04-24 4:21 GMT+05:30, Per Andersson <avtobiff@gmail.com>:
> On Wed, Apr 23, 2014 at 6:34 PM, Pirate Praveen <pravi.a@gmail.com> wrote:
>> Hi,
>>
>> Can anyone look at hiredis tests? I have disabled all tests first and
>> now trying to enable it one by one. You have to remove the
>> corresponding patch and build.

I was able to run memcached, remcached and mysql2 tests successfully.
But 3 activerecord tests are failing. Can someone help here?

Failures:

  1) Fiberized ActiveRecord driver for mysql2 should fire sequential,
synchronous requests within single fiber
     Failure/Error: Unable to find matching line from backtrace
     RuntimeError:
       invalid binding to detach
     # ./lib/em-synchrony/connection_pool.rb:70:in `block in method_missing'
     # ./lib/em-synchrony/activerecord.rb:79:in `execute'
     # ./lib/em-synchrony/connection_pool.rb:69:in `method_missing'
     # ./spec/activerecord_spec.rb:20:in `establish_connection'
     # ./spec/activerecord_spec.rb:41:in `block (3 levels) in <top (required)>'
     # ./lib/em-synchrony.rb:38:in `block (2 levels) in synchrony'

  2) Fiberized ActiveRecord driver for mysql2 should create widget
     Failure/Error: Unable to find matching line from backtrace
     RuntimeError:
       invalid binding to detach
     # ./lib/em-synchrony/connection_pool.rb:70:in `block in method_missing'
     # ./lib/em-synchrony/activerecord.rb:79:in `execute'
     # ./lib/em-synchrony/connection_pool.rb:69:in `method_missing'
     # ./spec/activerecord_spec.rb:20:in `establish_connection'
     # ./spec/activerecord_spec.rb:69:in `block (3 levels) in <top (required)>'
     # ./lib/em-synchrony.rb:38:in `block (2 levels) in synchrony'

  3) Fiberized ActiveRecord driver for mysql2 transactions should work properly
     Failure/Error: Unable to find matching line from backtrace
     RuntimeError:
       invalid binding to detach
     # ./lib/em-synchrony/connection_pool.rb:70:in `block in method_missing'
     # ./lib/em-synchrony/activerecord.rb:79:in `execute'
     # ./lib/em-synchrony/connection_pool.rb:69:in `method_missing'
     # ./spec/activerecord_spec.rb:20:in `establish_connection'
     # ./spec/activerecord_spec.rb:91:in `block (4 levels) in <top (required)>'
     # ./lib/em-synchrony.rb:38:in `block (2 levels) in synchrony'

> I misunderstood at first and thought you meant ruby-em-redis tests, from
> #745502, so I fixed those... ^_^

thanks :)

> (What is the ending +gh for btw, I guess that it might be for "github"? If
> you
> include an unreleased version of upstream sources please add something
> like ~git.$DATE_FETCHED.$GIT_COMMIT_SHA1 to the Debian version, e.g.
> 0.3.0~git.20140424.deadbeef-1.)

It uses a github tag. When upstream doesn't have a release tag, I use
the same method you described (see ruby-messagebus-api).

> Failures:
>
>   1) EventMachine::Hiredis should yield until connection is ready
>      Failure/Error: Unable to find matching line from backtrace
>      NoMethodError:
>        undefined method `each' for nil:NilClass
>      # ./lib/em-synchrony/em-hiredis.rb:50:in `block (2 levels) in connect'
>
>   2) EventMachine::Hiredis should work with compact connect syntax
>      Failure/Error: EventMachine.synchrony do
>      NameError:
>        uninitialized constant
> EventMachine::Hiredis::Client::PUBSUB_MESSAGES
>      # ./lib/em-synchrony/em-hiredis.rb:67:in `block in connect'
>      # ./lib/em-synchrony.rb:38:in `synchrony'
>      # ./spec/hiredis_spec.rb:15:in `block (2 levels) in <top (required)>'
>
>   3) EventMachine::Hiredis should work with manual db select
>      Failure/Error: EventMachine.synchrony do
>      NameError:
>        uninitialized constant
> EventMachine::Hiredis::Client::PUBSUB_MESSAGES
>      # ./lib/em-synchrony/em-hiredis.rb:67:in `block in connect'
>      # ./lib/em-synchrony.rb:38:in `synchrony'
>      # ./spec/hiredis_spec.rb:26:in `block (2 levels) in <top (required)>'
>
>   4) EventMachine::Hiredis should get/set records synchronously
>      Failure/Error: Unable to find matching line from backtrace
>      NoMethodError:
>        undefined method `each' for nil:NilClass
>      # ./lib/em-synchrony/em-hiredis.rb:50:in `block (2 levels) in connect'
>
>   5) EventMachine::Hiredis should incr/decr key synchronously
>      Failure/Error: Unable to find matching line from backtrace
>      NoMethodError:
>        undefined method `each' for nil:NilClass
>      # ./lib/em-synchrony/em-hiredis.rb:50:in `block (2 levels) in connect'
>
>   6) EventMachine::Synchrony::TCPSocket.new to an unresolvable host
> raises SocketError
>      Failure/Error: proc {
>        expected SocketError, got #<Errno::ETIMEDOUT: Connection timed
> out> with backtrace:
>          # ./lib/em-synchrony/tcpsocket.rb:23:in `new'
>          # ./spec/tcpsocket_spec.rb:53:in `block (6 levels) in <top
> (required)>'
>          # ./spec/tcpsocket_spec.rb:52:in `block (5 levels) in <top
> (required)>'
>          # ./lib/em-synchrony.rb:38:in `block (2 levels) in synchrony'
>      # ./spec/tcpsocket_spec.rb:52:in `block (5 levels) in <top
> (required)>'
>      # ./lib/em-synchrony.rb:38:in `block (2 levels) in synchrony'
>
> Finished in 32.3 seconds
> 126 examples, 6 failures, 43 pending
>
> Failed examples:
>
> rspec ./spec/hiredis_spec.rb:5 # EventMachine::Hiredis should yield
> until connection is ready
> rspec ./spec/hiredis_spec.rb:14 # EventMachine::Hiredis should work
> with compact connect syntax
> rspec ./spec/hiredis_spec.rb:25 # EventMachine::Hiredis should work
> with manual db select
> rspec ./spec/hiredis_spec.rb:37 # EventMachine::Hiredis should get/set
> records synchronously
> rspec ./spec/hiredis_spec.rb:49 # EventMachine::Hiredis should
> incr/decr key synchronously
> rspec ./spec/tcpsocket_spec.rb:50 #
> EventMachine::Synchrony::TCPSocket.new to an unresolvable host raises
> SocketError
> /usr/bin/ruby2.0 -S rspec ./spec/activerecord_spec.rb
> ./spec/amqp_spec.rb ./spec/beanstalk_spec.rb
> ./spec/connection_pool_spec.rb ./spec/defer_spec.rb
> ./spec/em-mongo_spec.rb ./spec/fiber_iterator_spec.rb
> ./spec/hiredis_spec.rb ./spec/http_spec.rb ./spec/inlinesync_spec.rb
> ./spec/iterator_spec.rb ./spec/keyboard_spec.rb
> ./spec/memcache_spec.rb ./spec/mongo_spec.rb ./spec/multi_spec.rb
> ./spec/mysql2_spec.rb ./spec/redis_spec.rb ./spec/remcached_spec.rb
> ./spec/synchrony_spec.rb ./spec/system_spec.rb
> ./spec/tcpsocket_spec.rb ./spec/thread_spec.rb ./spec/timer_spec.rb
> failed

Anyone got an ida about these failures?

-- 
പ്രവീണ്‍ അരിമ്പ്രത്തൊടിയില്‍
You have to keep reminding your government that you don't get your rights
from them; you give them permission to rule, only so long as they follow the
rules: laws and constitution.


Reply to: