thrift-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (THRIFT-4342) Support ruby rspec 3
Date Fri, 23 Mar 2018 00:55:00 GMT

    [ https://issues.apache.org/jira/browse/THRIFT-4342?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16410639#comment-16410639
] 

ASF GitHub Bot commented on THRIFT-4342:
----------------------------------------

GitHub user jeking3 opened a pull request:

    https://github.com/apache/thrift/pull/1518

    THRIFT-4342: update ruby tests to use rspec 3, updated all dependencies for ruby

    

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/jeking3/thrift THRIFT-4342

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/thrift/pull/1518.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #1518
    
----
commit 0856cfcd044440f611522a2c869b754472795490
Author: James E. King III <jking@...>
Date:   2018-03-23T00:50:23Z

    THRIFT-4342: update ruby tests to use rspec 3, updated all dependencies for ruby

----


> Support ruby rspec 3
> --------------------
>
>                 Key: THRIFT-4342
>                 URL: https://issues.apache.org/jira/browse/THRIFT-4342
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Ruby - Library
>    Affects Versions: 0.10.0
>         Environment: docker ubuntu-xenial (ruby 2.3.1)
>            Reporter: James E. King, III
>            Assignee: James E. King, III
>            Priority: Major
>
> I don't know much about ruby.  Anybody who can assist is welcome to do so!  I tried to
update us to rspec 2.99.x to prepare for rspec 3 and got a lot of errors.  We should be running
the latest versions of test tools in thrift.gemspec.  Also note the apache license in the
gemspec is not quite right...
> {noformat}
> Pending:
>   Client Thrift::Client should increment the sequence id when sending messages
>     # it seems sequence ids are completely ignored right now
>     # ./spec/client_spec.rb:55
> Failures:
>   1) BinaryProtocolAccelerated it should behave like a binary protocol should write a
byte
>      Failure/Error: @trans.rspec_verify
>      NoMethodError:
>        undefined method `rspec_verify' for #<Thrift::MemoryBufferTransport:0x00000000869c28>
>      Shared Example Group: "a binary protocol" called from ./spec/binary_protocol_accelerated_spec.rb:28
>      # ./spec/binary_protocol_spec_shared.rb:112:in `block (2 levels) in <top (required)>'
>   2) BinaryProtocol it should behave like a binary protocol should write a byte
>      Failure/Error: @trans.rspec_verify
>      NoMethodError:
>        undefined method `rspec_verify' for #<Thrift::MemoryBufferTransport:0x000000022165b8>
>      Shared Example Group: "a binary protocol" called from ./spec/binary_protocol_spec.rb:25
>      # ./spec/binary_protocol_spec_shared.rb:112:in `block (2 levels) in <top (required)>'
> Deprecation Warnings:
> --------------------------------------------------------------------------------
> The semantics of `RSpec::Core::Pending#pending` are changing in
> RSpec 3.  In RSpec 2.x, it caused the example to be skipped. In
> RSpec 3, the rest of the example will still be run but is expected
> to fail, and will be marked as a failure (rather than as pending)
> if the example passes.
> Any passed block will no longer be executed. This feature is being
> removed since it was semantically inconsistent, and the behaviour it
> offered is being made available with the other ways of marking an
> example pending.
> To keep the same skip semantics, change `pending` to `skip`.
> Otherwise, if you want the new RSpec 3 behavior, you can safely
> ignore this warning and continue to upgrade to RSpec 3 without
> addressing it.
> Called from /thrift/src/lib/rb/spec/client_spec.rb:56:in `block (3 levels) in <top
(required)>'.
> --------------------------------------------------------------------------------
> `and_return { value }` is deprecated. Use `and_return(value)` or an implementation block
without `and_return` instead. Called from /thrift/src/lib/rb/spec/client_spec.rb:79:in `block
(3 levels) in <top (required)>'.
> `and_return { value }` is deprecated. Use `and_return(value)` or an implementation block
without `and_return` instead. Called from /thrift/src/lib/rb/spec/http_client_spec.rb:38:in
`block (3 levels) in <top (required)>'.
> `and_return { value }` is deprecated. Use `and_return(value)` or an implementation block
without `and_return` instead. Called from /thrift/src/lib/rb/spec/http_client_spec.rb:41:in
`block (5 levels) in <top (required)>'.
> Too many uses of deprecated '`and_return { value }`'. Pass `--deprecation-out` or set
`config.deprecation_stream` to a file for full output.
> `be_false` is deprecated. Use `be_falsey` (for Ruby's conditional semantics) or `be false`
(for exact `== false` equality) instead. Called from /thrift/src/lib/rb/spec/base_transport_spec.rb:279:in
`block (3 levels) in <top (required)>'.
> `be_false` is deprecated. Use `be_falsey` (for Ruby's conditional semantics) or `be false`
(for exact `== false` equality) instead. Called from /thrift/src/lib/rb/spec/struct_spec.rb:63:in
`block (3 levels) in <top (required)>'.
> `be_false` is deprecated. Use `be_falsey` (for Ruby's conditional semantics) or `be false`
(for exact `== false` equality) instead. Called from /thrift/src/lib/rb/spec/struct_spec.rb:83:in
`block (3 levels) in <top (required)>'.
> Too many uses of deprecated '`be_false`'. Pass `--deprecation-out` or set `config.deprecation_stream`
to a file for full output.
> `be_true` is deprecated. Use `be_truthy` (for Ruby's conditional semantics) or `be true`
(for exact `== true` equality) instead. Called from /thrift/src/lib/rb/spec/base_transport_spec.rb:44:in
`block (4 levels) in <top (required)>'.
> `be_true` is deprecated. Use `be_truthy` (for Ruby's conditional semantics) or `be true`
(for exact `== true` equality) instead. Called from /thrift/src/lib/rb/spec/base_transport_spec.rb:56:in
`block (4 levels) in <top (required)>'.
> `be_true` is deprecated. Use `be_truthy` (for Ruby's conditional semantics) or `be true`
(for exact `== true` equality) instead. Called from /thrift/src/lib/rb/spec/base_transport_spec.rb:273:in
`block (3 levels) in <top (required)>'.
> Too many uses of deprecated '`be_true`'. Pass `--deprecation-out` or set `config.deprecation_stream`
to a file for full output.
> `expect { }.not_to raise_error(SpecificErrorClass)` is deprecated. Use `expect { }.not_to
raise_error` (with no args) instead. Called from /thrift/src/lib/rb/spec/struct_spec.rb:234:in
`block (3 levels) in <top (required)>'.
> `expect { }.not_to raise_error(SpecificErrorClass)` is deprecated. Use `expect { }.not_to
raise_error` (with no args) instead. Called from /thrift/src/lib/rb/spec/struct_spec.rb:245:in
`block (3 levels) in <top (required)>'.
> `expect { }.not_to raise_error(SpecificErrorClass)` is deprecated. Use `expect { }.not_to
raise_error` (with no args) instead. Called from /thrift/src/lib/rb/spec/types_spec.rb:43:in
`block (3 levels) in <top (required)>'.
> Too many uses of deprecated '`expect { }.not_to raise_error(SpecificErrorClass)`'. Pass
`--deprecation-out` or set `config.deprecation_stream` to a file for full output.
> `expect { }.not_to raise_error(SpecificErrorClass, message)` is deprecated. Use `expect
{ }.not_to raise_error` (with no args) instead. Called from /thrift/src/lib/rb/spec/union_spec.rb:137:in
`block (3 levels) in <top (required)>'.
> `expect { }.not_to raise_error(SpecificErrorClass, message)` is deprecated. Use `expect
{ }.not_to raise_error` (with no args) instead. Called from /thrift/src/lib/rb/spec/union_spec.rb:146:in
`block (3 levels) in <top (required)>'.
> any_number_of_times is deprecated. Use stub instead. Called from /thrift/src/lib/rb/spec/socket_spec_shared.rb:101:in
`block (2 levels) in <top (required)>'.
> mock is deprecated. Use double instead. Called from /thrift/src/lib/rb/spec/base_protocol_spec.rb:25:in
`block (2 levels) in <top (required)>'.
> mock is deprecated. Use double instead. Called from /thrift/src/lib/rb/spec/base_protocol_spec.rb:58:in
`block (3 levels) in <top (required)>'.
> mock is deprecated. Use double instead. Called from /thrift/src/lib/rb/spec/base_protocol_spec.rb:83:in
`block (3 levels) in <top (required)>'.
> Too many uses of deprecated 'mock'. Pass `--deprecation-out` or set `config.deprecation_stream`
to a file for full output.
> stub is deprecated. Use double instead. Called from /thrift/src/lib/rb/spec/client_spec.rb:51:in
`block (3 levels) in <top (required)>'.
> stub is deprecated. Use double instead. Called from /thrift/src/lib/rb/spec/client_spec.rb:73:in
`block (3 levels) in <top (required)>'.
> stub! is deprecated. Use stub instead. Called from /thrift/src/lib/rb/spec/base_transport_spec.rb:109:in
`block (3 levels) in <top (required)>'.
> stub! is deprecated. Use stub instead. Called from /thrift/src/lib/rb/spec/base_transport_spec.rb:216:in
`block (3 levels) in <top (required)>'.
> stub! is deprecated. Use stub instead. Called from /thrift/src/lib/rb/spec/base_transport_spec.rb:235:in
`block (3 levels) in <top (required)>'.
> Too many uses of deprecated 'stub!'. Pass `--deprecation-out` or set `config.deprecation_stream`
to a file for full output.
> If you need more of the backtrace for any of these deprecations to
> identify where to make the necessary changes, you can configure
> `config.raise_errors_for_deprecations!`, and it will turn the
> deprecation warnings into errors, giving you the full backtrace.
> 205 deprecation warnings total
> Finished in 4.28 seconds
> 411 examples, 2 failures, 1 pending
> Failed examples:
> rspec ./spec/binary_protocol_spec_shared.rb:105 # BinaryProtocolAccelerated it should
behave like a binary protocol should write a byte
> rspec ./spec/binary_protocol_spec_shared.rb:105 # BinaryProtocol it should behave like
a binary protocol should write a byte
> /usr/bin/ruby2.3 -S rspec ./spec/base_protocol_spec.rb ./spec/base_transport_spec.rb
./spec/binary_protocol_accelerated_spec.rb ./spec/binary_protocol_spec.rb ./spec/bytes_spec.rb
./spec/client_spec.rb ./spec/compact_protocol_spec.rb ./spec/exception_spec.rb ./spec/flat_spec.rb
./spec/http_client_spec.rb ./spec/json_protocol_spec.rb ./spec/namespaced_spec.rb ./spec/nonblocking_server_spec.rb
./spec/processor_spec.rb ./spec/serializer_spec.rb ./spec/server_socket_spec.rb ./spec/server_spec.rb
./spec/socket_spec.rb ./spec/ssl_socket_spec.rb ./spec/struct_nested_containers_spec.rb ./spec/struct_spec.rb
./spec/thin_http_server_spec.rb ./spec/types_spec.rb ./spec/union_spec.rb ./spec/unix_socket_spec.rb
--color --format d failed
> Makefile:652: recipe for target 'check-local' failed
> make[1]: *** [check-local] Error 1
> make[1]: Leaving directory '/thrift/src/lib/rb'
> Makefile:512: recipe for target 'check-am' failed
> make: *** [check-am] Error 2
> {noformat}
> I tried this:
> {noformat}
> jking@ubuntu:~/thrift/github/thrift/lib/rb$ git diff HEAD
> diff --git a/lib/rb/thrift.gemspec b/lib/rb/thrift.gemspec
> index 166a93f2..f936e529 100644
> --- a/lib/rb/thrift.gemspec
> +++ b/lib/rb/thrift.gemspec
> @@ -9,7 +9,7 @@ Gem::Specification.new do |s|
>    s.homepage    = 'http://thrift.apache.org'
>    s.summary     = %q{Ruby bindings for Apache Thrift}
>    s.description = %q{Ruby bindings for the Apache Thrift RPC system}
> -  s.license = 'Apache 2.0'
> +  s.license = 'Apache-2.0'
>    s.extensions = ['ext/extconf.rb']
>  
>    s.has_rdoc      = true
> @@ -28,10 +28,10 @@ Gem::Specification.new do |s|
>    s.require_paths = %w[lib ext]
>  
> -  s.add_development_dependency 'rspec', ['~> 2.10.0', '< 2.14.0']
> -  s.add_development_dependency "rack", "~> 1.5"
> -  s.add_development_dependency "rack-test", "~> 0.6"
> -  s.add_development_dependency "thin", "~> 1.5"
> -  s.add_development_dependency "bundler", "~> 1"
> +  s.add_development_dependency 'rspec', '~> 2.14.0'
> +  s.add_development_dependency "rack", "~> 2.0.3"
> +  s.add_development_dependency "rack-test", "~> 0.7"
> +  s.add_development_dependency "thin", "~> 1.7.2"
> +  s.add_development_dependency "bundler", "~> 1.15.4"
>    s.add_development_dependency 'rake', '~> 10.5'
>  end
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message