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

Re: em-synchrony tests



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

(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.)


I had a quick look at the hiredis tests for ruby-em-synchrony also, and they
run with a redis-server running. There are however six failures, see below.
In any case, a running redis-server is probably required for the
em-synchrony tests also.


--
Per


root@saturn:~/ruby-em-synchrony-1.0.3# rake
/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
      ** Notice: The native BSON extension was not loaded. **

      For optimal performance, use of the BSON extension is recommended.

      To enable the extension make sure ENV['BSON_EXT_DISABLED'] is not set
      and run the following command:

        gem install bson_ext

      If you continue to receive this message after installing, make sure that
      the bson_ext gem is in your load path.
/tmp/buildd/ruby-em-synchrony-1.0.3/spec/beanstalk_spec.rb:3: warning:
already initialized constant DELAY
/tmp/buildd/ruby-em-synchrony-1.0.3/spec/activerecord_spec.rb:16:
warning: previous definition of DELAY was here
/tmp/buildd/ruby-em-synchrony-1.0.3/spec/connection_pool_spec.rb:3:
warning: already initialized constant DELAY
/tmp/buildd/ruby-em-synchrony-1.0.3/spec/beanstalk_spec.rb:3: warning:
previous definition of DELAY was here
/tmp/buildd/ruby-em-synchrony-1.0.3/spec/connection_pool_spec.rb:4:
warning: already initialized constant QUERY
/tmp/buildd/ruby-em-synchrony-1.0.3/spec/activerecord_spec.rb:17:
warning: previous definition of QUERY was here
/tmp/buildd/ruby-em-synchrony-1.0.3/spec/http_spec.rb:5: warning:
already initialized constant DELAY
/tmp/buildd/ruby-em-synchrony-1.0.3/spec/connection_pool_spec.rb:3:
warning: previous definition of DELAY was here
/tmp/buildd/ruby-em-synchrony-1.0.3/spec/inlinesync_spec.rb:6:
warning: already initialized constant URL
/tmp/buildd/ruby-em-synchrony-1.0.3/spec/http_spec.rb:3: warning:
previous definition of URL was here
/tmp/buildd/ruby-em-synchrony-1.0.3/spec/inlinesync_spec.rb:7:
warning: already initialized constant DELAY
/tmp/buildd/ruby-em-synchrony-1.0.3/spec/http_spec.rb:5: warning:
previous definition of DELAY was here
/tmp/buildd/ruby-em-synchrony-1.0.3/spec/keyboard_spec.rb:4: warning:
already initialized constant DELAY
/tmp/buildd/ruby-em-synchrony-1.0.3/spec/inlinesync_spec.rb:7:
warning: previous definition of DELAY was here
/tmp/buildd/ruby-em-synchrony-1.0.3/spec/mysql2_spec.rb:6: warning:
already initialized constant DELAY
/tmp/buildd/ruby-em-synchrony-1.0.3/spec/keyboard_spec.rb:4: warning:
previous definition of DELAY was here
/tmp/buildd/ruby-em-synchrony-1.0.3/spec/mysql2_spec.rb:7: warning:
already initialized constant QUERY
/tmp/buildd/ruby-em-synchrony-1.0.3/spec/connection_pool_spec.rb:4:
warning: previous definition of QUERY was here
******************..**********.FFFFF..............**.*******.......****DEPRECATION:
stub is deprecated. Use double instead. Called from
/usr/lib/ruby/vendor_ruby/rspec/mocks/example_methods.rb:42:in `stub'.
.*..F...................................*..............

Pending:
  Fiberized ActiveRecord driver for mysql2 should establish AR connection
    # Temporarily disabled with xit
    # ./spec/activerecord_spec.rb:29
  Fiberized ActiveRecord driver for mysql2 should fire sequential,
synchronous requests within single fiber
    # Temporarily disabled with xit
    # ./spec/activerecord_spec.rb:39
  Fiberized ActiveRecord driver for mysql2 should fire 100 requests in fibers
    # Temporarily disabled with xit
    # ./spec/activerecord_spec.rb:56
  Fiberized ActiveRecord driver for mysql2 should create widget
    # Temporarily disabled with xit
    # ./spec/activerecord_spec.rb:67
  Fiberized ActiveRecord driver for mysql2 should update widget
    # Temporarily disabled with xit
    # ./spec/activerecord_spec.rb:77
  Fiberized ActiveRecord driver for mysql2 transactions should work properly
    # Temporarily disabled with xit
    # ./spec/activerecord_spec.rb:89
  EventMachine::Synchrony::AMQP should yield until connection is ready
    # Temporarily disabled with xit
    # ./spec/amqp_spec.rb:5
  EventMachine::Synchrony::AMQP should yield until disconnection is complete
    # Temporarily disabled with xit
    # ./spec/amqp_spec.rb:13
  EventMachine::Synchrony::AMQP should yield until the channel is created
    # Temporarily disabled with xit
    # ./spec/amqp_spec.rb:22
  EventMachine::Synchrony::AMQP should yield until the queue is created
    # Temporarily disabled with xit
    # ./spec/amqp_spec.rb:31
  EventMachine::Synchrony::AMQP should yield when a queue is created
from a channel
    # Temporarily disabled with xit
    # ./spec/amqp_spec.rb:40
  EventMachine::Synchrony::AMQP should yield until the exchange is created
    # Temporarily disabled with xit
    # ./spec/amqp_spec.rb:49
  EventMachine::Synchrony::AMQP should publish and receive messages
    # Temporarily disabled with xit
    # ./spec/amqp_spec.rb:70
  EventMachine::Synchrony::AMQP should handle several consumers
    # Temporarily disabled with xit
    # ./spec/amqp_spec.rb:107
  EventMachine::Synchrony::ConnectionPool should queue requests if
pool size is exceeded
    # Temporarily disabled with xit
    # ./spec/connection_pool_spec.rb:8
  EventMachine::Synchrony::ConnectionPool should execute multiple
async pool requests within same fiber
    # Temporarily disabled with xit
    # ./spec/connection_pool_spec.rb:32
  EventMachine::Synchrony::ConnectionPool should share connection pool
between different fibers
    # Temporarily disabled with xit
    # ./spec/connection_pool_spec.rb:56
  EventMachine::Synchrony::ConnectionPool should share connection pool
between different fibers & async requests
    # Temporarily disabled with xit
    # ./spec/connection_pool_spec.rb:87
  EventMachine::Mongo should yield until connection is ready
    # Temporarily disabled with xit
    # ./spec/em-mongo_spec.rb:4
  EventMachine::Mongo should update records in db
    # Temporarily disabled with xit
    # ./spec/em-mongo_spec.rb:219
  EventMachine::Mongo Synchronously (find & first) should insert a
record into db
    # Temporarily disabled with xit
    # ./spec/em-mongo_spec.rb:17
  EventMachine::Mongo Synchronously (find & first) should insert a
record into db and be able to find it
    # Temporarily disabled with xit
    # ./spec/em-mongo_spec.rb:33
  EventMachine::Mongo Synchronously (find & first) should be able to
order results
    # Temporarily disabled with xit
    # ./spec/em-mongo_spec.rb:54
  EventMachine::Mongo *A*synchronously (afind & afirst) [Mongo >
0.3.6, using cursor] should insert a record into db
    # Temporarily disabled with xit
    # ./spec/em-mongo_spec.rb:84
  EventMachine::Mongo *A*synchronously (afind & afirst) [Mongo >
0.3.6, using cursor] should insert a record into db and be able to
find it
    # Temporarily disabled with xit
    # ./spec/em-mongo_spec.rb:102
  EventMachine::Mongo *A*synchronously (afind & afirst) [Mongo >
0.3.6, using cursor] should be able to order results
    # Temporarily disabled with xit
    # ./spec/em-mongo_spec.rb:124
  EventMachine::Mongo authentication successfully authenticates
    # Temporarily disabled with xit
    # ./spec/em-mongo_spec.rb:236
  EventMachine::Mongo authentication raises an AuthenticationError if
it cannot authenticate
    # Temporarily disabled with xit
    # ./spec/em-mongo_spec.rb:249
  EventMachine::Protocols::Memcache should fire sequential memcached requests
    # Temporarily disabled with xit
    # ./spec/memcache_spec.rb:5
  Mongo::Connection connects to DB
    # Temporarily disabled with xit
    # ./spec/mongo_spec.rb:6
  Mysql2::EM::Client should support queries
    # Temporarily disabled with xit
    # ./spec/mysql2_spec.rb:9
  Mysql2::EM::Client should fire sequential, synchronous requests
    # Temporarily disabled with xit
    # ./spec/mysql2_spec.rb:21
  Mysql2::EM::Client should have accept a callback, errback on async queries
    # Temporarily disabled with xit
    # ./spec/mysql2_spec.rb:36
  Mysql2::EM::Client should fire simultaneous requests via Multi interface
    # Temporarily disabled with xit
    # ./spec/mysql2_spec.rb:49
  Mysql2::EM::Client should fire sequential and simultaneous MySQL requests
    # Temporarily disabled with xit
    # ./spec/mysql2_spec.rb:71
  Mysql2::EM::Client should raise Mysql::Error in case of error
    # Temporarily disabled with xit
    # ./spec/mysql2_spec.rb:100
  Mysql2::EM::Client errback should not catch exception thrown from callback
    # Temporarily disabled with xit
    # ./spec/mysql2_spec.rb:110
  EventMachine::Protocols::Redis should execute sync add and auth
    # Temporarily disabled with xit
    # ./spec/redis_spec.rb:93
  Memcached should yield until connection is ready
    # Temporarily disabled with xit
    # ./spec/remcached_spec.rb:6
  Memcached should fire sequential memcached requests
    # Temporarily disabled with xit
    # ./spec/remcached_spec.rb:14
  Memcached should fire multi memcached requests
    # Temporarily disabled with xit
    # ./spec/remcached_spec.rb:30
  EventMachine::Synchrony#next_tick should wrap next_tick into a Fiber context
    # Temporarily disabled with xit
    # ./spec/synchrony_spec.rb:21
  EventMachine::Synchrony::TCPSocket when wrapped in a connection pool
accepts "send"
    # Temporarily disabled with xit
    # ./spec/tcpsocket_spec.rb:403

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


Reply to: