Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
P
protobuf
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
protobuf
Commits
c2c43a49
Commit
c2c43a49
authored
Jul 17, 2015
by
Josh Haberman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed lint errors and responded to CR comments.
Change-Id: If7b1cc0f03f609a7f43ddafc8509b44207c60910
parent
95ee8fb8
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
30 additions
and
27 deletions
+30
-27
conformance_ruby.rb
conformance/conformance_ruby.rb
+29
-26
protobuf.rb
ruby/lib/google/protobuf.rb
+1
-1
No files found.
conformance/conformance_ruby.rb
View file @
c2c43a49
...
...
@@ -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
re
turn
re
sponse
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
ruby/lib/google/protobuf.rb
View file @
c2c43a49
...
...
@@ -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
<
Runtime
Error
;
end
class
Error
<
Standard
Error
;
end
class
ParseError
<
Error
;
end
end
end
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment