diff --git a/conformance/text_format_conformance_suite.cc b/conformance/text_format_conformance_suite.cc index 295b10b046..94f63dbb60 100644 --- a/conformance/text_format_conformance_suite.cc +++ b/conformance/text_format_conformance_suite.cc @@ -401,28 +401,85 @@ void TextFormatConformanceTestSuiteImpl::RunAllTests() { "optional_uint64: 02000000000000000000000"); // Floating point fields - RunValidTextFormatTest("FloatField", REQUIRED, "optional_float: 3.192837"); - RunValidTextFormatTest("FloatFieldWithVeryPreciseNumber", REQUIRED, - "optional_float: 3.123456789123456789"); - RunValidTextFormatTest("FloatFieldMaxValue", REQUIRED, - "optional_float: 3.4028235e+38"); - RunValidTextFormatTest("FloatFieldMinValue", REQUIRED, - "optional_float: 1.17549e-38"); - RunValidTextFormatTest("FloatFieldNaNValue", REQUIRED, "optional_float: NaN"); - RunValidTextFormatTest("FloatFieldPosInfValue", REQUIRED, - "optional_float: inf"); - RunValidTextFormatTest("FloatFieldNegInfValue", REQUIRED, - "optional_float: -inf"); - RunValidTextFormatTest("FloatFieldWithInt32Max", REQUIRED, - "optional_float: 4294967296"); - RunValidTextFormatTest("FloatFieldLargerThanInt64", REQUIRED, - "optional_float: 9223372036854775808"); - RunValidTextFormatTest("FloatFieldTooLarge", REQUIRED, - "optional_float: 3.4028235e+39"); - RunValidTextFormatTest("FloatFieldTooSmall", REQUIRED, - "optional_float: 1.17549e-39"); - RunValidTextFormatTest("FloatFieldLargerThanUint64", REQUIRED, - "optional_float: 18446744073709551616"); + for (const auto& suffix : std::vector{"", "f", "F"}) { + const std::string name_suffix = + suffix.empty() ? "" : absl::StrCat("_", suffix); + + RunValidTextFormatTest(absl::StrCat("FloatField", name_suffix), REQUIRED, + absl::StrCat("optional_float: 3.192837", suffix)); + RunValidTextFormatTestWithExpected( + absl::StrCat("FloatFieldZero", name_suffix), REQUIRED, + absl::StrCat("optional_float: 0", suffix), + "" /* implicit presence, so zero means unset*/); + RunValidTextFormatTest(absl::StrCat("FloatFieldNegative", name_suffix), + REQUIRED, + absl::StrCat("optional_float: -3.192837", suffix)); + RunValidTextFormatTest( + absl::StrCat("FloatFieldWithVeryPreciseNumber", name_suffix), REQUIRED, + absl::StrCat("optional_float: 3.123456789123456789", suffix)); + RunValidTextFormatTest( + absl::StrCat("FloatFieldMaxValue", name_suffix), REQUIRED, + absl::StrCat("optional_float: 3.4028235e+38", suffix)); + RunValidTextFormatTest(absl::StrCat("FloatFieldMinValue", name_suffix), + REQUIRED, + absl::StrCat("optional_float: 1.17549e-38", suffix)); + RunValidTextFormatTest(absl::StrCat("FloatFieldWithInt32Max", name_suffix), + REQUIRED, + absl::StrCat("optional_float: 4294967296", suffix)); + RunValidTextFormatTest( + absl::StrCat("FloatFieldLargerThanInt64", name_suffix), REQUIRED, + absl::StrCat("optional_float: 9223372036854775808", suffix)); + RunValidTextFormatTest( + absl::StrCat("FloatFieldTooLarge", name_suffix), REQUIRED, + absl::StrCat("optional_float: 3.4028235e+39", suffix)); + RunValidTextFormatTest(absl::StrCat("FloatFieldTooSmall", name_suffix), + REQUIRED, + absl::StrCat("optional_float: 1.17549e-39", suffix)); + RunValidTextFormatTest( + absl::StrCat("FloatFieldLargerThanUint64", name_suffix), REQUIRED, + absl::StrCat("optional_float: 18446744073709551616", suffix)); + // https://protobuf.dev/reference/protobuf/textformat-spec/#literals says + // "-0" is a valid float literal. + // TODO: Figure out if this should count as not setting + // presence or if -0 should be reflected back. + // RunValidTextFormatTestWithExpected( + // absl::StrCat("FloatFieldNegativeZero", name_suffix), REQUIRED, + // absl::StrCat("optional_float: -0", suffix), + // "" /* implicit presence, so zero means unset*/); + // https://protobuf.dev/reference/protobuf/textformat-spec/#literals says + // ".123", "-.123", ".123e2" are a valid float literal. + RunValidTextFormatTest(absl::StrCat("FloatFieldNoLeadingZero", name_suffix), + REQUIRED, + absl::StrCat("optional_float: .123", suffix)); + RunValidTextFormatTest( + absl::StrCat("FloatFieldNegativeNoLeadingZero", name_suffix), REQUIRED, + absl::StrCat("optional_float: -.123", suffix)); + RunValidTextFormatTest( + absl::StrCat("FloatFieldNoLeadingZeroWithExponent", name_suffix), + REQUIRED, absl::StrCat("optional_float: .123e2", suffix)); + } + // https://protobuf.dev/reference/protobuf/textformat-spec/#value say case + // doesn't matter for special values, test a few + for (const auto& value : std::vector{"nan", "NaN", "nAn"}) { + RunValidTextFormatTest(absl::StrCat("FloatFieldValue_", value), REQUIRED, + absl::StrCat("optional_float: ", value)); + } + for (const auto& value : std::vector{ + "inf", "infinity", "INF", "INFINITY", "iNF", "inFINITY"}) { + RunValidTextFormatTest(absl::StrCat("FloatFieldValue_Pos", value), REQUIRED, + absl::StrCat("optional_float: ", value)); + RunValidTextFormatTest(absl::StrCat("FloatFieldValue_Neg", value), REQUIRED, + absl::StrCat("optional_float: -", value)); + } + // https://protobuf.dev/reference/protobuf/textformat-spec/#numeric and + // https://protobuf.dev/reference/protobuf/textformat-spec/#value says + // hex or octal float literals are invalid. + ExpectParseFailure("FloatFieldNoHex", REQUIRED, "optional_float: 0x1"); + ExpectParseFailure("FloatFieldNoNegativeHex", REQUIRED, + "optional_float: -0x1"); + ExpectParseFailure("FloatFieldNoOctal", REQUIRED, "optional_float: 012"); + ExpectParseFailure("FloatFieldNoNegativeOctal", REQUIRED, + "optional_float: -012"); // String literals x {Strings, Bytes} for (const auto& field_type : std::vector{"String", "Bytes"}) { diff --git a/conformance/text_format_failure_list_java.txt b/conformance/text_format_failure_list_java.txt index 8dea2862cd..a035453944 100644 --- a/conformance/text_format_failure_list_java.txt +++ b/conformance/text_format_failure_list_java.txt @@ -1,17 +1,20 @@ -Recommended.Proto3.ProtobufInput.GroupUnknownFields_Drop.TextFormatOutput -Recommended.Proto3.ProtobufInput.MessageUnknownFields_Drop.TextFormatOutput -Recommended.Proto3.ProtobufInput.RepeatedUnknownFields_Drop.TextFormatOutput -Recommended.Proto3.ProtobufInput.ScalarUnknownFields_Drop.TextFormatOutput -Required.Proto3.TextFormatInput.AnyField.ProtobufOutput -Required.Proto3.TextFormatInput.AnyField.TextFormatOutput Recommended.Editions_Proto3.ProtobufInput.GroupUnknownFields_Drop.TextFormatOutput Recommended.Editions_Proto3.ProtobufInput.MessageUnknownFields_Drop.TextFormatOutput Recommended.Editions_Proto3.ProtobufInput.RepeatedUnknownFields_Drop.TextFormatOutput Recommended.Editions_Proto3.ProtobufInput.ScalarUnknownFields_Drop.TextFormatOutput +Recommended.Proto3.ProtobufInput.GroupUnknownFields_Drop.TextFormatOutput +Recommended.Proto3.ProtobufInput.MessageUnknownFields_Drop.TextFormatOutput +Recommended.Proto3.ProtobufInput.RepeatedUnknownFields_Drop.TextFormatOutput +Recommended.Proto3.ProtobufInput.ScalarUnknownFields_Drop.TextFormatOutput Required.Editions_Proto3.TextFormatInput.AnyField.ProtobufOutput Required.Editions_Proto3.TextFormatInput.AnyField.TextFormatOutput - +Required.Editions_Proto3.TextFormatInput.FloatFieldNoNegativeOctal +Required.Editions_Proto3.TextFormatInput.FloatFieldNoOctal +Required.Editions_Proto3.TextFormatInput.StringFieldBadUTF8Hex +Required.Editions_Proto3.TextFormatInput.StringFieldBadUTF8Octal +Required.Proto3.TextFormatInput.AnyField.ProtobufOutput +Required.Proto3.TextFormatInput.AnyField.TextFormatOutput +Required.Proto3.TextFormatInput.FloatFieldNoNegativeOctal +Required.Proto3.TextFormatInput.FloatFieldNoOctal Required.Proto3.TextFormatInput.StringFieldBadUTF8Hex Required.Proto3.TextFormatInput.StringFieldBadUTF8Octal -Required.Editions_Proto3.TextFormatInput.StringFieldBadUTF8Hex -Required.Editions_Proto3.TextFormatInput.StringFieldBadUTF8Octal \ No newline at end of file diff --git a/conformance/text_format_failure_list_python.txt b/conformance/text_format_failure_list_python.txt index 6754aa4c4b..903160103f 100644 --- a/conformance/text_format_failure_list_python.txt +++ b/conformance/text_format_failure_list_python.txt @@ -1,15 +1,79 @@ # This is the list of text format conformance tests that are known to fail right # now. # TODO: These should be fixed. -Required.Proto3.TextFormatInput.FloatFieldMaxValue.ProtobufOutput -Required.Proto3.TextFormatInput.FloatFieldMaxValue.TextFormatOutput -Required.Proto3.TextFormatInput.StringLiteralBasicEscapesBytes.ProtobufOutput -Required.Proto3.TextFormatInput.StringLiteralBasicEscapesBytes.TextFormatOutput -Required.Proto3.TextFormatInput.StringLiteralBasicEscapesString.ProtobufOutput -Required.Proto3.TextFormatInput.StringLiteralBasicEscapesString.TextFormatOutput +Required.Editions_Proto3.TextFormatInput.FloatField_F.ProtobufOutput +Required.Editions_Proto3.TextFormatInput.FloatField_F.TextFormatOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldLargerThanInt64_F.ProtobufOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldLargerThanInt64_F.TextFormatOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldLargerThanUint64_F.ProtobufOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldLargerThanUint64_F.TextFormatOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldMaxValue_f.ProtobufOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldMaxValue_F.ProtobufOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldMaxValue_f.TextFormatOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldMaxValue_F.TextFormatOutput Required.Editions_Proto3.TextFormatInput.FloatFieldMaxValue.ProtobufOutput Required.Editions_Proto3.TextFormatInput.FloatFieldMaxValue.TextFormatOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldMinValue_F.ProtobufOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldMinValue_F.TextFormatOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldNegative_F.ProtobufOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldNegative_F.TextFormatOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldNegativeNoLeadingZero_F.ProtobufOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldNegativeNoLeadingZero_F.TextFormatOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldNoLeadingZero_F.ProtobufOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldNoLeadingZero_F.TextFormatOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldNoLeadingZeroWithExponent_F.ProtobufOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldNoLeadingZeroWithExponent_F.TextFormatOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldNoNegativeOctal +Required.Editions_Proto3.TextFormatInput.FloatFieldNoOctal +Required.Editions_Proto3.TextFormatInput.FloatFieldTooLarge_F.ProtobufOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldTooLarge_F.TextFormatOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldTooSmall_F.ProtobufOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldTooSmall_F.TextFormatOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldWithInt32Max_F.ProtobufOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldWithInt32Max_F.TextFormatOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldWithVeryPreciseNumber_F.ProtobufOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldWithVeryPreciseNumber_F.TextFormatOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldZero_F.ProtobufOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldZero_F.TextFormatOutput Required.Editions_Proto3.TextFormatInput.StringLiteralBasicEscapesBytes.ProtobufOutput Required.Editions_Proto3.TextFormatInput.StringLiteralBasicEscapesBytes.TextFormatOutput Required.Editions_Proto3.TextFormatInput.StringLiteralBasicEscapesString.ProtobufOutput Required.Editions_Proto3.TextFormatInput.StringLiteralBasicEscapesString.TextFormatOutput +Required.Proto3.TextFormatInput.FloatField_F.ProtobufOutput +Required.Proto3.TextFormatInput.FloatField_F.TextFormatOutput +Required.Proto3.TextFormatInput.FloatFieldLargerThanInt64_F.ProtobufOutput +Required.Proto3.TextFormatInput.FloatFieldLargerThanInt64_F.TextFormatOutput +Required.Proto3.TextFormatInput.FloatFieldLargerThanUint64_F.ProtobufOutput +Required.Proto3.TextFormatInput.FloatFieldLargerThanUint64_F.TextFormatOutput +Required.Proto3.TextFormatInput.FloatFieldMaxValue_f.ProtobufOutput +Required.Proto3.TextFormatInput.FloatFieldMaxValue_F.ProtobufOutput +Required.Proto3.TextFormatInput.FloatFieldMaxValue_f.TextFormatOutput +Required.Proto3.TextFormatInput.FloatFieldMaxValue_F.TextFormatOutput +Required.Proto3.TextFormatInput.FloatFieldMaxValue.ProtobufOutput +Required.Proto3.TextFormatInput.FloatFieldMaxValue.TextFormatOutput +Required.Proto3.TextFormatInput.FloatFieldMinValue_F.ProtobufOutput +Required.Proto3.TextFormatInput.FloatFieldMinValue_F.TextFormatOutput +Required.Proto3.TextFormatInput.FloatFieldNegative_F.ProtobufOutput +Required.Proto3.TextFormatInput.FloatFieldNegative_F.TextFormatOutput +Required.Proto3.TextFormatInput.FloatFieldNegativeNoLeadingZero_F.ProtobufOutput +Required.Proto3.TextFormatInput.FloatFieldNegativeNoLeadingZero_F.TextFormatOutput +Required.Proto3.TextFormatInput.FloatFieldNoLeadingZero_F.ProtobufOutput +Required.Proto3.TextFormatInput.FloatFieldNoLeadingZero_F.TextFormatOutput +Required.Proto3.TextFormatInput.FloatFieldNoLeadingZeroWithExponent_F.ProtobufOutput +Required.Proto3.TextFormatInput.FloatFieldNoLeadingZeroWithExponent_F.TextFormatOutput +Required.Proto3.TextFormatInput.FloatFieldNoNegativeOctal +Required.Proto3.TextFormatInput.FloatFieldNoOctal +Required.Proto3.TextFormatInput.FloatFieldTooLarge_F.ProtobufOutput +Required.Proto3.TextFormatInput.FloatFieldTooLarge_F.TextFormatOutput +Required.Proto3.TextFormatInput.FloatFieldTooSmall_F.ProtobufOutput +Required.Proto3.TextFormatInput.FloatFieldTooSmall_F.TextFormatOutput +Required.Proto3.TextFormatInput.FloatFieldWithInt32Max_F.ProtobufOutput +Required.Proto3.TextFormatInput.FloatFieldWithInt32Max_F.TextFormatOutput +Required.Proto3.TextFormatInput.FloatFieldWithVeryPreciseNumber_F.ProtobufOutput +Required.Proto3.TextFormatInput.FloatFieldWithVeryPreciseNumber_F.TextFormatOutput +Required.Proto3.TextFormatInput.FloatFieldZero_F.ProtobufOutput +Required.Proto3.TextFormatInput.FloatFieldZero_F.TextFormatOutput +Required.Proto3.TextFormatInput.StringLiteralBasicEscapesBytes.ProtobufOutput +Required.Proto3.TextFormatInput.StringLiteralBasicEscapesBytes.TextFormatOutput +Required.Proto3.TextFormatInput.StringLiteralBasicEscapesString.ProtobufOutput +Required.Proto3.TextFormatInput.StringLiteralBasicEscapesString.TextFormatOutput diff --git a/conformance/text_format_failure_list_python_cpp.txt b/conformance/text_format_failure_list_python_cpp.txt index 037ca00e13..870f686fcb 100644 --- a/conformance/text_format_failure_list_python_cpp.txt +++ b/conformance/text_format_failure_list_python_cpp.txt @@ -1,8 +1,68 @@ -Required.Proto3.TextFormatInput.StringLiteralBasicEscapesBytes.ProtobufOutput -Required.Proto3.TextFormatInput.StringLiteralBasicEscapesBytes.TextFormatOutput -Required.Proto3.TextFormatInput.StringLiteralBasicEscapesString.ProtobufOutput -Required.Proto3.TextFormatInput.StringLiteralBasicEscapesString.TextFormatOutput +Required.Editions_Proto3.TextFormatInput.FloatField_F.ProtobufOutput +Required.Editions_Proto3.TextFormatInput.FloatField_F.TextFormatOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldLargerThanInt64_F.ProtobufOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldLargerThanInt64_F.TextFormatOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldLargerThanUint64_F.ProtobufOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldLargerThanUint64_F.TextFormatOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldMaxValue_F.ProtobufOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldMaxValue_F.TextFormatOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldMinValue_F.ProtobufOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldMinValue_F.TextFormatOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldNegative_F.ProtobufOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldNegative_F.TextFormatOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldNegativeNoLeadingZero_F.ProtobufOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldNegativeNoLeadingZero_F.TextFormatOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldNoLeadingZero_F.ProtobufOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldNoLeadingZero_F.TextFormatOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldNoLeadingZeroWithExponent_F.ProtobufOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldNoLeadingZeroWithExponent_F.TextFormatOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldNoNegativeOctal +Required.Editions_Proto3.TextFormatInput.FloatFieldNoOctal +Required.Editions_Proto3.TextFormatInput.FloatFieldTooLarge_F.ProtobufOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldTooLarge_F.TextFormatOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldTooSmall_F.ProtobufOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldTooSmall_F.TextFormatOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldWithInt32Max_F.ProtobufOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldWithInt32Max_F.TextFormatOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldWithVeryPreciseNumber_F.ProtobufOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldWithVeryPreciseNumber_F.TextFormatOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldZero_F.ProtobufOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldZero_F.TextFormatOutput Required.Editions_Proto3.TextFormatInput.StringLiteralBasicEscapesBytes.ProtobufOutput Required.Editions_Proto3.TextFormatInput.StringLiteralBasicEscapesBytes.TextFormatOutput Required.Editions_Proto3.TextFormatInput.StringLiteralBasicEscapesString.ProtobufOutput Required.Editions_Proto3.TextFormatInput.StringLiteralBasicEscapesString.TextFormatOutput +Required.Proto3.TextFormatInput.FloatField_F.ProtobufOutput +Required.Proto3.TextFormatInput.FloatField_F.TextFormatOutput +Required.Proto3.TextFormatInput.FloatFieldLargerThanInt64_F.ProtobufOutput +Required.Proto3.TextFormatInput.FloatFieldLargerThanInt64_F.TextFormatOutput +Required.Proto3.TextFormatInput.FloatFieldLargerThanUint64_F.ProtobufOutput +Required.Proto3.TextFormatInput.FloatFieldLargerThanUint64_F.TextFormatOutput +Required.Proto3.TextFormatInput.FloatFieldMaxValue_F.ProtobufOutput +Required.Proto3.TextFormatInput.FloatFieldMaxValue_F.TextFormatOutput +Required.Proto3.TextFormatInput.FloatFieldMinValue_F.ProtobufOutput +Required.Proto3.TextFormatInput.FloatFieldMinValue_F.TextFormatOutput +Required.Proto3.TextFormatInput.FloatFieldNegative_F.ProtobufOutput +Required.Proto3.TextFormatInput.FloatFieldNegative_F.TextFormatOutput +Required.Proto3.TextFormatInput.FloatFieldNegativeNoLeadingZero_F.ProtobufOutput +Required.Proto3.TextFormatInput.FloatFieldNegativeNoLeadingZero_F.TextFormatOutput +Required.Proto3.TextFormatInput.FloatFieldNoLeadingZero_F.ProtobufOutput +Required.Proto3.TextFormatInput.FloatFieldNoLeadingZero_F.TextFormatOutput +Required.Proto3.TextFormatInput.FloatFieldNoLeadingZeroWithExponent_F.ProtobufOutput +Required.Proto3.TextFormatInput.FloatFieldNoLeadingZeroWithExponent_F.TextFormatOutput +Required.Proto3.TextFormatInput.FloatFieldNoNegativeOctal +Required.Proto3.TextFormatInput.FloatFieldNoOctal +Required.Proto3.TextFormatInput.FloatFieldTooLarge_F.ProtobufOutput +Required.Proto3.TextFormatInput.FloatFieldTooLarge_F.TextFormatOutput +Required.Proto3.TextFormatInput.FloatFieldTooSmall_F.ProtobufOutput +Required.Proto3.TextFormatInput.FloatFieldTooSmall_F.TextFormatOutput +Required.Proto3.TextFormatInput.FloatFieldWithInt32Max_F.ProtobufOutput +Required.Proto3.TextFormatInput.FloatFieldWithInt32Max_F.TextFormatOutput +Required.Proto3.TextFormatInput.FloatFieldWithVeryPreciseNumber_F.ProtobufOutput +Required.Proto3.TextFormatInput.FloatFieldWithVeryPreciseNumber_F.TextFormatOutput +Required.Proto3.TextFormatInput.FloatFieldZero_F.ProtobufOutput +Required.Proto3.TextFormatInput.FloatFieldZero_F.TextFormatOutput +Required.Proto3.TextFormatInput.StringLiteralBasicEscapesBytes.ProtobufOutput +Required.Proto3.TextFormatInput.StringLiteralBasicEscapesBytes.TextFormatOutput +Required.Proto3.TextFormatInput.StringLiteralBasicEscapesString.ProtobufOutput +Required.Proto3.TextFormatInput.StringLiteralBasicEscapesString.TextFormatOutput diff --git a/conformance/text_format_failure_list_python_upb.txt b/conformance/text_format_failure_list_python_upb.txt index 377998b448..a4a6fc69c0 100644 --- a/conformance/text_format_failure_list_python_upb.txt +++ b/conformance/text_format_failure_list_python_upb.txt @@ -1,11 +1,71 @@ # This is the list of text format conformance tests that are known to fail right # now. # TODO: These should be fixed. -Required.Proto3.TextFormatInput.StringLiteralBasicEscapesBytes.ProtobufOutput -Required.Proto3.TextFormatInput.StringLiteralBasicEscapesBytes.TextFormatOutput -Required.Proto3.TextFormatInput.StringLiteralBasicEscapesString.ProtobufOutput -Required.Proto3.TextFormatInput.StringLiteralBasicEscapesString.TextFormatOutput +Required.Editions_Proto3.TextFormatInput.FloatField_F.ProtobufOutput +Required.Editions_Proto3.TextFormatInput.FloatField_F.TextFormatOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldLargerThanInt64_F.ProtobufOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldLargerThanInt64_F.TextFormatOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldLargerThanUint64_F.ProtobufOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldLargerThanUint64_F.TextFormatOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldMaxValue_F.ProtobufOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldMaxValue_F.TextFormatOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldMinValue_F.ProtobufOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldMinValue_F.TextFormatOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldNegative_F.ProtobufOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldNegative_F.TextFormatOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldNegativeNoLeadingZero_F.ProtobufOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldNegativeNoLeadingZero_F.TextFormatOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldNoLeadingZero_F.ProtobufOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldNoLeadingZero_F.TextFormatOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldNoLeadingZeroWithExponent_F.ProtobufOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldNoLeadingZeroWithExponent_F.TextFormatOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldNoNegativeOctal +Required.Editions_Proto3.TextFormatInput.FloatFieldNoOctal +Required.Editions_Proto3.TextFormatInput.FloatFieldTooLarge_F.ProtobufOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldTooLarge_F.TextFormatOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldTooSmall_F.ProtobufOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldTooSmall_F.TextFormatOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldWithInt32Max_F.ProtobufOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldWithInt32Max_F.TextFormatOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldWithVeryPreciseNumber_F.ProtobufOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldWithVeryPreciseNumber_F.TextFormatOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldZero_F.ProtobufOutput +Required.Editions_Proto3.TextFormatInput.FloatFieldZero_F.TextFormatOutput Required.Editions_Proto3.TextFormatInput.StringLiteralBasicEscapesBytes.ProtobufOutput Required.Editions_Proto3.TextFormatInput.StringLiteralBasicEscapesBytes.TextFormatOutput Required.Editions_Proto3.TextFormatInput.StringLiteralBasicEscapesString.ProtobufOutput Required.Editions_Proto3.TextFormatInput.StringLiteralBasicEscapesString.TextFormatOutput +Required.Proto3.TextFormatInput.FloatField_F.ProtobufOutput +Required.Proto3.TextFormatInput.FloatField_F.TextFormatOutput +Required.Proto3.TextFormatInput.FloatFieldLargerThanInt64_F.ProtobufOutput +Required.Proto3.TextFormatInput.FloatFieldLargerThanInt64_F.TextFormatOutput +Required.Proto3.TextFormatInput.FloatFieldLargerThanUint64_F.ProtobufOutput +Required.Proto3.TextFormatInput.FloatFieldLargerThanUint64_F.TextFormatOutput +Required.Proto3.TextFormatInput.FloatFieldMaxValue_F.ProtobufOutput +Required.Proto3.TextFormatInput.FloatFieldMaxValue_F.TextFormatOutput +Required.Proto3.TextFormatInput.FloatFieldMinValue_F.ProtobufOutput +Required.Proto3.TextFormatInput.FloatFieldMinValue_F.TextFormatOutput +Required.Proto3.TextFormatInput.FloatFieldNegative_F.ProtobufOutput +Required.Proto3.TextFormatInput.FloatFieldNegative_F.TextFormatOutput +Required.Proto3.TextFormatInput.FloatFieldNegativeNoLeadingZero_F.ProtobufOutput +Required.Proto3.TextFormatInput.FloatFieldNegativeNoLeadingZero_F.TextFormatOutput +Required.Proto3.TextFormatInput.FloatFieldNoLeadingZero_F.ProtobufOutput +Required.Proto3.TextFormatInput.FloatFieldNoLeadingZero_F.TextFormatOutput +Required.Proto3.TextFormatInput.FloatFieldNoLeadingZeroWithExponent_F.ProtobufOutput +Required.Proto3.TextFormatInput.FloatFieldNoLeadingZeroWithExponent_F.TextFormatOutput +Required.Proto3.TextFormatInput.FloatFieldNoNegativeOctal +Required.Proto3.TextFormatInput.FloatFieldNoOctal +Required.Proto3.TextFormatInput.FloatFieldTooLarge_F.ProtobufOutput +Required.Proto3.TextFormatInput.FloatFieldTooLarge_F.TextFormatOutput +Required.Proto3.TextFormatInput.FloatFieldTooSmall_F.ProtobufOutput +Required.Proto3.TextFormatInput.FloatFieldTooSmall_F.TextFormatOutput +Required.Proto3.TextFormatInput.FloatFieldWithInt32Max_F.ProtobufOutput +Required.Proto3.TextFormatInput.FloatFieldWithInt32Max_F.TextFormatOutput +Required.Proto3.TextFormatInput.FloatFieldWithVeryPreciseNumber_F.ProtobufOutput +Required.Proto3.TextFormatInput.FloatFieldWithVeryPreciseNumber_F.TextFormatOutput +Required.Proto3.TextFormatInput.FloatFieldZero_F.ProtobufOutput +Required.Proto3.TextFormatInput.FloatFieldZero_F.TextFormatOutput +Required.Proto3.TextFormatInput.StringLiteralBasicEscapesBytes.ProtobufOutput +Required.Proto3.TextFormatInput.StringLiteralBasicEscapesBytes.TextFormatOutput +Required.Proto3.TextFormatInput.StringLiteralBasicEscapesString.ProtobufOutput +Required.Proto3.TextFormatInput.StringLiteralBasicEscapesString.TextFormatOutput