diff options
author | Josh Haberman <jhaberman@gmail.com> | 2015-12-02 13:21:42 -0800 |
---|---|---|
committer | Josh Haberman <jhaberman@gmail.com> | 2015-12-02 13:21:42 -0800 |
commit | a3faf080e355d2d89cb7a93a92f76ea5462c2ad0 (patch) | |
tree | a2be046e6c7a459dc26e08b8cfc4bc2021c9b6ef /conformance | |
parent | 325392dd6128ad9915f758e37307c12bcc56f064 (diff) | |
download | protobuf-a3faf080e355d2d89cb7a93a92f76ea5462c2ad0.tar.gz protobuf-a3faf080e355d2d89cb7a93a92f76ea5462c2ad0.tar.bz2 protobuf-a3faf080e355d2d89cb7a93a92f76ea5462c2ad0.zip |
Added JSON support to Python conformance tests.
Diffstat (limited to 'conformance')
-rwxr-xr-x | conformance/conformance_python.py | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/conformance/conformance_python.py b/conformance/conformance_python.py index af3dc8ec..32aa2255 100755 --- a/conformance/conformance_python.py +++ b/conformance/conformance_python.py @@ -39,6 +39,7 @@ import struct import sys import os from google.protobuf import message +from google.protobuf import json_format import conformance_pb2 sys.stdout = os.fdopen(sys.stdout.fileno(), 'wb', 0) @@ -61,8 +62,11 @@ def do_test(request): return response elif request.WhichOneof('payload') == 'json_payload': - response.skipped = "JSON not supported yet." - return response + try: + json_format.Parse(request.json_payload, test_message) + except json_format.ParseError as e: + response.parse_error = str(e) + return response else: raise "Request didn't have payload." @@ -74,7 +78,8 @@ def do_test(request): response.protobuf_payload = test_message.SerializeToString() elif request.requested_output_format == conformance_pb2.JSON: - response.skipped = "JSON not supported yet." + response.json_payload = json_format.MessageToJson(test_message) + except Exception as e: response.runtime_error = str(e) |