google-cloud-rust icon indicating copy to clipboard operation
google-cloud-rust copied to clipboard

Breakdown the fixes for the ProtoJSON conformance test

Open coryan opened this issue 7 months ago • 1 comments

We need to break down this work:

  • [ ] Required.Proto3.JsonInput.DoubleFieldMaxNegativeValue.JsonOutput # Output was not equivalent to reference message: modified: optional_double: -2.22507e-308 -> -2.2250700000000003e-308
  • [ ] Required.Proto3.JsonInput.DoubleFieldMinPositiveValue.JsonOutput # Output was not equivalent to reference message: modified: optional_double: 2.22507e-308 -> 2.2250700000000003e-308
  • [ ] Required.Proto3.JsonInput.TimestampJsonInputLowercaseT # Should have failed to parse, but didn't.
  • [ ] Required.Proto3.JsonInput.TimestampJsonInputLowercaseZ #` Should have failed to parse, but didn't.
  • [ ] Required.Proto3.JsonInput.TimestampJsonInputMissingT # Should have failed to parse, but didn't.

ERROR, test=Required.Proto3.JsonInput.DoubleFieldMinPositiveValue.JsonOutput: Output was not equivalent to reference message: modified: optional_double: 2.22507e-308 -> 2.2250700000000003e-308
, request=goo.gle/debugonly   json_payload: "{\"optionalDouble\": 2.22507e-308}" requested_output_format: JSON message_type: "protobuf_test_messages.proto3.TestAllTypesProto3" test_category: JSON_TEST, response=goo.gle/debugonly   json_payload: "{\"optionalDouble\":2.2250700000000003e-308}"
ERROR, test=Required.Proto3.JsonInput.DoubleFieldMaxNegativeValue.JsonOutput: Output was not equivalent to reference message: modified: optional_double: -2.22507e-308 -> -2.2250700000000003e-308
, request=goo.gle/debugonly   json_payload: "{\"optionalDouble\": -2.22507e-308}" requested_output_format: JSON message_type: "protobuf_test_messages.proto3.TestAllTypesProto3" test_category: JSON_TEST, response=goo.gle/debugonly   json_payload: "{\"optionalDouble\":-2.2250700000000003e-308}"
WARNING, test=Recommended.Proto3.JsonInput.BytesFieldBase64Url.JsonOutput: Failed to parse input or produce output., request=goo.gle/debugonly   json_payload: "{\"optionalBytes\": \"-_\"}" requested_output_format: JSON message_type: "protobuf_test_messages.proto3.TestAllTypesProto3" test_category: JSON_TEST, response=goo.gle/debugonly   parse_error: "error parsing JSON input for TestAllTypesProto3: Error(\"Invalid symbol 45, offset 0.\", line: 1, column: 22)"
WARNING, test=Recommended.Proto3.JsonInput.DurationHas3FractionalDigits.Validator: JSON payload validation failed., request=goo.gle/debugonly   json_payload: "{\"optionalDuration\": \"1.010000000s\"}" requested_output_format: JSON message_type: "protobuf_test_messages.proto3.TestAllTypesProto3" test_category: JSON_TEST, response=goo.gle/debugonly   json_payload: "{\"optionalDuration\":\"1.01s\"}"
WARNING, test=Recommended.Proto3.JsonInput.DurationHas6FractionalDigits.Validator: JSON payload validation failed., request=goo.gle/debugonly   json_payload: "{\"optionalDuration\": \"1.000010000s\"}" requested_output_format: JSON message_type: "protobuf_test_messages.proto3.TestAllTypesProto3" test_category: JSON_TEST, response=goo.gle/debugonly   json_payload: "{\"optionalDuration\":\"1.00001s\"}"
WARNING, test=Recommended.Proto3.JsonInput.DurationHas9FractionalDigits.Validator: JSON payload validation failed., request=goo.gle/debugonly   json_payload: "{\"optionalDuration\": \"1.000000010s\"}" requested_output_format: JSON message_type: "protobuf_test_messages.proto3.TestAllTypesProto3" test_category: JSON_TEST, response=goo.gle/debugonly   json_payload: "{\"optionalDuration\":\"1.00000001s\"}"
ERROR, test=Required.Proto3.JsonInput.TimestampJsonInputMissingT: Should have failed to parse, but didn't., request=goo.gle/debugonly   json_payload: "{\"optionalTimestamp\": \"0001-01-01 00:00:00Z\"}" requested_output_format: JSON message_type: "protobuf_test_messages.proto3.TestAllTypesProto3" test_category: JSON_TEST, response=goo.gle/debugonly   json_payload: "{\"optionalTimestamp\":\"0001-01-01T00:00:00Z\"}"
ERROR, test=Required.Proto3.JsonInput.TimestampJsonInputLowercaseZ: Should have failed to parse, but didn't., request=goo.gle/debugonly   json_payload: "{\"optionalTimestamp\": \"0001-01-01T00:00:00z\"}" requested_output_format: JSON message_type: "protobuf_test_messages.proto3.TestAllTypesProto3" test_category: JSON_TEST, response=goo.gle/debugonly   json_payload: "{\"optionalTimestamp\":\"0001-01-01T00:00:00Z\"}"
ERROR, test=Required.Proto3.JsonInput.TimestampJsonInputLowercaseT: Should have failed to parse, but didn't., request=goo.gle/debugonly   json_payload: "{\"optionalTimestamp\": \"0001-01-01t00:00:00Z\"}" requested_output_format: JSON message_type: "protobuf_test_messages.proto3.TestAllTypesProto3" test_category: JSON_TEST, response=goo.gle/debugonly   json_payload: "{\"optionalTimestamp\":\"0001-01-01T00:00:00Z\"}"
WARNING, test=Recommended.Proto3.JsonInput.TimestampHas3FractionalDigits.Validator: JSON payload validation failed., request=goo.gle/debugonly   json_payload: "{\"optionalTimestamp\": \"1970-01-01T00:00:00.010000000Z\"}" requested_output_format: JSON message_type: "protobuf_test_messages.proto3.TestAllTypesProto3" test_category: JSON_TEST, response=goo.gle/debugonly   json_payload: "{\"optionalTimestamp\":\"1970-01-01T00:00:00.01Z\"}"
WARNING, test=Recommended.Proto3.JsonInput.TimestampHas6FractionalDigits.Validator: JSON payload validation failed., request=goo.gle/debugonly   json_payload: "{\"optionalTimestamp\": \"1970-01-01T00:00:00.000010000Z\"}" requested_output_format: JSON message_type: "protobuf_test_messages.proto3.TestAllTypesProto3" test_category: JSON_TEST, response=goo.gle/debugonly   json_payload: "{\"optionalTimestamp\":\"1970-01-01T00:00:00.00001Z\"}"
WARNING, test=Recommended.Proto3.JsonInput.TimestampHas9FractionalDigits.Validator: JSON payload validation failed., request=goo.gle/debugonly   json_payload: "{\"optionalTimestamp\": \"1970-01-01T00:00:00.000000010Z\"}" requested_output_format: JSON message_type: "protobuf_test_messages.proto3.TestAllTypesProto3" test_category: JSON_TEST, response=goo.gle/debugonly   json_payload: "{\"optionalTimestamp\":\"1970-01-01T00:00:00.00000001Z\"}"
WARNING, test=Recommended.Proto3.JsonInput.FieldMaskInvalidCharacter: Should have failed to parse, but didn't., request=goo.gle/debugonly   json_payload: "{\"optionalFieldMask\": \"foo,bar_bar\"}" requested_output_format: JSON message_type: "protobuf_test_messages.proto3.TestAllTypesProto3" test_category: JSON_TEST, response=goo.gle/debugonly   json_payload: "{\"optionalFieldMask\":\"foo,bar_bar\"}"
WARNING, test=Recommended.Proto3.JsonInput.NullValueInOtherOneofOldFormat.Validator: JSON payload validation failed., request=goo.gle/debugonly   json_payload: "{\"oneofNullValue\": \"NULL_VALUE\"}" requested_output_format: JSON message_type: "protobuf_test_messages.proto3.TestAllTypesProto3" test_category: JSON_TEST, response=goo.gle/debugonly   json_payload: "{}"
WARNING, test=Recommended.Proto3.JsonInput.RejectUnknownEnumStringValueInOptionalField: Should have failed to parse, but didn't., request=goo.gle/debugonly   json_payload: "{\n      \"optional_nested_enum\": \"UNKNOWN_ENUM_VALUE\"\n    }" requested_output_format: JSON message_type: "protobuf_test_messages.proto3.TestAllTypesProto3" test_category: JSON_TEST, response=goo.gle/debugonly   json_payload: "{\"optional_nested_enum\":\"UNKNOWN_ENUM_VALUE\"}"
WARNING, test=Recommended.Proto3.JsonInput.RejectUnknownEnumStringValueInRepeatedField: Should have failed to parse, but didn't., request=goo.gle/debugonly   json_payload: "{\n      \"repeated_nested_enum\": [\"UNKNOWN_ENUM_VALUE\"]\n    }" requested_output_format: JSON message_type: "protobuf_test_messages.proto3.TestAllTypesProto3" test_category: JSON_TEST, response=goo.gle/debugonly   json_payload: "{\"repeated_nested_enum\":[\"UNKNOWN_ENUM_VALUE\"]}"
WARNING, test=Recommended.Proto3.JsonInput.RejectUnknownEnumStringValueInMapValue: Should have failed to parse, but didn't., request=goo.gle/debugonly   json_payload: "{\n      \"map_string_nested_enum\": {\"key\": \"UNKNOWN_ENUM_VALUE\"}\n    }" requested_output_format: JSON message_type: "protobuf_test_messages.proto3.TestAllTypesProto3" test_category: JSON_TEST, response=goo.gle/debugonly   json_payload: "{\"map_string_nested_enum\":{\"key\":\"UNKNOWN_ENUM_VALUE\"}}"

coryan avatar May 30 '25 03:05 coryan

It may be better to fix #2325, #2324, #2323, #2327 and then run the conformance tests again. Those will clear up many errors.

coryan avatar May 30 '25 03:05 coryan