commit
f963fe5669
144 changed files with 22959 additions and 21387 deletions
@ -0,0 +1,99 @@ |
||||
"""Validate the YAML files for GitHub Actions workflows. |
||||
|
||||
TODO: b/359303016 - convert to use unittest |
||||
""" |
||||
|
||||
import os |
||||
import re |
||||
|
||||
import yaml |
||||
|
||||
# Ensure every job is in the list of blocking jobs. |
||||
with open( |
||||
os.path.join(os.path.dirname(__file__), '../workflows/test_runner.yml'), 'r' |
||||
) as f: |
||||
data = yaml.safe_load(f) |
||||
|
||||
# List of all YAML files that are used by jobs in the test_runner.yml file. |
||||
yaml_files = [] |
||||
|
||||
# Get a list of all jobs in the test_runner, except for the blocking job and |
||||
# the tag removal job, which is not always run. |
||||
all_jobs = list(data['jobs'].keys()) |
||||
all_jobs.remove('all-blocking-tests') |
||||
all_jobs.remove('remove-tag') |
||||
|
||||
passed = True |
||||
blocking_jobs = data['jobs']['all-blocking-tests']['needs'] |
||||
|
||||
for job in all_jobs: |
||||
if 'uses' in data['jobs'][job]: |
||||
yaml_files.append( |
||||
os.path.join( |
||||
os.path.dirname(__file__), |
||||
'../workflows', |
||||
os.path.basename(data['jobs'][job]['uses']), |
||||
) |
||||
) |
||||
if job not in blocking_jobs: |
||||
passed = False |
||||
raise ValueError('Job %s is not in the list of blocking jobs.' % job) |
||||
|
||||
print('PASSED: All jobs are in the list of blocking jobs.') |
||||
|
||||
# Ensure every job with a continuous prefix conditions every step on whether we |
||||
# are in a continuous run. |
||||
for file in yaml_files: |
||||
with open(file, 'r') as f: |
||||
data = yaml.safe_load(f) |
||||
jobs = data['jobs'] |
||||
for job in jobs: |
||||
if 'steps' not in jobs[job]: |
||||
continue |
||||
continuous_condition = 'inputs.continuous-prefix' in jobs[job]['name'] |
||||
steps = jobs[job]['steps'] |
||||
for step in steps: |
||||
if continuous_condition and 'continuous-run' not in step.get('if', ''): |
||||
raise ValueError( |
||||
'Step %s in job %s does not check the continuous-run condition' |
||||
% (step['name'], job) |
||||
) |
||||
if not continuous_condition and 'continuous-run' in step.get('if', ''): |
||||
raise ValueError( |
||||
'Step %s in job %s checks the continuous-run condition but ' |
||||
'the job does not contain the continuous-prefix' |
||||
% (step['name'], job) |
||||
) |
||||
print('PASSED: All steps in all jobs check the continuous-run condition.') |
||||
|
||||
# Check to make sure the list of included branches matches the list of excluded |
||||
# branches in staleness_check.yml. |
||||
with open( |
||||
os.path.join(os.path.dirname(__file__), '../workflows/staleness_check.yml'), |
||||
'r', |
||||
) as f: |
||||
regex_pattern = r"'(\d+\.x)'" |
||||
data = yaml.safe_load(f) |
||||
matrix = data['jobs']['test']['strategy']['matrix'] |
||||
included_branches = matrix['branch'] |
||||
# Main should be included in all test runs |
||||
included_branches.remove('main') |
||||
excludes = matrix['exclude'] |
||||
for entry in excludes: |
||||
match = re.search(regex_pattern, entry['branch']) |
||||
branch = match.group(1) |
||||
if branch not in included_branches: |
||||
raise ValueError( |
||||
'Branch %s is excluded for presubmit runs but is not in the list of' |
||||
' matrix branches in staleness_check.yml.' % branch |
||||
) |
||||
included_branches.remove(branch) |
||||
if included_branches: |
||||
raise ValueError( |
||||
'Branches %s are in the list of matrix branches but do not get excluded' |
||||
' for presubmit runs in staleness_check.yml.' % included_branches |
||||
) |
||||
print( |
||||
'PASSED: The list of included branches matches the list of excluded' |
||||
' branches in staleness_check.yml.' |
||||
) |
@ -0,0 +1,9 @@ |
||||
#!/bin/bash |
||||
|
||||
source googletest.sh || exit 1 |
||||
|
||||
script=${TEST_SRCDIR}/google3/third_party/protobuf/github/validate_yaml |
||||
|
||||
$script || die "Failed to execute $script" |
||||
|
||||
echo "PASS" |
@ -0,0 +1,25 @@ |
||||
name: Validate YAML |
||||
|
||||
on: |
||||
workflow_call: |
||||
inputs: |
||||
safe-checkout: |
||||
required: true |
||||
description: "The SHA key for the commit we want to run over" |
||||
type: string |
||||
|
||||
permissions: |
||||
contents: read |
||||
|
||||
jobs: |
||||
validate-yaml: |
||||
name: Validate YAML |
||||
runs-on: ubuntu-latest |
||||
steps: |
||||
- name: Checkout pending changes |
||||
uses: protocolbuffers/protobuf-ci/checkout@v3 |
||||
with: |
||||
ref: ${{ inputs.safe-checkout }} |
||||
- name: Run python validation script |
||||
run: | |
||||
python .github/scripts/validate_yaml.py |
@ -0,0 +1,87 @@ |
||||
#include "failure_list_trie_node.h" |
||||
|
||||
#include <memory> |
||||
#include <string> |
||||
|
||||
#include "absl/status/status.h" |
||||
#include "absl/strings/match.h" |
||||
#include "absl/strings/str_cat.h" |
||||
#include "absl/strings/str_format.h" |
||||
#include "absl/strings/str_split.h" |
||||
#include "absl/strings/string_view.h" |
||||
#include "absl/types/optional.h" |
||||
|
||||
namespace google { |
||||
namespace protobuf { |
||||
|
||||
absl::Status FailureListTrieNode::Insert(absl::string_view test_name) { |
||||
if (auto result = WalkDownMatch(test_name); result.has_value()) { |
||||
return absl::AlreadyExistsError( |
||||
absl::StrFormat("Test name %s already exists in the trie FROM %s", |
||||
test_name, result.value())); |
||||
} |
||||
|
||||
auto sections = absl::StrSplit(test_name, '.'); |
||||
for (auto section : sections) { |
||||
if (absl::StrContains(section, '*') && section.length() > 1) { |
||||
return absl::InvalidArgumentError(absl::StrFormat( |
||||
"Test name %s contains invalid wildcard(s) (wildcards " |
||||
"must span the whole of a section)", |
||||
test_name)); |
||||
} |
||||
} |
||||
InsertImpl(test_name); |
||||
return absl::OkStatus(); |
||||
} |
||||
|
||||
void FailureListTrieNode::InsertImpl(absl::string_view test_name) { |
||||
absl::string_view section = test_name.substr(0, test_name.find('.')); |
||||
|
||||
// Extracted last section -> no more '.' -> test_name_copy will be equal to
|
||||
// section
|
||||
if (test_name == section) { |
||||
children_.push_back(std::make_unique<FailureListTrieNode>(section)); |
||||
return; |
||||
} |
||||
test_name = test_name.substr(section.length() + 1); |
||||
for (auto& child : children_) { |
||||
if (child->data_ == section) { |
||||
return child->InsertImpl(test_name); |
||||
} |
||||
} |
||||
// No match
|
||||
children_.push_back(std::make_unique<FailureListTrieNode>(section)); |
||||
children_.back()->InsertImpl(test_name); |
||||
} |
||||
|
||||
absl::optional<std::string> FailureListTrieNode::WalkDownMatch( |
||||
absl::string_view test_name) { |
||||
absl::string_view section = test_name.substr(0, test_name.find('.')); |
||||
// test_name cannot be overridden
|
||||
absl::string_view to_match; |
||||
if (section != test_name) { |
||||
to_match = test_name.substr(section.length() + 1); |
||||
} |
||||
|
||||
for (auto& child : children_) { |
||||
if (child->data_ == section || child->data_ == "*" || section == "*") { |
||||
absl::string_view appended = child->data_; |
||||
// Extracted last section -> no more '.' -> test_name will be
|
||||
// equal to section
|
||||
if (test_name == section) { |
||||
// Must match all the way to the bottom of the tree
|
||||
if (child->children_.empty()) { |
||||
return std::string(appended); |
||||
} |
||||
} else { |
||||
if (auto result = child->WalkDownMatch(to_match); result.has_value()) { |
||||
return absl::StrCat(appended, ".", result.value()); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
// No match
|
||||
return absl::nullopt; |
||||
} |
||||
} // namespace protobuf
|
||||
} // namespace google
|
@ -0,0 +1,58 @@ |
||||
#ifndef GOOGLE_PROTOBUF_CONFORMANCE_FAILURE_LIST_TRIE_NODE_H__ |
||||
#define GOOGLE_PROTOBUF_CONFORMANCE_FAILURE_LIST_TRIE_NODE_H__ |
||||
|
||||
#include <memory> |
||||
#include <string> |
||||
#include <vector> |
||||
|
||||
#include "absl/status/status.h" |
||||
#include "absl/strings/string_view.h" |
||||
#include "absl/types/optional.h" |
||||
|
||||
namespace google { |
||||
namespace protobuf { |
||||
|
||||
// Each node represents a section of a test name (divided by '.'). One can
|
||||
// imagine them as prefixes to search for a match. Once we hit a prefix that
|
||||
// doesn't match, we can stop searching. Wildcards matching to any set of
|
||||
// characters are supported.
|
||||
//
|
||||
// This is not a general trie implementation
|
||||
// as pointed out by its name. It is only meant to only be used for conformance
|
||||
// failure lists.
|
||||
//
|
||||
// Example of what the trie might look like in practice:
|
||||
//
|
||||
// (root)
|
||||
// / \
|
||||
// "Recommended" "Required"
|
||||
// / \
|
||||
// "Proto2" "*"
|
||||
// / \ \
|
||||
// "JsonInput" "ProtobufInput" "JsonInput"
|
||||
//
|
||||
//
|
||||
class FailureListTrieNode { |
||||
public: |
||||
FailureListTrieNode() : data_("") {} |
||||
explicit FailureListTrieNode(absl::string_view data) : data_(data) {} |
||||
|
||||
// Will attempt to insert a test name into the trie returning
|
||||
// absl::StatusCode::kAlreadyExists if the test name already exists or
|
||||
// absl::StatusCode::kInvalidArgument if the test name contains invalid
|
||||
// wildcards; otherwise, insertion is successful.
|
||||
absl::Status Insert(absl::string_view test_name); |
||||
|
||||
// Returns what it matched to if it matched anything, otherwise returns
|
||||
// absl::nullopt
|
||||
absl::optional<std::string> WalkDownMatch(absl::string_view test_name); |
||||
|
||||
private: |
||||
absl::string_view data_; |
||||
std::vector<std::unique_ptr<FailureListTrieNode>> children_; |
||||
void InsertImpl(absl::string_view test_name); |
||||
}; |
||||
} // namespace protobuf
|
||||
} // namespace google
|
||||
|
||||
#endif // GOOGLE_PROTOBUF_CONFORMANCE_FAILURE_LIST_TRIE_NODE_H__
|
@ -0,0 +1,125 @@ |
||||
#include "failure_list_trie_node.h" |
||||
|
||||
#include <memory> |
||||
|
||||
#include <gmock/gmock.h> |
||||
#include <gtest/gtest.h> |
||||
#include "absl/status/status.h" |
||||
#include "absl/status/statusor.h" |
||||
#include "absl/strings/str_cat.h" |
||||
#include "absl/types/optional.h" |
||||
|
||||
using ::testing::Eq; |
||||
using ::testing::HasSubstr; |
||||
using ::testing::Optional; |
||||
|
||||
absl::Status GetStatus(const absl::Status& s) { return s; } |
||||
template <typename T> |
||||
absl::Status GetStatus(const absl::StatusOr<T>& s) { |
||||
return s.status(); |
||||
} |
||||
MATCHER_P2(StatusIs, status, message, |
||||
absl::StrCat(".status() is ", testing::PrintToString(status))) { |
||||
return GetStatus(arg).code() == status && |
||||
testing::ExplainMatchResult(message, GetStatus(arg).message(), |
||||
result_listener); |
||||
} |
||||
#define EXPECT_OK(x) EXPECT_THAT(x, StatusIs(absl::StatusCode::kOk, testing::_)) |
||||
#define ASSERT_OK(x) ASSERT_THAT(x, StatusIs(absl::StatusCode::kOk, testing::_)) |
||||
|
||||
namespace google { |
||||
namespace protobuf { |
||||
|
||||
TEST(FailureListTrieTest, WalkDownMatchWithoutWildcard) { |
||||
auto root_ = std::make_unique<google::protobuf::FailureListTrieNode>("dummy"); |
||||
ASSERT_OK(root_->Insert("Recommended.Proto2.ProtobufInput.World")); |
||||
|
||||
EXPECT_THAT(root_->WalkDownMatch("Recommended.Proto2.ProtobufInput.World"), |
||||
Optional(Eq("Recommended.Proto2.ProtobufInput.World"))); |
||||
} |
||||
|
||||
TEST(FailureListTrieTest, WalkDownMatchWithoutWildcardNoMatch) { |
||||
auto root_ = std::make_unique<google::protobuf::FailureListTrieNode>("dummy"); |
||||
|
||||
ASSERT_OK(root_->Insert("Recommended.Proto2.JsonInput.World")); |
||||
|
||||
EXPECT_EQ(root_->WalkDownMatch("Recommended.Proto2.TextFormatInput"), |
||||
absl::nullopt); |
||||
} |
||||
|
||||
TEST(FailureListTrieTest, WalkDownMatchWithWildcard) { |
||||
auto root_ = std::make_unique<google::protobuf::FailureListTrieNode>("dummy"); |
||||
ASSERT_OK(root_->Insert("Recommended.*.ProtobufInput.World")); |
||||
|
||||
EXPECT_THAT(root_->WalkDownMatch("Recommended.Proto2.ProtobufInput.World"), |
||||
Optional(Eq("Recommended.*.ProtobufInput.World"))); |
||||
} |
||||
|
||||
TEST(FailureListTrieTest, WalkDownMatchWithWildcardNoMatch) { |
||||
auto root_ = std::make_unique<google::protobuf::FailureListTrieNode>("dummy"); |
||||
ASSERT_OK(root_->Insert("Recommended.*.ProtobufInput.World")); |
||||
|
||||
EXPECT_EQ(root_->WalkDownMatch("Recommended.Proto2.JsonInput.World"), |
||||
absl::nullopt); |
||||
} |
||||
|
||||
TEST(FailureListTrieTest, WalkDownMatchTestLessNumberofSectionsNoMatch) { |
||||
auto root_ = std::make_unique<google::protobuf::FailureListTrieNode>("dummy"); |
||||
ASSERT_OK(root_->Insert("Recommended.*.*.*")); |
||||
|
||||
EXPECT_EQ(root_->WalkDownMatch("Recommended.Proto2.JsonInput"), |
||||
absl::nullopt); |
||||
} |
||||
|
||||
TEST(FailureListTrieTest, WalkDownMatchTestMoreNumberOfSectionsNoMatch) { |
||||
auto root_ = std::make_unique<google::protobuf::FailureListTrieNode>("dummy"); |
||||
ASSERT_OK(root_->Insert("*")); |
||||
|
||||
EXPECT_EQ(root_->WalkDownMatch("Recommended.Proto2.JsonInput.World"), |
||||
absl::nullopt); |
||||
} |
||||
|
||||
TEST(FailureListTrieTest, WalkDownMatchTakeMoreThanOneBranch) { |
||||
auto root_ = std::make_unique<google::protobuf::FailureListTrieNode>("dummy"); |
||||
ASSERT_OK(root_->Insert( |
||||
"Recommended.*.JsonInput.TrailingCommaInAnObjectWithSpaceCommaSpace")); |
||||
ASSERT_OK(root_->Insert( |
||||
"Recommended.Proto3.*.RepeatedFieldTrailingCommaWithSpaceCommaSpace")); |
||||
|
||||
EXPECT_THAT( |
||||
root_->WalkDownMatch("Recommended.Proto3.JsonInput." |
||||
"RepeatedFieldTrailingCommaWithSpaceCommaSpace"), |
||||
Optional(Eq("Recommended.Proto3.*." |
||||
"RepeatedFieldTrailingCommaWithSpaceCommaSpace"))); |
||||
} |
||||
|
||||
TEST(FailureListTrieTest, InsertWilcardedAmbiguousMatchFails) { |
||||
auto root_ = std::make_unique<google::protobuf::FailureListTrieNode>("dummy"); |
||||
ASSERT_OK(root_->Insert( |
||||
"Recommended.*.JsonInput.TrailingCommaInAnObjectWithSpaceCommaSpace")); |
||||
|
||||
// Essentially a duplicated test name if inserted.
|
||||
EXPECT_THAT( |
||||
root_->Insert( |
||||
"Recommended.Proto3.*.TrailingCommaInAnObjectWithSpaceCommaSpace"), |
||||
StatusIs(absl::StatusCode::kAlreadyExists, HasSubstr("already exists"))); |
||||
} |
||||
|
||||
TEST(FailureListTrieTest, InsertWilcardedAmbiguousMatchMutlipleWildcardsFails) { |
||||
auto root_ = std::make_unique<google::protobuf::FailureListTrieNode>("dummy"); |
||||
ASSERT_OK(root_->Insert("Recommended.*.JsonInput.FieldMaskInvalidCharacter")); |
||||
|
||||
// Essentially a duplicated test name if inserted.
|
||||
EXPECT_THAT( |
||||
root_->Insert("Recommended.*.*.*"), |
||||
StatusIs(absl::StatusCode::kAlreadyExists, HasSubstr("already exists"))); |
||||
} |
||||
|
||||
TEST(FailureListTrieTest, InsertInvalidWildcardFails) { |
||||
auto root_ = std::make_unique<google::protobuf::FailureListTrieNode>("dummy"); |
||||
EXPECT_THAT(root_->Insert("This*Is.Not.A.Valid.Wildcard"), |
||||
StatusIs(absl::StatusCode::kInvalidArgument, |
||||
HasSubstr("invalid wildcard"))); |
||||
} |
||||
} // namespace protobuf
|
||||
} // namespace google
|
@ -1,42 +1,22 @@ |
||||
Recommended.Editions_Proto3.TextFormatInput.StringLiteralLongUnicodeEscapeSurrogateFirstOnlyBytes # Should have failed to parse, but didn't. |
||||
Recommended.Editions_Proto3.TextFormatInput.StringLiteralLongUnicodeEscapeSurrogateFirstOnlyString # Should have failed to parse, but didn't. |
||||
Recommended.Editions_Proto3.TextFormatInput.StringLiteralLongUnicodeEscapeSurrogatePairBytes # Should have failed to parse, but didn't. |
||||
Recommended.Editions_Proto3.TextFormatInput.StringLiteralLongUnicodeEscapeSurrogatePairString # Should have failed to parse, but didn't. |
||||
Recommended.Editions_Proto3.TextFormatInput.StringLiteralLongUnicodeEscapeSurrogateSecondOnlyBytes # Should have failed to parse, but didn't. |
||||
Recommended.Editions_Proto3.TextFormatInput.StringLiteralLongUnicodeEscapeSurrogateSecondOnlyString # Should have failed to parse, but didn't. |
||||
Recommended.Editions_Proto3.TextFormatInput.StringLiteralShortUnicodeEscapeSurrogateFirstOnlyBytes # Should have failed to parse, but didn't. |
||||
Recommended.Editions_Proto3.TextFormatInput.StringLiteralShortUnicodeEscapeSurrogateFirstOnlyString # Should have failed to parse, but didn't. |
||||
Recommended.Editions_Proto3.TextFormatInput.StringLiteralShortUnicodeEscapeSurrogatePairBytes # Should have failed to parse, but didn't. |
||||
Recommended.Editions_Proto3.TextFormatInput.StringLiteralShortUnicodeEscapeSurrogatePairString # Should have failed to parse, but didn't. |
||||
Recommended.Editions_Proto3.TextFormatInput.StringLiteralShortUnicodeEscapeSurrogateSecondOnlyBytes # Should have failed to parse, but didn't. |
||||
Recommended.Editions_Proto3.TextFormatInput.StringLiteralShortUnicodeEscapeSurrogateSecondOnlyString # Should have failed to parse, but didn't. |
||||
Recommended.Editions_Proto3.TextFormatInput.StringLiteralUnicodeEscapeSurrogatePairLongShortBytes # Should have failed to parse, but didn't. |
||||
Recommended.Editions_Proto3.TextFormatInput.StringLiteralUnicodeEscapeSurrogatePairLongShortString # Should have failed to parse, but didn't. |
||||
Recommended.Editions_Proto3.TextFormatInput.StringLiteralUnicodeEscapeSurrogatePairShortLongBytes # Should have failed to parse, but didn't. |
||||
Recommended.Editions_Proto3.TextFormatInput.StringLiteralUnicodeEscapeSurrogatePairShortLongString # Should have failed to parse, but didn't. |
||||
Recommended.Proto3.TextFormatInput.StringLiteralLongUnicodeEscapeSurrogateFirstOnlyBytes # Should have failed to parse, but didn't. |
||||
Recommended.Proto3.TextFormatInput.StringLiteralLongUnicodeEscapeSurrogateFirstOnlyString # Should have failed to parse, but didn't. |
||||
Recommended.Proto3.TextFormatInput.StringLiteralLongUnicodeEscapeSurrogatePairBytes # Should have failed to parse, but didn't. |
||||
Recommended.Proto3.TextFormatInput.StringLiteralLongUnicodeEscapeSurrogatePairString # Should have failed to parse, but didn't. |
||||
Recommended.Proto3.TextFormatInput.StringLiteralLongUnicodeEscapeSurrogateSecondOnlyBytes # Should have failed to parse, but didn't. |
||||
Recommended.Proto3.TextFormatInput.StringLiteralLongUnicodeEscapeSurrogateSecondOnlyString # Should have failed to parse, but didn't. |
||||
Recommended.Proto3.TextFormatInput.StringLiteralShortUnicodeEscapeSurrogateFirstOnlyBytes # Should have failed to parse, but didn't. |
||||
Recommended.Proto3.TextFormatInput.StringLiteralShortUnicodeEscapeSurrogateFirstOnlyString # Should have failed to parse, but didn't. |
||||
Recommended.Proto3.TextFormatInput.StringLiteralShortUnicodeEscapeSurrogatePairBytes # Should have failed to parse, but didn't. |
||||
Recommended.Proto3.TextFormatInput.StringLiteralShortUnicodeEscapeSurrogatePairString # Should have failed to parse, but didn't. |
||||
Recommended.Proto3.TextFormatInput.StringLiteralShortUnicodeEscapeSurrogateSecondOnlyBytes # Should have failed to parse, but didn't. |
||||
Recommended.Proto3.TextFormatInput.StringLiteralShortUnicodeEscapeSurrogateSecondOnlyString # Should have failed to parse, but didn't. |
||||
Recommended.Proto3.TextFormatInput.StringLiteralUnicodeEscapeSurrogatePairLongShortBytes # Should have failed to parse, but didn't. |
||||
Recommended.Proto3.TextFormatInput.StringLiteralUnicodeEscapeSurrogatePairLongShortString # Should have failed to parse, but didn't. |
||||
Recommended.Proto3.TextFormatInput.StringLiteralUnicodeEscapeSurrogatePairShortLongBytes # Should have failed to parse, but didn't. |
||||
Recommended.Proto3.TextFormatInput.StringLiteralUnicodeEscapeSurrogatePairShortLongString # Should have failed to parse, but didn't. |
||||
Required.Editions_Proto3.TextFormatInput.StringFieldBadUTF8Hex # Should have failed to parse, but didn't. |
||||
Required.Editions_Proto3.TextFormatInput.StringFieldBadUTF8Octal # Should have failed to parse, but didn't. |
||||
Required.Editions_Proto3.TextFormatInput.StringLiteralLongUnicodeEscapeTooLargeBytes # Should have failed to parse, but didn't. |
||||
Required.Editions_Proto3.TextFormatInput.StringLiteralLongUnicodeEscapeTooLargeString # Should have failed to parse, but didn't. |
||||
Required.Proto3.TextFormatInput.StringFieldBadUTF8Hex # Should have failed to parse, but didn't. |
||||
Required.Proto3.TextFormatInput.StringFieldBadUTF8Octal # Should have failed to parse, but didn't. |
||||
Required.Proto3.TextFormatInput.StringLiteralLongUnicodeEscapeTooLargeBytes # Should have failed to parse, but didn't. |
||||
Required.Proto3.TextFormatInput.StringLiteralLongUnicodeEscapeTooLargeString # Should have failed to parse, but didn't. |
||||
Recommended.*.TextFormatInput.StringLiteralLongUnicodeEscapeSurrogateFirstOnlyBytes # Should have failed to parse, but didn't. |
||||
Recommended.*.TextFormatInput.StringLiteralLongUnicodeEscapeSurrogateFirstOnlyString # Should have failed to parse, but didn't. |
||||
Recommended.*.TextFormatInput.StringLiteralLongUnicodeEscapeSurrogatePairBytes # Should have failed to parse, but didn't. |
||||
Recommended.*.TextFormatInput.StringLiteralLongUnicodeEscapeSurrogatePairString # Should have failed to parse, but didn't. |
||||
Recommended.*.TextFormatInput.StringLiteralLongUnicodeEscapeSurrogateSecondOnlyBytes # Should have failed to parse, but didn't. |
||||
Recommended.*.TextFormatInput.StringLiteralLongUnicodeEscapeSurrogateSecondOnlyString # Should have failed to parse, but didn't. |
||||
Recommended.*.TextFormatInput.StringLiteralShortUnicodeEscapeSurrogateFirstOnlyBytes # Should have failed to parse, but didn't. |
||||
Recommended.*.TextFormatInput.StringLiteralShortUnicodeEscapeSurrogateFirstOnlyString # Should have failed to parse, but didn't. |
||||
Recommended.*.TextFormatInput.StringLiteralShortUnicodeEscapeSurrogatePairBytes # Should have failed to parse, but didn't. |
||||
Recommended.*.TextFormatInput.StringLiteralShortUnicodeEscapeSurrogatePairString # Should have failed to parse, but didn't. |
||||
Recommended.*.TextFormatInput.StringLiteralShortUnicodeEscapeSurrogateSecondOnlyBytes # Should have failed to parse, but didn't. |
||||
Recommended.*.TextFormatInput.StringLiteralShortUnicodeEscapeSurrogateSecondOnlyString # Should have failed to parse, but didn't. |
||||
Recommended.*.TextFormatInput.StringLiteralUnicodeEscapeSurrogatePairLongShortBytes # Should have failed to parse, but didn't. |
||||
Recommended.*.TextFormatInput.StringLiteralUnicodeEscapeSurrogatePairLongShortString # Should have failed to parse, but didn't. |
||||
Recommended.*.TextFormatInput.StringLiteralUnicodeEscapeSurrogatePairShortLongBytes # Should have failed to parse, but didn't. |
||||
Recommended.*.TextFormatInput.StringLiteralUnicodeEscapeSurrogatePairShortLongString # Should have failed to parse, but didn't. |
||||
Required.*.TextFormatInput.StringFieldBadUTF8Hex # Should have failed to parse, but didn't. |
||||
Required.*.TextFormatInput.StringFieldBadUTF8Octal # Should have failed to parse, but didn't. |
||||
Required.*.TextFormatInput.StringLiteralLongUnicodeEscapeTooLargeBytes # Should have failed to parse, but didn't. |
||||
Required.*.TextFormatInput.StringLiteralLongUnicodeEscapeTooLargeString # Should have failed to parse, but didn't. |
||||
|
||||
# End up setting the high bit as a sign instead of failing to parse. |
||||
|
@ -1,20 +1,10 @@ |
||||
Recommended.Editions_Proto3.ProtobufInput.GroupUnknownFields_Drop.TextFormatOutput # TEXT_FORMAT output we received from test was unparseable. |
||||
Recommended.Editions_Proto3.ProtobufInput.MessageUnknownFields_Drop.TextFormatOutput # TEXT_FORMAT output we received from test was unparseable. |
||||
Recommended.Editions_Proto3.ProtobufInput.RepeatedUnknownFields_Drop.TextFormatOutput # TEXT_FORMAT output we received from test was unparseable. |
||||
Recommended.Editions_Proto3.ProtobufInput.ScalarUnknownFields_Drop.TextFormatOutput # TEXT_FORMAT output we received from test was unparseable. |
||||
Recommended.Proto3.ProtobufInput.GroupUnknownFields_Drop.TextFormatOutput # TEXT_FORMAT output we received from test was unparseable. |
||||
Recommended.Proto3.ProtobufInput.MessageUnknownFields_Drop.TextFormatOutput # TEXT_FORMAT output we received from test was unparseable. |
||||
Recommended.Proto3.ProtobufInput.RepeatedUnknownFields_Drop.TextFormatOutput # TEXT_FORMAT output we received from test was unparseable. |
||||
Recommended.Proto3.ProtobufInput.ScalarUnknownFields_Drop.TextFormatOutput # TEXT_FORMAT output we received from test was unparseable. |
||||
Required.Editions_Proto3.TextFormatInput.AnyField.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.AnyField.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldNoNegativeOctal # Should have failed to parse, but didn't. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldNoOctal # Should have failed to parse, but didn't. |
||||
Required.Editions_Proto3.TextFormatInput.StringFieldBadUTF8Hex # Should have failed to parse, but didn't. |
||||
Required.Editions_Proto3.TextFormatInput.StringFieldBadUTF8Octal # Should have failed to parse, but didn't. |
||||
Required.Proto3.TextFormatInput.AnyField.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.AnyField.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldNoNegativeOctal # Should have failed to parse, but didn't. |
||||
Required.Proto3.TextFormatInput.FloatFieldNoOctal # Should have failed to parse, but didn't. |
||||
Required.Proto3.TextFormatInput.StringFieldBadUTF8Hex # Should have failed to parse, but didn't. |
||||
Required.Proto3.TextFormatInput.StringFieldBadUTF8Octal # Should have failed to parse, but didn't. |
||||
Recommended.*.ProtobufInput.GroupUnknownFields_Drop.TextFormatOutput # TEXT_FORMAT output we received from test was unparseable. |
||||
Recommended.*.ProtobufInput.MessageUnknownFields_Drop.TextFormatOutput # TEXT_FORMAT output we received from test was unparseable. |
||||
Recommended.*.ProtobufInput.RepeatedUnknownFields_Drop.TextFormatOutput # TEXT_FORMAT output we received from test was unparseable. |
||||
Recommended.*.ProtobufInput.ScalarUnknownFields_Drop.TextFormatOutput # TEXT_FORMAT output we received from test was unparseable. |
||||
Required.*.TextFormatInput.AnyField.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.AnyField.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldNoNegativeOctal # Should have failed to parse, but didn't. |
||||
Required.*.TextFormatInput.FloatFieldNoOctal # Should have failed to parse, but didn't. |
||||
Required.*.TextFormatInput.StringFieldBadUTF8Hex # Should have failed to parse, but didn't. |
||||
Required.*.TextFormatInput.StringFieldBadUTF8Octal # Should have failed to parse, but didn't. |
||||
|
@ -1,101 +1,54 @@ |
||||
# This is the list of text format conformance tests that are known to fail right |
||||
# now. |
||||
# TODO: These should be fixed. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldLargerThanInt64_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldLargerThanInt64_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldLargerThanUint64_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldLargerThanUint64_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldMaxValue_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldMaxValue_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldMinValue_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldMinValue_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldNegativeNoLeadingZero_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldNegativeNoLeadingZero_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldNegativeZero.ProtobufOutput # Output was not equivalent to reference message: deleted: optional_float: -0 |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldNegativeZero.TextFormatOutput # Output was not equivalent to reference message: deleted: optional_float: -0 |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldNegativeZero_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldNegativeZero_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldNegativeZero_f.ProtobufOutput # Output was not equivalent to reference message: deleted: optional_float: -0 |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldNegativeZero_f.TextFormatOutput # Output was not equivalent to reference message: deleted: optional_float: -0 |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldNegative_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldNegative_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldNoLeadingZeroWithExponent_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldNoLeadingZeroWithExponent_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldNoLeadingZero_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldNoLeadingZero_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldNoNegativeOctal # Should have failed to parse, but didn't. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldNoOctal # Should have failed to parse, but didn't. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldTooLarge_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldTooLarge_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldTooSmall_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldTooSmall_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldWithInt32Max_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldWithInt32Max_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldWithVeryPreciseNumber_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldWithVeryPreciseNumber_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldZero_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldZero_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatField_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatField_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.NegDoubleFieldLargeNegativeExponentParsesAsNegZero.ProtobufOutput # Output was not equivalent to reference message: deleted: optional_double: -0 |
||||
Required.Editions_Proto3.TextFormatInput.NegDoubleFieldLargeNegativeExponentParsesAsNegZero.TextFormatOutput # Output was not equivalent to reference message: deleted: optional_double: -0 |
||||
Required.Editions_Proto3.TextFormatInput.NegFloatFieldLargeNegativeExponentParsesAsNegZero.ProtobufOutput # Output was not equivalent to reference message: deleted: optional_float: -0 |
||||
Required.Editions_Proto3.TextFormatInput.NegFloatFieldLargeNegativeExponentParsesAsNegZero.TextFormatOutput # Output was not equivalent to reference message: deleted: optional_float: -0 |
||||
Required.Editions_Proto3.TextFormatInput.StringLiteralBasicEscapesBytes.ProtobufOutput # Output was not equivalent to reference message: modified: optional_bytes: "\007\010\014\n\r\t\013?\\\'\"" -> "\007\010\014\n\r\t |
||||
Required.Editions_Proto3.TextFormatInput.StringLiteralBasicEscapesBytes.TextFormatOutput # Output was not equivalent to reference message: modified: optional_bytes: "\007\010\014\n\r\t\013?\\\'\"" -> "\007\010\014\n\r\t |
||||
Required.Editions_Proto3.TextFormatInput.StringLiteralBasicEscapesString.ProtobufOutput # Output was not equivalent to reference message: modified: optional_string: "\007\010\014\n\r\t\013?\\\'\"" -> "\007\010\014\n\r\ |
||||
Required.Editions_Proto3.TextFormatInput.StringLiteralBasicEscapesString.TextFormatOutput # Output was not equivalent to reference message: modified: optional_string: "\007\010\014\n\r\t\013?\\\'\"" -> "\007\010\014\n\r\ |
||||
Required.Proto3.TextFormatInput.FloatFieldLargerThanInt64_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldLargerThanInt64_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldLargerThanUint64_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldLargerThanUint64_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldMaxValue_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldMaxValue_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldMinValue_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldMinValue_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldNegativeNoLeadingZero_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldNegativeNoLeadingZero_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldNegativeZero.ProtobufOutput # Output was not equivalent to reference message: deleted: optional_float: -0 |
||||
Required.Proto3.TextFormatInput.FloatFieldNegativeZero.TextFormatOutput # Output was not equivalent to reference message: deleted: optional_float: -0 |
||||
Required.Proto3.TextFormatInput.FloatFieldNegativeZero_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldNegativeZero_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldNegativeZero_f.ProtobufOutput # Output was not equivalent to reference message: deleted: optional_float: -0 |
||||
Required.Proto3.TextFormatInput.FloatFieldNegativeZero_f.TextFormatOutput # Output was not equivalent to reference message: deleted: optional_float: -0 |
||||
Required.Proto3.TextFormatInput.FloatFieldNegative_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldNegative_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldNoLeadingZeroWithExponent_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldNoLeadingZeroWithExponent_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldNoLeadingZero_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldNoLeadingZero_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldNoNegativeOctal # Should have failed to parse, but didn't. |
||||
Required.Proto3.TextFormatInput.FloatFieldNoOctal # Should have failed to parse, but didn't. |
||||
Required.Proto3.TextFormatInput.FloatFieldTooLarge_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldTooLarge_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldTooSmall_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldTooSmall_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldWithInt32Max_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldWithInt32Max_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldWithVeryPreciseNumber_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldWithVeryPreciseNumber_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldZero_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldZero_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatField_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatField_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.NegDoubleFieldLargeNegativeExponentParsesAsNegZero.ProtobufOutput # Output was not equivalent to reference message: deleted: optional_double: -0 |
||||
Required.Proto3.TextFormatInput.NegDoubleFieldLargeNegativeExponentParsesAsNegZero.TextFormatOutput # Output was not equivalent to reference message: deleted: optional_double: -0 |
||||
Required.Proto3.TextFormatInput.NegFloatFieldLargeNegativeExponentParsesAsNegZero.ProtobufOutput # Output was not equivalent to reference message: deleted: optional_float: -0 |
||||
Required.Proto3.TextFormatInput.NegFloatFieldLargeNegativeExponentParsesAsNegZero.TextFormatOutput # Output was not equivalent to reference message: deleted: optional_float: -0 |
||||
Required.Proto3.TextFormatInput.StringLiteralBasicEscapesBytes.ProtobufOutput # Output was not equivalent to reference message: modified: optional_bytes: "\007\010\014\n\r\t\013?\\\'\"" -> "\007\010\014\n\r\t |
||||
Required.Proto3.TextFormatInput.StringLiteralBasicEscapesBytes.TextFormatOutput # Output was not equivalent to reference message: modified: optional_bytes: "\007\010\014\n\r\t\013?\\\'\"" -> "\007\010\014\n\r\t |
||||
Required.Proto3.TextFormatInput.StringLiteralBasicEscapesString.ProtobufOutput # Output was not equivalent to reference message: modified: optional_string: "\007\010\014\n\r\t\013?\\\'\"" -> "\007\010\014\n\r\ |
||||
Required.Proto3.TextFormatInput.StringLiteralBasicEscapesString.TextFormatOutput # Output was not equivalent to reference message: modified: optional_string: "\007\010\014\n\r\t\013?\\\'\"" -> "\007\010\014\n\r\ |
||||
Required.*.TextFormatInput.FloatFieldLargerThanInt64_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldLargerThanInt64_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldLargerThanUint64_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldLargerThanUint64_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldMaxValue_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldMaxValue_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldMinValue_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldMinValue_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldNegativeNoLeadingZero_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldNegativeNoLeadingZero_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldNegativeZero.ProtobufOutput # Output was not equivalent to reference message: deleted: optional_float: -0 |
||||
Required.*.TextFormatInput.FloatFieldNegativeZero.TextFormatOutput # Output was not equivalent to reference message: deleted: optional_float: -0 |
||||
Required.*.TextFormatInput.FloatFieldNegativeZero_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldNegativeZero_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldNegativeZero_f.ProtobufOutput # Output was not equivalent to reference message: deleted: optional_float: -0 |
||||
Required.*.TextFormatInput.FloatFieldNegativeZero_f.TextFormatOutput # Output was not equivalent to reference message: deleted: optional_float: -0 |
||||
Required.*.TextFormatInput.FloatFieldNegative_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldNegative_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldNoLeadingZeroWithExponent_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldNoLeadingZeroWithExponent_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldNoLeadingZero_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldNoLeadingZero_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldNoNegativeOctal # Should have failed to parse, but didn't. |
||||
Required.*.TextFormatInput.FloatFieldNoOctal # Should have failed to parse, but didn't. |
||||
Required.*.TextFormatInput.FloatFieldTooLarge_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldTooLarge_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldTooSmall_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldTooSmall_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldWithInt32Max_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldWithInt32Max_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldWithVeryPreciseNumber_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldWithVeryPreciseNumber_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldZero_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldZero_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatField_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatField_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.NegDoubleFieldLargeNegativeExponentParsesAsNegZero.ProtobufOutput # Output was not equivalent to reference message: deleted: optional_double: -0 |
||||
Required.*.TextFormatInput.NegDoubleFieldLargeNegativeExponentParsesAsNegZero.TextFormatOutput # Output was not equivalent to reference message: deleted: optional_double: -0 |
||||
Required.*.TextFormatInput.NegFloatFieldLargeNegativeExponentParsesAsNegZero.ProtobufOutput # Output was not equivalent to reference message: deleted: optional_float: -0 |
||||
Required.*.TextFormatInput.NegFloatFieldLargeNegativeExponentParsesAsNegZero.TextFormatOutput # Output was not equivalent to reference message: deleted: optional_float: -0 |
||||
Required.*.TextFormatInput.StringLiteralBasicEscapesBytes.ProtobufOutput # Output was not equivalent to reference message: modified: optional_bytes: "\007\010\014\n\r\t\013?\\\'\"" -> "\007\010\014\n\r\t |
||||
Required.*.TextFormatInput.StringLiteralBasicEscapesBytes.TextFormatOutput # Output was not equivalent to reference message: modified: optional_bytes: "\007\010\014\n\r\t\013?\\\'\"" -> "\007\010\014\n\r\t |
||||
Required.*.TextFormatInput.StringLiteralBasicEscapesString.ProtobufOutput # Output was not equivalent to reference message: modified: optional_string: "\007\010\014\n\r\t\013?\\\'\"" -> "\007\010\014\n\r\ |
||||
Required.*.TextFormatInput.StringLiteralBasicEscapesString.TextFormatOutput # Output was not equivalent to reference message: modified: optional_string: "\007\010\014\n\r\t\013?\\\'\"" -> "\007\010\014\n\r\ |
||||
|
||||
# Optional float interpreted as `inf` |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldMaxValue.ProtobufOutput # Output was not equivalent to reference message |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldMaxValue.TextFormatOutput # Output was not equivalent to reference message |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldMaxValue_f.ProtobufOutput # Output was not equivalent to reference message |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldMaxValue_f.TextFormatOutput # Output was not equivalent to reference message |
||||
Required.Proto3.TextFormatInput.FloatFieldMaxValue.ProtobufOutput # Output was not equivalent to reference message |
||||
Required.Proto3.TextFormatInput.FloatFieldMaxValue.TextFormatOutput # Output was not equivalent to reference message |
||||
Required.Proto3.TextFormatInput.FloatFieldMaxValue_f.ProtobufOutput # Output was not equivalent to reference message |
||||
Required.Proto3.TextFormatInput.FloatFieldMaxValue_f.TextFormatOutput # Output was not equivalent to reference message |
||||
Required.*.TextFormatInput.FloatFieldMaxValue.ProtobufOutput # Output was not equivalent to reference message |
||||
Required.*.TextFormatInput.FloatFieldMaxValue.TextFormatOutput # Output was not equivalent to reference message |
||||
Required.*.TextFormatInput.FloatFieldMaxValue_f.ProtobufOutput # Output was not equivalent to reference message |
||||
Required.*.TextFormatInput.FloatFieldMaxValue_f.TextFormatOutput # Output was not equivalent to reference message |
||||
|
||||
|
@ -1,73 +1,36 @@ |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldLargerThanInt64_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldLargerThanInt64_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldLargerThanUint64_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldLargerThanUint64_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldMaxValue_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldMaxValue_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldMinValue_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldMinValue_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldNegativeNoLeadingZero_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldNegativeNoLeadingZero_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldNegativeZero_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldNegativeZero_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldNegative_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldNegative_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldNoLeadingZeroWithExponent_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldNoLeadingZeroWithExponent_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldNoLeadingZero_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldNoLeadingZero_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldNoNegativeOctal # Should have failed to parse, but didn't. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldNoOctal # Should have failed to parse, but didn't. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldTooLarge_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldTooLarge_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldTooSmall_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldTooSmall_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldWithInt32Max_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldWithInt32Max_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldWithVeryPreciseNumber_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldWithVeryPreciseNumber_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldZero_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldZero_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatField_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatField_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.StringLiteralBasicEscapesBytes.ProtobufOutput # Output was not equivalent to reference message: modified: optional_bytes: "\007\010\014\n\r\t\013?\\\'\"" -> "\007\010\014\n\r\t |
||||
Required.Editions_Proto3.TextFormatInput.StringLiteralBasicEscapesBytes.TextFormatOutput # Output was not equivalent to reference message: modified: optional_bytes: "\007\010\014\n\r\t\013?\\\'\"" -> "\007\010\014\n\r\t |
||||
Required.Editions_Proto3.TextFormatInput.StringLiteralBasicEscapesString.ProtobufOutput # Output was not equivalent to reference message: modified: optional_string: "\007\010\014\n\r\t\013?\\\'\"" -> "\007\010\014\n\r\ |
||||
Required.Editions_Proto3.TextFormatInput.StringLiteralBasicEscapesString.TextFormatOutput # Output was not equivalent to reference message: modified: optional_string: "\007\010\014\n\r\t\013?\\\'\"" -> "\007\010\014\n\r\ |
||||
Required.Proto3.TextFormatInput.FloatFieldLargerThanInt64_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldLargerThanInt64_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldLargerThanUint64_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldLargerThanUint64_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldMaxValue_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldMaxValue_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldMinValue_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldMinValue_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldNegativeNoLeadingZero_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldNegativeNoLeadingZero_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldNegativeZero_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldNegativeZero_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldNegative_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldNegative_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldNoLeadingZeroWithExponent_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldNoLeadingZeroWithExponent_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldNoLeadingZero_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldNoLeadingZero_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldNoNegativeOctal # Should have failed to parse, but didn't. |
||||
Required.Proto3.TextFormatInput.FloatFieldNoOctal # Should have failed to parse, but didn't. |
||||
Required.Proto3.TextFormatInput.FloatFieldTooLarge_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldTooLarge_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldTooSmall_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldTooSmall_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldWithInt32Max_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldWithInt32Max_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldWithVeryPreciseNumber_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldWithVeryPreciseNumber_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldZero_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldZero_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatField_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatField_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.StringLiteralBasicEscapesBytes.ProtobufOutput # Output was not equivalent to reference message: modified: optional_bytes: "\007\010\014\n\r\t\013?\\\'\"" -> "\007\010\014\n\r\t |
||||
Required.Proto3.TextFormatInput.StringLiteralBasicEscapesBytes.TextFormatOutput # Output was not equivalent to reference message: modified: optional_bytes: "\007\010\014\n\r\t\013?\\\'\"" -> "\007\010\014\n\r\t |
||||
Required.Proto3.TextFormatInput.StringLiteralBasicEscapesString.ProtobufOutput # Output was not equivalent to reference message: modified: optional_string: "\007\010\014\n\r\t\013?\\\'\"" -> "\007\010\014\n\r\ |
||||
Required.Proto3.TextFormatInput.StringLiteralBasicEscapesString.TextFormatOutput # Output was not equivalent to reference message: modified: optional_string: "\007\010\014\n\r\t\013?\\\'\"" -> "\007\010\014\n\r\ |
||||
|
||||
Required.*.TextFormatInput.FloatFieldLargerThanInt64_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldLargerThanInt64_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldLargerThanUint64_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldLargerThanUint64_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldMaxValue_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldMaxValue_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldMinValue_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldMinValue_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldNegativeNoLeadingZero_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldNegativeNoLeadingZero_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldNegativeZero_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldNegativeZero_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldNegative_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldNegative_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldNoLeadingZeroWithExponent_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldNoLeadingZeroWithExponent_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldNoLeadingZero_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldNoLeadingZero_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldNoNegativeOctal # Should have failed to parse, but didn't. |
||||
Required.*.TextFormatInput.FloatFieldNoOctal # Should have failed to parse, but didn't. |
||||
Required.*.TextFormatInput.FloatFieldTooLarge_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldTooLarge_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldTooSmall_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldTooSmall_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldWithInt32Max_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldWithInt32Max_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldWithVeryPreciseNumber_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldWithVeryPreciseNumber_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldZero_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldZero_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatField_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatField_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.StringLiteralBasicEscapesBytes.ProtobufOutput # Output was not equivalent to reference message: modified: optional_bytes: "\007\010\014\n\r\t\013?\\\'\"" -> "\007\010\014\n\r\t |
||||
Required.*.TextFormatInput.StringLiteralBasicEscapesBytes.TextFormatOutput # Output was not equivalent to reference message: modified: optional_bytes: "\007\010\014\n\r\t\013?\\\'\"" -> "\007\010\014\n\r\t |
||||
Required.*.TextFormatInput.StringLiteralBasicEscapesString.ProtobufOutput # Output was not equivalent to reference message: modified: optional_string: "\007\010\014\n\r\t\013?\\\'\"" -> "\007\010\014\n\r\ |
||||
Required.*.TextFormatInput.StringLiteralBasicEscapesString.TextFormatOutput # Output was not equivalent to reference message: modified: optional_string: "\007\010\014\n\r\t\013?\\\'\"" -> "\007\010\014\n\r\ |
||||
|
@ -1,76 +1,39 @@ |
||||
# This is the list of text format conformance tests that are known to fail right |
||||
# now. |
||||
# TODO: These should be fixed. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldLargerThanInt64_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldLargerThanInt64_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldLargerThanUint64_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldLargerThanUint64_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldMaxValue_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldMaxValue_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldMinValue_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldMinValue_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldNegativeNoLeadingZero_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldNegativeNoLeadingZero_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldNegativeZero_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldNegativeZero_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldNegative_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldNegative_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldNoLeadingZeroWithExponent_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldNoLeadingZeroWithExponent_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldNoLeadingZero_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldNoLeadingZero_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldNoNegativeOctal # Should have failed to parse, but didn't. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldNoOctal # Should have failed to parse, but didn't. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldTooLarge_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldTooLarge_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldTooSmall_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldTooSmall_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldWithInt32Max_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldWithInt32Max_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldWithVeryPreciseNumber_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldWithVeryPreciseNumber_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldZero_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatFieldZero_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatField_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.FloatField_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Editions_Proto3.TextFormatInput.StringLiteralBasicEscapesBytes.ProtobufOutput # Output was not equivalent to reference message: modified: optional_bytes: "\007\010\014\n\r\t\013?\\\'\"" -> "\007\010\014\n\r\t |
||||
Required.Editions_Proto3.TextFormatInput.StringLiteralBasicEscapesBytes.TextFormatOutput # Output was not equivalent to reference message: modified: optional_bytes: "\007\010\014\n\r\t\013?\\\'\"" -> "\007\010\014\n\r\t |
||||
Required.Editions_Proto3.TextFormatInput.StringLiteralBasicEscapesString.ProtobufOutput # Output was not equivalent to reference message: modified: optional_string: "\007\010\014\n\r\t\013?\\\'\"" -> "\007\010\014\n\r\ |
||||
Required.Editions_Proto3.TextFormatInput.StringLiteralBasicEscapesString.TextFormatOutput # Output was not equivalent to reference message: modified: optional_string: "\007\010\014\n\r\t\013?\\\'\"" -> "\007\010\014\n\r\ |
||||
Required.Proto3.TextFormatInput.FloatFieldLargerThanInt64_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldLargerThanInt64_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldLargerThanUint64_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldLargerThanUint64_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldMaxValue_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldMaxValue_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldMinValue_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldMinValue_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldNegativeNoLeadingZero_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldNegativeNoLeadingZero_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldNegativeZero_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldNegativeZero_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldNegative_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldNegative_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldNoLeadingZeroWithExponent_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldNoLeadingZeroWithExponent_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldNoLeadingZero_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldNoLeadingZero_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldNoNegativeOctal # Should have failed to parse, but didn't. |
||||
Required.Proto3.TextFormatInput.FloatFieldNoOctal # Should have failed to parse, but didn't. |
||||
Required.Proto3.TextFormatInput.FloatFieldTooLarge_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldTooLarge_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldTooSmall_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldTooSmall_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldWithInt32Max_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldWithInt32Max_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldWithVeryPreciseNumber_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldWithVeryPreciseNumber_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldZero_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatFieldZero_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatField_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.FloatField_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.Proto3.TextFormatInput.StringLiteralBasicEscapesBytes.ProtobufOutput # Output was not equivalent to reference message: modified: optional_bytes: "\007\010\014\n\r\t\013?\\\'\"" -> "\007\010\014\n\r\t |
||||
Required.Proto3.TextFormatInput.StringLiteralBasicEscapesBytes.TextFormatOutput # Output was not equivalent to reference message: modified: optional_bytes: "\007\010\014\n\r\t\013?\\\'\"" -> "\007\010\014\n\r\t |
||||
Required.Proto3.TextFormatInput.StringLiteralBasicEscapesString.ProtobufOutput # Output was not equivalent to reference message: modified: optional_string: "\007\010\014\n\r\t\013?\\\'\"" -> "\007\010\014\n\r\ |
||||
Required.Proto3.TextFormatInput.StringLiteralBasicEscapesString.TextFormatOutput # Output was not equivalent to reference message: modified: optional_string: "\007\010\014\n\r\t\013?\\\'\"" -> "\007\010\014\n\r\ |
||||
|
||||
Required.*.TextFormatInput.FloatFieldLargerThanInt64_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldLargerThanInt64_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldLargerThanUint64_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldLargerThanUint64_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldMaxValue_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldMaxValue_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldMinValue_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldMinValue_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldNegativeNoLeadingZero_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldNegativeNoLeadingZero_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldNegativeZero_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldNegativeZero_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldNegative_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldNegative_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldNoLeadingZeroWithExponent_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldNoLeadingZeroWithExponent_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldNoLeadingZero_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldNoLeadingZero_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldNoNegativeOctal # Should have failed to parse, but didn't. |
||||
Required.*.TextFormatInput.FloatFieldNoOctal # Should have failed to parse, but didn't. |
||||
Required.*.TextFormatInput.FloatFieldTooLarge_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldTooLarge_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldTooSmall_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldTooSmall_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldWithInt32Max_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldWithInt32Max_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldWithVeryPreciseNumber_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldWithVeryPreciseNumber_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldZero_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatFieldZero_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatField_F.ProtobufOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.FloatField_F.TextFormatOutput # Failed to parse input or produce output. |
||||
Required.*.TextFormatInput.StringLiteralBasicEscapesBytes.ProtobufOutput # Output was not equivalent to reference message: modified: optional_bytes: "\007\010\014\n\r\t\013?\\\'\"" -> "\007\010\014\n\r\t |
||||
Required.*.TextFormatInput.StringLiteralBasicEscapesBytes.TextFormatOutput # Output was not equivalent to reference message: modified: optional_bytes: "\007\010\014\n\r\t\013?\\\'\"" -> "\007\010\014\n\r\t |
||||
Required.*.TextFormatInput.StringLiteralBasicEscapesString.ProtobufOutput # Output was not equivalent to reference message: modified: optional_string: "\007\010\014\n\r\t\013?\\\'\"" -> "\007\010\014\n\r\ |
||||
Required.*.TextFormatInput.StringLiteralBasicEscapesString.TextFormatOutput # Output was not equivalent to reference message: modified: optional_string: "\007\010\014\n\r\t\013?\\\'\"" -> "\007\010\014\n\r\ |
||||
|
@ -0,0 +1,31 @@ |
||||
# Copyright (c) 2024, Google LLC |
||||
# All rights reserved. |
||||
# |
||||
# Use of this source code is governed by a BSD-style |
||||
# license that can be found in the LICENSE file or at |
||||
# https://developers.google.com/open-source/licenses/bsd |
||||
|
||||
# begin:google_only |
||||
# package(default_applicable_licenses = ["//src/google/protobuf:license"]) |
||||
# end:google_only |
||||
|
||||
cc_library( |
||||
name = "template_help", |
||||
hdrs = ["template_help.h"], |
||||
compatible_with = ["//buildenv/target:non_prod"], |
||||
visibility = ["//hpb:__subpackages__"], |
||||
deps = [ |
||||
"//hpb:ptr", |
||||
], |
||||
) |
||||
|
||||
cc_library( |
||||
name = "internal", |
||||
hdrs = ["internal.h"], |
||||
compatible_with = ["//buildenv/target:non_prod"], |
||||
visibility = ["//hpb:__subpackages__"], |
||||
deps = [ |
||||
"//upb:mem", |
||||
"//upb:message", |
||||
], |
||||
) |
@ -0,0 +1,53 @@ |
||||
#ifndef GOOGLE_PROTOBUF_HPB_INTERNAL_INTERNAL_H__ |
||||
#define GOOGLE_PROTOBUF_HPB_INTERNAL_INTERNAL_H__ |
||||
|
||||
#include <cstdint> |
||||
#include <utility> |
||||
|
||||
#include "upb/mem/arena.h" |
||||
#include "upb/message/message.h" |
||||
|
||||
namespace hpb::internal { |
||||
|
||||
struct PrivateAccess { |
||||
template <typename T> |
||||
static auto* GetInternalMsg(T&& message) { |
||||
return message->msg(); |
||||
} |
||||
template <typename T> |
||||
static auto Proxy(upb_Message* p, upb_Arena* arena) { |
||||
return typename T::Proxy(p, arena); |
||||
} |
||||
template <typename T> |
||||
static auto CProxy(const upb_Message* p, upb_Arena* arena) { |
||||
return typename T::CProxy(p, arena); |
||||
} |
||||
template <typename T> |
||||
static auto CreateMessage(upb_Arena* arena) { |
||||
return typename T::Proxy(upb_Message_New(T::minitable(), arena), arena); |
||||
} |
||||
|
||||
template <typename ExtensionId> |
||||
static constexpr uint32_t GetExtensionNumber(const ExtensionId& id) { |
||||
return id.number(); |
||||
} |
||||
}; |
||||
|
||||
template <typename T> |
||||
auto* GetInternalMsg(T&& message) { |
||||
return PrivateAccess::GetInternalMsg(std::forward<T>(message)); |
||||
} |
||||
|
||||
template <typename T> |
||||
typename T::Proxy CreateMessageProxy(upb_Message* msg, upb_Arena* arena) { |
||||
return typename T::Proxy(msg, arena); |
||||
} |
||||
|
||||
template <typename T> |
||||
typename T::CProxy CreateMessage(const upb_Message* msg, upb_Arena* arena) { |
||||
return PrivateAccess::CProxy<T>(msg, arena); |
||||
} |
||||
|
||||
} // namespace hpb::internal
|
||||
|
||||
#endif // GOOGLE_PROTOBUF_HPB_INTERNAL_INTERNAL_H__
|
@ -0,0 +1,49 @@ |
||||
// Protocol Buffers - Google's data interchange format
|
||||
// Copyright 2024 Google LLC. All rights reserved.
|
||||
//
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file or at
|
||||
// https://developers.google.com/open-source/licenses/bsd
|
||||
|
||||
#ifndef GOOGLE_PROTOBUF_HPB_TEMPLATE_HELP_H__ |
||||
#define GOOGLE_PROTOBUF_HPB_TEMPLATE_HELP_H__ |
||||
|
||||
#include <type_traits> |
||||
|
||||
#include "google/protobuf/hpb/ptr.h" |
||||
|
||||
namespace hpb { |
||||
namespace internal { |
||||
|
||||
template <typename T> |
||||
struct RemovePtr; |
||||
|
||||
template <typename T> |
||||
struct RemovePtr<Ptr<T>> { |
||||
using type = T; |
||||
}; |
||||
|
||||
template <typename T> |
||||
struct RemovePtr<T*> { |
||||
using type = T; |
||||
}; |
||||
|
||||
template <typename T> |
||||
using RemovePtrT = typename RemovePtr<T>::type; |
||||
|
||||
template <typename T, typename U = RemovePtrT<T>, |
||||
typename = std::enable_if_t<!std::is_const_v<U>>> |
||||
using PtrOrRaw = T; |
||||
|
||||
template <typename T> |
||||
using EnableIfHpbClass = std::enable_if_t< |
||||
std::is_base_of<typename T::Access, T>::value && |
||||
std::is_base_of<typename T::Access, typename T::ExtendableType>::value>; |
||||
|
||||
template <typename T> |
||||
using EnableIfMutableProto = std::enable_if_t<!std::is_const<T>::value>; |
||||
|
||||
} // namespace internal
|
||||
} // namespace hpb
|
||||
|
||||
#endif // GOOGLE_PROTOBUF_HPB_TEMPLATE_HELP_H__
|
@ -0,0 +1,78 @@ |
||||
// Protocol Buffers - Google's data interchange format
|
||||
// Copyright 2024 Google LLC. All rights reserved.
|
||||
//
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file or at
|
||||
// https://developers.google.com/open-source/licenses/bsd
|
||||
|
||||
#ifndef GOOGLE_PROTOBUF_HPB_PTR_H__ |
||||
#define GOOGLE_PROTOBUF_HPB_PTR_H__ |
||||
|
||||
#include <memory> |
||||
#include <type_traits> |
||||
|
||||
class upb_Message; |
||||
class upb_Arena; |
||||
|
||||
namespace hpb { |
||||
|
||||
template <typename T> |
||||
using Proxy = std::conditional_t<std::is_const<T>::value, |
||||
typename std::remove_const_t<T>::CProxy, |
||||
typename T::Proxy>; |
||||
|
||||
// Provides convenient access to Proxy and CProxy message types.
|
||||
//
|
||||
// Using rebinding and handling of const, Ptr<Message> and Ptr<const Message>
|
||||
// allows copying const with T* const and avoids using non-copyable Proxy types
|
||||
// directly.
|
||||
template <typename T> |
||||
class Ptr final { |
||||
public: |
||||
Ptr() = delete; |
||||
|
||||
// Implicit conversions
|
||||
Ptr(T* m) : p_(m) {} // NOLINT
|
||||
Ptr(const Proxy<T>* p) : p_(*p) {} // NOLINT
|
||||
Ptr(Proxy<T> p) : p_(p) {} // NOLINT
|
||||
Ptr(const Ptr& m) = default; |
||||
|
||||
Ptr& operator=(Ptr v) & { |
||||
Proxy<T>::Rebind(p_, v.p_); |
||||
return *this; |
||||
} |
||||
|
||||
Proxy<T> operator*() const { return p_; } |
||||
Proxy<T>* operator->() const { |
||||
return const_cast<Proxy<T>*>(std::addressof(p_)); |
||||
} |
||||
|
||||
#ifdef __clang__ |
||||
#pragma clang diagnostic push |
||||
#pragma clang diagnostic ignored "-Wclass-conversion" |
||||
#endif |
||||
template <typename U = T, std::enable_if_t<!std::is_const<U>::value, int> = 0> |
||||
operator Ptr<const T>() const { |
||||
Proxy<const T> p(p_); |
||||
return Ptr<const T>(&p); |
||||
} |
||||
#ifdef __clang__ |
||||
#pragma clang diagnostic pop |
||||
#endif |
||||
|
||||
private: |
||||
Ptr(upb_Message* msg, upb_Arena* arena) : p_(msg, arena) {} // NOLINT
|
||||
|
||||
friend class Ptr<const T>; |
||||
friend typename T::Access; |
||||
|
||||
Proxy<T> p_; |
||||
}; |
||||
|
||||
// Suppress -Wctad-maybe-unsupported with our manual deduction guide
|
||||
template <typename T> |
||||
Ptr(T* m) -> Ptr<T>; |
||||
|
||||
} // namespace hpb
|
||||
|
||||
#endif // GOOGLE_PROTOBUF_HPB_PTR_H__
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,14 +0,0 @@ |
||||
// Protocol Buffers - Google's data interchange format
|
||||
// Copyright 2023 Google LLC. All rights reserved.
|
||||
//
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file or at
|
||||
// https://developers.google.com/open-source/licenses/bsd
|
||||
|
||||
#ifndef UPB_PROTOS_PROTOS_INTERNAL_H_ |
||||
#define UPB_PROTOS_PROTOS_INTERNAL_H_ |
||||
#include "google/protobuf/hpb/internal.h" |
||||
namespace protos::internal { |
||||
using ::hpb::internal::MoveMessage; |
||||
} // namespace protos::internal
|
||||
#endif |
@ -1,14 +0,0 @@ |
||||
// Protocol Buffers - Google's data interchange format
|
||||
// Copyright 2023 Google LLC. All rights reserved.
|
||||
//
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file or at
|
||||
// https://developers.google.com/open-source/licenses/bsd
|
||||
|
||||
#ifndef UPB_PROTOS_REPEATED_FIELD_H_ |
||||
#define UPB_PROTOS_REPEATED_FIELD_H_ |
||||
#include "google/protobuf/hpb/repeated_field.h" |
||||
namespace protos { |
||||
using hpb::RepeatedField; |
||||
} |
||||
#endif |
@ -1,11 +0,0 @@ |
||||
// Protocol Buffers - Google's data interchange format
|
||||
// Copyright 2023 Google LLC. All rights reserved.
|
||||
//
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file or at
|
||||
// https://developers.google.com/open-source/licenses/bsd
|
||||
|
||||
#ifndef UPB_PROTOS_REPEATED_FIELD_ITERATOR_H_ |
||||
#define UPB_PROTOS_REPEATED_FIELD_ITERATOR_H_ |
||||
#include "google/protobuf/hpb/repeated_field_iterator.h" |
||||
#endif |
@ -0,0 +1,39 @@ |
||||
# Protocol Buffers - Google's data interchange format |
||||
# Copyright 2008 Google Inc. All rights reserved. |
||||
# |
||||
# Use of this source code is governed by a BSD-style |
||||
# license that can be found in the LICENSE file or at |
||||
# https://developers.google.com/open-source/licenses/bsd |
||||
|
||||
"""Contains the Any helper APIs.""" |
||||
|
||||
from typing import Optional |
||||
|
||||
from google.protobuf import descriptor |
||||
from google.protobuf.message import Message |
||||
|
||||
from google.protobuf.any_pb2 import Any |
||||
|
||||
|
||||
def pack( |
||||
msg: Message, |
||||
type_url_prefix: Optional[str] = 'type.googleapis.com/', |
||||
deterministic: Optional[bool] = None, |
||||
) -> Any: |
||||
any_msg = Any() |
||||
any_msg.Pack( |
||||
msg=msg, type_url_prefix=type_url_prefix, deterministic=deterministic |
||||
) |
||||
return any_msg |
||||
|
||||
|
||||
def unpack(any_msg: Any, msg: Message) -> bool: |
||||
return any_msg.Unpack(msg=msg) |
||||
|
||||
|
||||
def type_name(any_msg: Any) -> str: |
||||
return any_msg.TypeName() |
||||
|
||||
|
||||
def is_type(any_msg: Any, des: descriptor.Descriptor) -> bool: |
||||
return any_msg.Is(des) |
@ -0,0 +1,47 @@ |
||||
# -*- coding: utf-8 -*- |
||||
# Protocol Buffers - Google's data interchange format |
||||
# Copyright 2008 Google Inc. All rights reserved. |
||||
# |
||||
# Use of this source code is governed by a BSD-style |
||||
# license that can be found in the LICENSE file or at |
||||
# https://developers.google.com/open-source/licenses/bsd |
||||
|
||||
"""Tests proto Any APIs.""" |
||||
|
||||
import unittest |
||||
|
||||
from google.protobuf import any |
||||
|
||||
from google.protobuf import any_pb2 |
||||
from google.protobuf import unittest_pb2 |
||||
|
||||
|
||||
class AnyTest(unittest.TestCase): |
||||
|
||||
def test_pack_unpack(self): |
||||
all_types = unittest_pb2.TestAllTypes() |
||||
any_msg = any.pack(all_types) |
||||
all_descriptor = all_types.DESCRIPTOR |
||||
self.assertEqual( |
||||
any_msg.type_url, 'type.googleapis.com/%s' % all_descriptor.full_name |
||||
) |
||||
unpacked_message = unittest_pb2.TestAllTypes() |
||||
self.assertTrue(any.unpack(any_msg, unpacked_message)) |
||||
|
||||
def test_type_name(self): |
||||
all_types = unittest_pb2.TestAllTypes() |
||||
any_msg = any.pack(all_types) |
||||
self.assertEqual(any.type_name(any_msg), 'protobuf_unittest.TestAllTypes') |
||||
|
||||
def test_is_type(self): |
||||
all_types = unittest_pb2.TestAllTypes() |
||||
any_msg = any.pack(all_types) |
||||
all_descriptor = all_types.DESCRIPTOR |
||||
self.assertTrue(any.is_type(any_msg, all_descriptor)) |
||||
|
||||
empty_any = any_pb2.Any() |
||||
self.assertFalse(any.is_type(empty_any, all_descriptor)) |
||||
|
||||
|
||||
if __name__ == '__main__': |
||||
unittest.main() |
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,19 @@ |
||||
cc_library( |
||||
name = "kotlin", |
||||
srcs = ["generator.cc"], |
||||
hdrs = ["generator.h"], |
||||
strip_include_prefix = "/src", |
||||
visibility = [ |
||||
"//pkg:__pkg__", |
||||
"//src/google/protobuf/compiler:__pkg__", |
||||
], |
||||
deps = [ |
||||
"//src/google/protobuf", |
||||
"//src/google/protobuf:port", |
||||
"//src/google/protobuf/compiler:code_generator", |
||||
"//src/google/protobuf/compiler/java", |
||||
"//src/google/protobuf/compiler/java:helpers", |
||||
"//src/google/protobuf/io:printer", |
||||
"@com_google_absl//absl/strings", |
||||
], |
||||
) |
@ -0,0 +1,16 @@ |
||||
|
||||
# Kotlin DSL Generator |
||||
|
||||
This code generator implements the Kotlin DSL. The Kotlin DSL sits on top of |
||||
another proto implementation (written in Java or Kotlin) and adds convenient |
||||
support for building proto messages using DSL syntax, as documented in |
||||
[Kotlin Generated Code Guide](https://protobuf.dev/reference/kotlin/kotlin-generated/). |
||||
|
||||
This code generator is invoked by passing `--kotlin_out` to `protoc`. |
||||
|
||||
When using Kotlin on the JVM, you will also need to pass `--java_out` to |
||||
generate the Java code that implements the generated classes themselves. |
||||
|
||||
When using Kotlin on other platforms (eg. Kotlin Native), there is currently no |
||||
support for generating message classes, so it is not possible to use the Kotlin |
||||
DSL at this time. |
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue