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
24095cc7
Commit
24095cc7
authored
Aug 14, 2014
by
jieluo@google.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add deleted tests back for reflection_cpp2_test.py by addtional exception catch
parent
5dd5f0d0
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
47 additions
and
0 deletions
+47
-0
reflection_test.py
python/google/protobuf/internal/reflection_test.py
+47
-0
No files found.
python/google/protobuf/internal/reflection_test.py
View file @
24095cc7
...
...
@@ -41,6 +41,7 @@ import copy
import
gc
import
operator
import
struct
import
sys
from
google.apputils
import
basetest
from
google.protobuf
import
unittest_import_pb2
...
...
@@ -1556,6 +1557,20 @@ class ReflectionTest(basetest.TestCase):
def
assertNotInitialized
(
self
,
proto
):
self
.
assertFalse
(
proto
.
IsInitialized
())
try
:
proto
.
SerializeToString
()
except
message
.
EncodeError
:
return
except
:
# C++ implementation in opensource do not consider the catched
# exception google.protobuf.message.EncodeError same as
# message.EncodeError. Add an additional catch to deal with it.
if
api_implementation
.
Type
()
==
'python'
:
raise
self
.
failureException
(
'message.EncodeError not raised'
)
self
.
assertEqual
(
'<class
\'
google.protobuf.message.EncodeError
\'
>'
,
str
(
sys
.
exc_info
()[
0
]))
else
:
raise
self
.
failureException
(
'message.EncodeError not raised'
)
# "Partial" serialization doesn't care if message is uninitialized.
proto
.
SerializePartialToString
()
...
...
@@ -2485,11 +2500,23 @@ class SerializationTest(basetest.TestCase):
# Check if the exception message is the right one.
self
.
assertEqual
(
exception
,
str
(
ex
))
return
except
:
# C++ implementation in opensource do not consider the catched
# exception google.protobuf.message.EncodeError same as
# message.EncodeError. Add an additional catch to deal with it.
if
api_implementation
.
Type
()
==
'python'
:
raise
self
.
failureException
(
'
%
s not raised'
%
str
(
exc_class
))
self
.
assertEqual
(
exception
,
str
(
sys
.
exc_info
()[
1
]))
else
:
raise
self
.
failureException
(
'
%
s not raised'
%
str
(
exc_class
))
def
testSerializeUninitialized
(
self
):
proto
=
unittest_pb2
.
TestRequired
()
self
.
_CheckRaises
(
message
.
EncodeError
,
proto
.
SerializeToString
,
'Message protobuf_unittest.TestRequired is missing required fields: '
'a,b,c'
)
# Shouldn't raise exceptions.
partial
=
proto
.
SerializePartialToString
()
...
...
@@ -2500,10 +2527,18 @@ class SerializationTest(basetest.TestCase):
self
.
assertFalse
(
proto2
.
HasField
(
'a'
))
proto
.
a
=
1
self
.
_CheckRaises
(
message
.
EncodeError
,
proto
.
SerializeToString
,
'Message protobuf_unittest.TestRequired is missing required fields: b,c'
)
# Shouldn't raise exceptions.
partial
=
proto
.
SerializePartialToString
()
proto
.
b
=
2
self
.
_CheckRaises
(
message
.
EncodeError
,
proto
.
SerializeToString
,
'Message protobuf_unittest.TestRequired is missing required fields: c'
)
# Shouldn't raise exceptions.
partial
=
proto
.
SerializePartialToString
()
...
...
@@ -2533,6 +2568,12 @@ class SerializationTest(basetest.TestCase):
proto
.
SerializeToString
()
proto
.
optional_message
.
a
=
1
self
.
_CheckRaises
(
message
.
EncodeError
,
proto
.
SerializeToString
,
'Message protobuf_unittest.TestRequiredForeign '
'is missing required fields: '
'optional_message.b,optional_message.c'
)
proto
.
optional_message
.
b
=
2
proto
.
optional_message
.
c
=
3
...
...
@@ -2540,6 +2581,12 @@ class SerializationTest(basetest.TestCase):
proto
.
repeated_message
.
add
()
.
a
=
1
proto
.
repeated_message
.
add
()
.
b
=
2
self
.
_CheckRaises
(
message
.
EncodeError
,
proto
.
SerializeToString
,
'Message protobuf_unittest.TestRequiredForeign is missing required fields: '
'repeated_message[0].b,repeated_message[0].c,'
'repeated_message[1].a,repeated_message[1].c'
)
proto
.
repeated_message
[
0
]
.
b
=
2
proto
.
repeated_message
[
0
]
.
c
=
3
...
...
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