Commit c2c43a49 authored by Josh Haberman's avatar Josh Haberman

Fixed lint errors and responded to CR comments.

Change-Id: If7b1cc0f03f609a7f43ddafc8509b44207c60910
parent 95ee8fb8
...@@ -32,8 +32,8 @@ ...@@ -32,8 +32,8 @@
require 'conformance' require 'conformance'
test_count = 0; $test_count = 0
verbose = false; $verbose = false
def do_test(request) def do_test(request)
test_message = Conformance::TestAllTypes.new test_message = Conformance::TestAllTypes.new
...@@ -43,9 +43,10 @@ def do_test(request) ...@@ -43,9 +43,10 @@ def do_test(request)
case request.payload case request.payload
when :protobuf_payload when :protobuf_payload
begin begin
test_message = Conformance::TestAllTypes.decode(request.protobuf_payload) test_message =
Conformance::TestAllTypes.decode(request.protobuf_payload)
rescue Google::Protobuf::ParseError => err rescue Google::Protobuf::ParseError => err
response.parse_error = err.message.encode("utf-8") response.parse_error = err.message.encode('utf-8')
return response return response
end end
...@@ -53,34 +54,36 @@ def do_test(request) ...@@ -53,34 +54,36 @@ def do_test(request)
test_message = Conformance::TestAllTypes.decode_json(request.json_payload) test_message = Conformance::TestAllTypes.decode_json(request.json_payload)
when nil when nil
raise "Request didn't have payload."; fail "Request didn't have payload"
end end
case request.requested_output_format case request.requested_output_format
when :UNSPECIFIED when :UNSPECIFIED
raise "Unspecified output format" fail 'Unspecified output format'
when :PROTOBUF when :PROTOBUF
response.protobuf_payload = Conformance::TestAllTypes.encode(test_message) response.protobuf_payload = test_message.to_proto
when :JSON when :JSON
response.json_payload = Conformance::TestAllTypes.encode_json(test_message) response.json_payload = test_message.to_json
end end
rescue Exception => err rescue StandardError => err
response.runtime_error = err.message.encode("utf-8") + err.backtrace.join("\n") response.runtime_error = err.message.encode('utf-8')
end end
return response response
end 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 def do_test_io
length_bytes = STDIN.read(4) length_bytes = STDIN.read(4)
return false if length_bytes.nil? return false if length_bytes.nil?
length = length_bytes.unpack("V").first length = length_bytes.unpack('V').first
serialized_request = STDIN.read(length) serialized_request = STDIN.read(length)
if serialized_request.nil? or serialized_request.length != length if serialized_request.nil? || serialized_request.length != length
raise "I/O error" fail IOError
end end
request = Conformance::ConformanceRequest.decode(serialized_request) request = Conformance::ConformanceRequest.decode(serialized_request)
...@@ -88,24 +91,24 @@ def do_test_io ...@@ -88,24 +91,24 @@ def do_test_io
response = do_test(request) response = do_test(request)
serialized_response = Conformance::ConformanceResponse.encode(response) 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.write(serialized_response)
STDOUT.flush STDOUT.flush
#if verbose if $verbose
# fprintf(stderr, "conformance-cpp: request=%s, response=%s\n", STDERR.puts("conformance-cpp: request={request.to_json}, " \
# request.ShortDebugString().c_str(), "response={response.to_json}\n")
# response.ShortDebugString().c_str()); end
#test_count++; $test_count += 1
return true; true
end end
while true loop do
if not do_test_io() unless do_test_io
STDERR.puts("conformance-cpp: received EOF from test runner " + STDERR.puts('conformance-cpp: received EOF from test runner ' \
"after #{test_count} tests, exiting") "after #{$test_count} tests, exiting")
exit 0 break
end end
end end
...@@ -35,7 +35,7 @@ require 'google/protobuf/message_exts' ...@@ -35,7 +35,7 @@ require 'google/protobuf/message_exts'
# That way the module init can grab references to these. # That way the module init can grab references to these.
module Google module Google
module Protobuf module Protobuf
class Error < RuntimeError; end class Error < StandardError; end
class ParseError < Error; end class ParseError < Error; end
end end
end end
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment