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
1b8bab3a
Commit
1b8bab3a
authored
Jan 29, 2016
by
Jisi Liu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Uncomment the test, which was commented out during integration
parent
5221dcbe
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
184 additions
and
185 deletions
+184
-185
ParseExceptionsTest.java
...rc/test/java/com/google/protobuf/ParseExceptionsTest.java
+184
-185
No files found.
java/core/src/test/java/com/google/protobuf/ParseExceptionsTest.java
View file @
1b8bab3a
...
@@ -24,189 +24,188 @@ import static org.junit.Assert.fail;
...
@@ -24,189 +24,188 @@ import static org.junit.Assert.fail;
*/
*/
public
class
ParseExceptionsTest
{
public
class
ParseExceptionsTest
{
// disable for now for update the maven local repo.
private
interface
ParseTester
{
// private interface ParseTester {
DescriptorProto
parse
(
InputStream
in
)
throws
IOException
;
// DescriptorProto parse(InputStream in) throws IOException;
}
// }
//
private
byte
serializedProto
[];
// private byte serializedProto[];
//
private
void
setup
()
{
// private void setup() {
serializedProto
=
DescriptorProto
.
getDescriptor
().
toProto
().
toByteArray
();
// serializedProto = DescriptorProto.getDescriptor().toProto().toByteArray();
}
// }
//
private
void
setupDelimited
()
{
// private void setupDelimited() {
ByteArrayOutputStream
bos
=
new
ByteArrayOutputStream
();
// ByteArrayOutputStream bos = new ByteArrayOutputStream();
try
{
// try {
DescriptorProto
.
getDescriptor
().
toProto
().
writeDelimitedTo
(
bos
);
// DescriptorProto.getDescriptor().toProto().writeDelimitedTo(bos);
}
catch
(
IOException
e
)
{
// } catch (IOException e) {
fail
(
"Exception not expected: "
+
e
);
// fail("Exception not expected: " + e);
}
// }
serializedProto
=
bos
.
toByteArray
();
// serializedProto = bos.toByteArray();
}
// }
//
@Test
public
void
message_parseFrom_InputStream
()
{
// @Test public void message_parseFrom_InputStream() {
setup
();
// setup();
verifyExceptions
(
new
ParseTester
()
{
// verifyExceptions(new ParseTester() {
public
DescriptorProto
parse
(
InputStream
in
)
throws
IOException
{
// public DescriptorProto parse(InputStream in) throws IOException {
return
DescriptorProto
.
parseFrom
(
in
);
// return DescriptorProto.parseFrom(in);
}
// }
});
// });
}
// }
//
@Test
public
void
message_parseFrom_InputStreamAndExtensionRegistry
()
{
// @Test public void message_parseFrom_InputStreamAndExtensionRegistry() {
setup
();
// setup();
verifyExceptions
(
new
ParseTester
()
{
// verifyExceptions(new ParseTester() {
public
DescriptorProto
parse
(
InputStream
in
)
throws
IOException
{
// public DescriptorProto parse(InputStream in) throws IOException {
return
DescriptorProto
.
parseFrom
(
in
,
ExtensionRegistry
.
newInstance
());
// return DescriptorProto.parseFrom(in, ExtensionRegistry.newInstance());
}
// }
});
// });
}
// }
//
@Test
public
void
message_parseFrom_CodedInputStream
()
{
// @Test public void message_parseFrom_CodedInputStream() {
setup
();
// setup();
verifyExceptions
(
new
ParseTester
()
{
// verifyExceptions(new ParseTester() {
public
DescriptorProto
parse
(
InputStream
in
)
throws
IOException
{
// public DescriptorProto parse(InputStream in) throws IOException {
return
DescriptorProto
.
parseFrom
(
CodedInputStream
.
newInstance
(
in
));
// return DescriptorProto.parseFrom(CodedInputStream.newInstance(in));
}
// }
});
// });
}
// }
//
@Test
public
void
message_parseFrom_CodedInputStreamAndExtensionRegistry
()
{
// @Test public void message_parseFrom_CodedInputStreamAndExtensionRegistry() {
setup
();
// setup();
verifyExceptions
(
new
ParseTester
()
{
// verifyExceptions(new ParseTester() {
public
DescriptorProto
parse
(
InputStream
in
)
throws
IOException
{
// public DescriptorProto parse(InputStream in) throws IOException {
return
DescriptorProto
.
parseFrom
(
CodedInputStream
.
newInstance
(
in
),
// return DescriptorProto.parseFrom(CodedInputStream.newInstance(in),
ExtensionRegistry
.
newInstance
());
// ExtensionRegistry.newInstance());
}
// }
});
// });
}
// }
//
@Test
public
void
message_parseDelimitedFrom_InputStream
()
{
// @Test public void message_parseDelimitedFrom_InputStream() {
setupDelimited
();
// setupDelimited();
verifyExceptions
(
new
ParseTester
()
{
// verifyExceptions(new ParseTester() {
public
DescriptorProto
parse
(
InputStream
in
)
throws
IOException
{
// public DescriptorProto parse(InputStream in) throws IOException {
return
DescriptorProto
.
parseDelimitedFrom
(
in
);
// return DescriptorProto.parseDelimitedFrom(in);
}
// }
});
// });
}
// }
//
@Test
public
void
message_parseDelimitedFrom_InputStreamAndExtensionRegistry
()
{
// @Test public void message_parseDelimitedFrom_InputStreamAndExtensionRegistry() {
setupDelimited
();
// setupDelimited();
verifyExceptions
(
new
ParseTester
()
{
// verifyExceptions(new ParseTester() {
public
DescriptorProto
parse
(
InputStream
in
)
throws
IOException
{
// public DescriptorProto parse(InputStream in) throws IOException {
return
DescriptorProto
.
parseDelimitedFrom
(
in
,
ExtensionRegistry
.
newInstance
());
// return DescriptorProto.parseDelimitedFrom(in, ExtensionRegistry.newInstance());
}
// }
});
// });
}
// }
//
@Test
public
void
messageBuilder_mergeFrom_InputStream
()
{
// @Test public void messageBuilder_mergeFrom_InputStream() {
setup
();
// setup();
verifyExceptions
(
new
ParseTester
()
{
// verifyExceptions(new ParseTester() {
public
DescriptorProto
parse
(
InputStream
in
)
throws
IOException
{
// public DescriptorProto parse(InputStream in) throws IOException {
return
DescriptorProto
.
newBuilder
().
mergeFrom
(
in
).
build
();
// return DescriptorProto.newBuilder().mergeFrom(in).build();
}
// }
});
// });
}
// }
//
@Test
public
void
messageBuilder_mergeFrom_InputStreamAndExtensionRegistry
()
{
// @Test public void messageBuilder_mergeFrom_InputStreamAndExtensionRegistry() {
setup
();
// setup();
verifyExceptions
(
new
ParseTester
()
{
// verifyExceptions(new ParseTester() {
public
DescriptorProto
parse
(
InputStream
in
)
throws
IOException
{
// public DescriptorProto parse(InputStream in) throws IOException {
return
DescriptorProto
.
newBuilder
().
mergeFrom
(
in
,
ExtensionRegistry
.
newInstance
()).
build
();
// return DescriptorProto.newBuilder().mergeFrom(in, ExtensionRegistry.newInstance()).build();
}
// }
});
// });
}
// }
//
@Test
public
void
messageBuilder_mergeFrom_CodedInputStream
()
{
// @Test public void messageBuilder_mergeFrom_CodedInputStream() {
setup
();
// setup();
verifyExceptions
(
new
ParseTester
()
{
// verifyExceptions(new ParseTester() {
public
DescriptorProto
parse
(
InputStream
in
)
throws
IOException
{
// public DescriptorProto parse(InputStream in) throws IOException {
return
DescriptorProto
.
newBuilder
().
mergeFrom
(
CodedInputStream
.
newInstance
(
in
)).
build
();
// return DescriptorProto.newBuilder().mergeFrom(CodedInputStream.newInstance(in)).build();
}
// }
});
// });
}
// }
//
@Test
public
void
messageBuilder_mergeFrom_CodedInputStreamAndExtensionRegistry
()
{
// @Test public void messageBuilder_mergeFrom_CodedInputStreamAndExtensionRegistry() {
setup
();
// setup();
verifyExceptions
(
new
ParseTester
()
{
// verifyExceptions(new ParseTester() {
public
DescriptorProto
parse
(
InputStream
in
)
throws
IOException
{
// public DescriptorProto parse(InputStream in) throws IOException {
return
DescriptorProto
.
newBuilder
()
// return DescriptorProto.newBuilder()
.
mergeFrom
(
CodedInputStream
.
newInstance
(
in
),
ExtensionRegistry
.
newInstance
()).
build
();
// .mergeFrom(CodedInputStream.newInstance(in), ExtensionRegistry.newInstance()).build();
}
// }
});
// });
}
// }
//
@Test
public
void
messageBuilder_mergeDelimitedFrom_InputStream
()
{
// @Test public void messageBuilder_mergeDelimitedFrom_InputStream() {
setupDelimited
();
// setupDelimited();
verifyExceptions
(
new
ParseTester
()
{
// verifyExceptions(new ParseTester() {
public
DescriptorProto
parse
(
InputStream
in
)
throws
IOException
{
// public DescriptorProto parse(InputStream in) throws IOException {
DescriptorProto
.
Builder
builder
=
DescriptorProto
.
newBuilder
();
// DescriptorProto.Builder builder = DescriptorProto.newBuilder();
builder
.
mergeDelimitedFrom
(
in
);
// builder.mergeDelimitedFrom(in);
return
builder
.
build
();
// return builder.build();
}
// }
});
// });
}
// }
//
@Test
public
void
messageBuilder_mergeDelimitedFrom_InputStreamAndExtensionRegistry
()
{
// @Test public void messageBuilder_mergeDelimitedFrom_InputStreamAndExtensionRegistry() {
setupDelimited
();
// setupDelimited();
verifyExceptions
(
new
ParseTester
()
{
// verifyExceptions(new ParseTester() {
public
DescriptorProto
parse
(
InputStream
in
)
throws
IOException
{
// public DescriptorProto parse(InputStream in) throws IOException {
DescriptorProto
.
Builder
builder
=
DescriptorProto
.
newBuilder
();
// DescriptorProto.Builder builder = DescriptorProto.newBuilder();
builder
.
mergeDelimitedFrom
(
in
,
ExtensionRegistry
.
newInstance
());
// builder.mergeDelimitedFrom(in, ExtensionRegistry.newInstance());
return
builder
.
build
();
// return builder.build();
}
// }
});
// });
}
// }
//
private
void
verifyExceptions
(
ParseTester
parseTester
)
{
// private void verifyExceptions(ParseTester parseTester) {
// No exception
// // No exception
try
{
// try {
assertEquals
(
DescriptorProto
.
getDescriptor
().
toProto
(),
// assertEquals(DescriptorProto.getDescriptor().toProto(),
parseTester
.
parse
(
new
ByteArrayInputStream
(
serializedProto
)));
// parseTester.parse(new ByteArrayInputStream(serializedProto)));
}
catch
(
IOException
e
)
{
// } catch (IOException e) {
fail
(
"No exception expected: "
+
e
);
// fail("No exception expected: " + e);
}
// }
//
// IOException
// // IOException
try
{
// try {
// using a "broken" stream that will throw part-way through reading the message
// // using a "broken" stream that will throw part-way through reading the message
parseTester
.
parse
(
broken
(
new
ByteArrayInputStream
(
serializedProto
)));
// parseTester.parse(broken(new ByteArrayInputStream(serializedProto)));
fail
(
"IOException expected but not thrown"
);
// fail("IOException expected but not thrown");
}
catch
(
IOException
e
)
{
// } catch (IOException e) {
assertFalse
(
e
instanceof
InvalidProtocolBufferException
);
// assertFalse(e instanceof InvalidProtocolBufferException);
}
// }
//
// InvalidProtocolBufferException
// // InvalidProtocolBufferException
try
{
// try {
// make the serialized proto invalid
// // make the serialized proto invalid
for
(
int
i
=
0
;
i
<
50
;
i
++)
{
// for (int i = 0; i < 50; i++) {
serializedProto
[
i
]
=
-
1
;
// serializedProto[i] = -1;
}
// }
parseTester
.
parse
(
new
ByteArrayInputStream
(
serializedProto
));
// parseTester.parse(new ByteArrayInputStream(serializedProto));
fail
(
"InvalidProtocolBufferException expected but not thrown"
);
// fail("InvalidProtocolBufferException expected but not thrown");
}
catch
(
IOException
e
)
{
// } catch (IOException e) {
assertTrue
(
e
instanceof
InvalidProtocolBufferException
);
// assertTrue(e instanceof InvalidProtocolBufferException);
}
// }
}
// }
//
private
InputStream
broken
(
InputStream
i
)
{
// private InputStream broken(InputStream i) {
return
new
FilterInputStream
(
i
)
{
// return new FilterInputStream(i) {
int
count
=
0
;
// int count = 0;
//
@Override
public
int
read
()
throws
IOException
{
// @Override public int read() throws IOException {
if
(
count
++
>=
50
)
{
// if (count++ >= 50) {
throw
new
IOException
(
"I'm broken!"
);
// throw new IOException("I'm broken!");
}
// }
return
super
.
read
();
// return super.read();
}
// }
//
@Override
public
int
read
(
byte
b
[],
int
off
,
int
len
)
throws
IOException
{
// @Override public int read(byte b[], int off, int len) throws IOException {
if
((
count
+=
len
)
>=
50
)
{
// if ((count += len) >= 50) {
throw
new
IOException
(
"I'm broken!"
);
// throw new IOException("I'm broken!");
}
// }
return
super
.
read
(
b
,
off
,
len
);
// return super.read(b, off, len);
}
// }
};
// };
}
// }
}
}
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