Skip to content

Commit

Permalink
Fixed lint errors and responded to CR comments.
Browse files Browse the repository at this point in the history
Change-Id: If7b1cc0f03f609a7f43ddafc8509b44207c60910
  • Loading branch information
haberman committed Jul 17, 2015
1 parent 95ee8fb commit c2c43a4
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 27 deletions.
55 changes: 29 additions & 26 deletions conformance/conformance_ruby.rb
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@

require 'conformance'

test_count = 0;
verbose = false;
$test_count = 0
$verbose = false

def do_test(request)
test_message = Conformance::TestAllTypes.new
Expand All @@ -43,69 +43,72 @@ def do_test(request)
case request.payload
when :protobuf_payload
begin
test_message = Conformance::TestAllTypes.decode(request.protobuf_payload)
test_message =
Conformance::TestAllTypes.decode(request.protobuf_payload)
rescue Google::Protobuf::ParseError => err
response.parse_error = err.message.encode("utf-8")
response.parse_error = err.message.encode('utf-8')
return response
end

when :json_payload
test_message = Conformance::TestAllTypes.decode_json(request.json_payload)

when nil
raise "Request didn't have payload.";
fail "Request didn't have payload"
end

case request.requested_output_format
when :UNSPECIFIED
raise "Unspecified output format"
fail 'Unspecified output format'

when :PROTOBUF
response.protobuf_payload = Conformance::TestAllTypes.encode(test_message)
response.protobuf_payload = test_message.to_proto

when :JSON
response.json_payload = Conformance::TestAllTypes.encode_json(test_message)
response.json_payload = test_message.to_json
end
rescue Exception => err
response.runtime_error = err.message.encode("utf-8") + err.backtrace.join("\n")
rescue StandardError => err
response.runtime_error = err.message.encode('utf-8')
end

return response
response
end

# Returns true if the test ran successfully, false on legitimate EOF.
# If EOF is encountered in an unexpected place, raises IOError.
def do_test_io
length_bytes = STDIN.read(4)
return false if length_bytes.nil?

length = length_bytes.unpack("V").first
length = length_bytes.unpack('V').first
serialized_request = STDIN.read(length)
if serialized_request.nil? or serialized_request.length != length
raise "I/O error"
if serialized_request.nil? || serialized_request.length != length
fail IOError
end

request = Conformance::ConformanceRequest.decode(serialized_request)

response = do_test(request)

serialized_response = Conformance::ConformanceResponse.encode(response)
STDOUT.write([serialized_response.length].pack("V"))
STDOUT.write([serialized_response.length].pack('V'))
STDOUT.write(serialized_response)
STDOUT.flush

#if verbose
# fprintf(stderr, "conformance-cpp: request=%s, response=%s\n",
# request.ShortDebugString().c_str(),
# response.ShortDebugString().c_str());
if $verbose
STDERR.puts("conformance-cpp: request={request.to_json}, " \
"response={response.to_json}\n")
end

#test_count++;
$test_count += 1

return true;
true
end

while true
if not do_test_io()
STDERR.puts("conformance-cpp: received EOF from test runner " +
"after #{test_count} tests, exiting")
exit 0
loop do
unless do_test_io
STDERR.puts('conformance-cpp: received EOF from test runner ' \
"after #{$test_count} tests, exiting")
break
end
end
2 changes: 1 addition & 1 deletion ruby/lib/google/protobuf.rb
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
# That way the module init can grab references to these.
module Google
module Protobuf
class Error < RuntimeError; end
class Error < StandardError; end
class ParseError < Error; end
end
end
Expand Down

0 comments on commit c2c43a4

Please sign in to comment.