Fixed lint errors and responded to CR comments.
Change-Id: If7b1cc0f03f609a7f43ddafc8509b44207c60910
This commit is contained in:
parent
95ee8fb88e
commit
c2c43a4917
@ -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
|
||||
@ -43,9 +43,10 @@ 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
|
||||
|
||||
@ -53,34 +54,36 @@ def do_test(request)
|
||||
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)
|
||||
@ -88,24 +91,24 @@ def do_test_io
|
||||
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
|
||||
|
@ -35,7 +35,7 @@ require 'google/protobuf/message_exts'
|
||||
# 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
|
||||
|
Loading…
Reference in New Issue
Block a user