Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(450)

Side by Side Diff: third_party/protobuf/conformance/ConformanceJavaLite.java

Issue 1983203003: Update third_party/protobuf to protobuf-v3.0.0-beta-3 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: owners Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 1
2 import com.google.protobuf.conformance.Conformance; 2 import com.google.protobuf.conformance.Conformance;
3 import com.google.protobuf.util.JsonFormat;
4 import com.google.protobuf.util.JsonFormat.TypeRegistry;
5 import com.google.protobuf.InvalidProtocolBufferException; 3 import com.google.protobuf.InvalidProtocolBufferException;
6 4
7 class ConformanceJava { 5 class ConformanceJavaLite {
8 private int testCount = 0; 6 private int testCount = 0;
9 private TypeRegistry typeRegistry;
10 7
11 private boolean readFromStdin(byte[] buf, int len) throws Exception { 8 private boolean readFromStdin(byte[] buf, int len) throws Exception {
12 int ofs = 0; 9 int ofs = 0;
13 while (len > 0) { 10 while (len > 0) {
14 int read = System.in.read(buf, ofs, len); 11 int read = System.in.read(buf, ofs, len);
15 if (read == -1) { 12 if (read == -1) {
16 return false; // EOF 13 return false; // EOF
17 } 14 }
18 ofs += read; 15 ofs += read;
19 len -= read; 16 len -= read;
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
53 switch (request.getPayloadCase()) { 50 switch (request.getPayloadCase()) {
54 case PROTOBUF_PAYLOAD: { 51 case PROTOBUF_PAYLOAD: {
55 try { 52 try {
56 testMessage = Conformance.TestAllTypes.parseFrom(request.getProtobufPa yload()); 53 testMessage = Conformance.TestAllTypes.parseFrom(request.getProtobufPa yload());
57 } catch (InvalidProtocolBufferException e) { 54 } catch (InvalidProtocolBufferException e) {
58 return Conformance.ConformanceResponse.newBuilder().setParseError(e.ge tMessage()).build(); 55 return Conformance.ConformanceResponse.newBuilder().setParseError(e.ge tMessage()).build();
59 } 56 }
60 break; 57 break;
61 } 58 }
62 case JSON_PAYLOAD: { 59 case JSON_PAYLOAD: {
63 try { 60 return Conformance.ConformanceResponse.newBuilder().setSkipped(
64 Conformance.TestAllTypes.Builder builder = Conformance.TestAllTypes.ne wBuilder(); 61 "Lite runtime does not suport Json Formant.").build();
65 JsonFormat.parser().usingTypeRegistry(typeRegistry)
66 .merge(request.getJsonPayload(), builder);
67 testMessage = builder.build();
68 } catch (InvalidProtocolBufferException e) {
69 return Conformance.ConformanceResponse.newBuilder().setParseError(e.ge tMessage()).build();
70 }
71 break;
72 } 62 }
73 case PAYLOAD_NOT_SET: { 63 case PAYLOAD_NOT_SET: {
74 throw new RuntimeException("Request didn't have payload."); 64 throw new RuntimeException("Request didn't have payload.");
75 } 65 }
76 66
77 default: { 67 default: {
78 throw new RuntimeException("Unexpected payload case."); 68 throw new RuntimeException("Unexpected payload case.");
79 } 69 }
80 } 70 }
81 71
82 switch (request.getRequestedOutputFormat()) { 72 switch (request.getRequestedOutputFormat()) {
83 case UNSPECIFIED: 73 case UNSPECIFIED:
84 throw new RuntimeException("Unspecified output format."); 74 throw new RuntimeException("Unspecified output format.");
85 75
86 case PROTOBUF: 76 case PROTOBUF:
87 return Conformance.ConformanceResponse.newBuilder().setProtobufPayload(t estMessage.toByteString()).build(); 77 return Conformance.ConformanceResponse.newBuilder().setProtobufPayload(t estMessage.toByteString()).build();
88 78
89 case JSON: 79 case JSON:
90 try { 80 return Conformance.ConformanceResponse.newBuilder().setSkipped(
91 return Conformance.ConformanceResponse.newBuilder().setJsonPayload( 81 "Lite runtime does not suport Json Formant.").build();
92 JsonFormat.printer().usingTypeRegistry(typeRegistry).print(testMes sage)).build();
93 } catch (InvalidProtocolBufferException | IllegalArgumentException e) {
94 return Conformance.ConformanceResponse.newBuilder().setSerializeError(
95 e.getMessage()).build();
96 }
97 82
98 default: { 83 default: {
99 throw new RuntimeException("Unexpected request output."); 84 throw new RuntimeException("Unexpected request output.");
100 } 85 }
101 } 86 }
102 } 87 }
103 88
104 private boolean doTestIo() throws Exception { 89 private boolean doTestIo() throws Exception {
105 int bytes = readLittleEndianIntFromStdin(); 90 int bytes = readLittleEndianIntFromStdin();
106 91
(...skipping 12 matching lines...) Expand all
119 Conformance.ConformanceResponse response = doTest(request); 104 Conformance.ConformanceResponse response = doTest(request);
120 byte[] serializedOutput = response.toByteArray(); 105 byte[] serializedOutput = response.toByteArray();
121 106
122 writeLittleEndianIntToStdout(serializedOutput.length); 107 writeLittleEndianIntToStdout(serializedOutput.length);
123 writeToStdout(serializedOutput); 108 writeToStdout(serializedOutput);
124 109
125 return true; 110 return true;
126 } 111 }
127 112
128 public void run() throws Exception { 113 public void run() throws Exception {
129 typeRegistry = TypeRegistry.newBuilder().add(
130 Conformance.TestAllTypes.getDescriptor()).build();
131 while (doTestIo()) { 114 while (doTestIo()) {
132 // Empty. 115 this.testCount++;
133 } 116 }
134 117
135 System.err.println("ConformanceJava: received EOF from test runner after " + 118 System.err.println("ConformanceJavaLite: received EOF from test runner after " +
136 this.testCount + " tests"); 119 this.testCount + " tests");
137 } 120 }
138 121
139 public static void main(String[] args) throws Exception { 122 public static void main(String[] args) throws Exception {
140 new ConformanceJava().run(); 123 new ConformanceJavaLite().run();
141 } 124 }
142 } 125 }
OLDNEW
« no previous file with comments | « third_party/protobuf/conformance/ConformanceJava.java ('k') | third_party/protobuf/conformance/Makefile.am » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698