Project import generated by Copybara.

GitOrigin-RevId: 6a704ded0bf489614797082e7e7cda1068477ef5
This commit is contained in:
MediaPipe Team
2021-03-31 20:33:42 -04:00
committed by chuoling
parent 7c331ad58b
commit ecb5b5f44a
84 changed files with 1015 additions and 968 deletions
+42 -38
View File
@@ -22,15 +22,16 @@
namespace mediapipe {
TEST(GraphTest, MinimumDefaultExecutorStackSizeExistingConfigSizeUnspecified) {
CalculatorGraphConfig config = ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
executor {
options {
[mediapipe.ThreadPoolExecutorOptions.ext] { num_threads: 2 }
}
}
)");
CalculatorGraphConfig config =
ParseTextProtoOrDie<CalculatorGraphConfig>(R"pb(
executor {
options {
[mediapipe.ThreadPoolExecutorOptions.ext] { num_threads: 2 }
}
}
)pb");
CalculatorGraphConfig expected_config =
ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
ParseTextProtoOrDie<CalculatorGraphConfig>(R"pb(
executor {
options {
[mediapipe.ThreadPoolExecutorOptions.ext] {
@@ -39,24 +40,25 @@ TEST(GraphTest, MinimumDefaultExecutorStackSizeExistingConfigSizeUnspecified) {
}
}
}
)");
)pb");
tool::EnsureMinimumDefaultExecutorStackSize(131072, &config);
EXPECT_THAT(config, EqualsProto(expected_config));
}
TEST(GraphTest, MinimumDefaultExecutorStackSizeExistingConfigSizeTooSmall) {
CalculatorGraphConfig config = ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
executor {
options {
[mediapipe.ThreadPoolExecutorOptions.ext] {
num_threads: 2
stack_size: 65536
CalculatorGraphConfig config =
ParseTextProtoOrDie<CalculatorGraphConfig>(R"pb(
executor {
options {
[mediapipe.ThreadPoolExecutorOptions.ext] {
num_threads: 2
stack_size: 65536
}
}
}
}
}
)");
)pb");
CalculatorGraphConfig expected_config =
ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
ParseTextProtoOrDie<CalculatorGraphConfig>(R"pb(
executor {
options {
[mediapipe.ThreadPoolExecutorOptions.ext] {
@@ -65,24 +67,14 @@ TEST(GraphTest, MinimumDefaultExecutorStackSizeExistingConfigSizeTooSmall) {
}
}
}
)");
)pb");
tool::EnsureMinimumDefaultExecutorStackSize(131072, &config);
EXPECT_THAT(config, EqualsProto(expected_config));
}
TEST(GraphTest, MinimumDefaultExecutorStackSizeExistingConfigSizeLargeEnough) {
CalculatorGraphConfig config = ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
executor {
options {
[mediapipe.ThreadPoolExecutorOptions.ext] {
num_threads: 2
stack_size: 262144
}
}
}
)");
CalculatorGraphConfig expected_config =
ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
CalculatorGraphConfig config =
ParseTextProtoOrDie<CalculatorGraphConfig>(R"pb(
executor {
options {
[mediapipe.ThreadPoolExecutorOptions.ext] {
@@ -91,17 +83,29 @@ TEST(GraphTest, MinimumDefaultExecutorStackSizeExistingConfigSizeLargeEnough) {
}
}
}
)");
)pb");
CalculatorGraphConfig expected_config =
ParseTextProtoOrDie<CalculatorGraphConfig>(R"pb(
executor {
options {
[mediapipe.ThreadPoolExecutorOptions.ext] {
num_threads: 2
stack_size: 262144
}
}
}
)pb");
tool::EnsureMinimumDefaultExecutorStackSize(131072, &config);
EXPECT_THAT(config, EqualsProto(expected_config));
}
TEST(GraphTest, MinimumDefaultExecutorStackSizeNumThreads) {
CalculatorGraphConfig config = ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
num_threads: 1
)");
CalculatorGraphConfig config =
ParseTextProtoOrDie<CalculatorGraphConfig>(R"pb(
num_threads: 1
)pb");
CalculatorGraphConfig expected_config =
ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
ParseTextProtoOrDie<CalculatorGraphConfig>(R"pb(
executor {
options {
[mediapipe.ThreadPoolExecutorOptions.ext] {
@@ -110,7 +114,7 @@ TEST(GraphTest, MinimumDefaultExecutorStackSizeNumThreads) {
}
}
}
)");
)pb");
tool::EnsureMinimumDefaultExecutorStackSize(131072, &config);
EXPECT_THAT(config, EqualsProto(expected_config));
}
@@ -43,7 +43,7 @@ namespace {
class SimulationClockTest : public ::testing::Test {
protected:
void SetUpInFlightGraph() {
graph_config_ = ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
graph_config_ = ParseTextProtoOrDie<CalculatorGraphConfig>(R"pb(
input_stream: "input_packets_0"
node {
calculator: 'FlowLimiterCalculator'
@@ -84,7 +84,7 @@ class SimulationClockTest : public ::testing::Test {
output_stream: 'output_packets_0'
output_stream: 'finish_indicator'
}
)");
)pb");
}
// Initialize the test clock as a SimulationClock.
@@ -246,7 +246,7 @@ TEST_F(SimulationClockTest, InFlight) {
// and SimulationClock. With tsan, this test reveals a race condition unless
// the SimulationClock destructor calls ThreadFinish to waits for all threads.
TEST_F(SimulationClockTest, DestroyClock) {
auto graph_config = ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
auto graph_config = ParseTextProtoOrDie<CalculatorGraphConfig>(R"pb(
node {
calculator: "LambdaCalculator"
input_side_packet: 'callback_0'
@@ -258,7 +258,7 @@ TEST_F(SimulationClockTest, DestroyClock) {
input_stream: "input_1"
output_stream: "output_1"
}
)");
)pb");
int input_count = 0;
ProcessFunction wait_0 = [&](const InputStreamShardSet& inputs,
+2 -2
View File
@@ -75,14 +75,14 @@ TEST(CallbackFromGeneratorTest, TestAddVectorSink) {
TEST(CalculatorGraph, OutputSummarySidePacketInClose) {
CalculatorGraphConfig config =
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"pb(
input_stream: "input_packets"
node {
calculator: "CountAndOutputSummarySidePacketInCloseCalculator"
input_stream: "input_packets"
output_side_packet: "num_of_packets"
}
)");
)pb");
Packet summary_packet;
tool::AddSidePacketSink("num_of_packets", &config, &summary_packet);
@@ -71,7 +71,7 @@ class TestSubgraph : public Subgraph {
absl::StatusOr<CalculatorGraphConfig> GetConfig(
const SubgraphOptions& /*options*/) override {
CalculatorGraphConfig config =
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"pb(
input_stream: "DATA:input_1"
node {
name: "regular_node"
@@ -89,7 +89,7 @@ class TestSubgraph : public Subgraph {
packet_generator: "SomePacketGenerator"
output_side_packet: "side"
}
)");
)pb");
return config;
}
};
@@ -100,7 +100,7 @@ class PacketFactoryTestSubgraph : public Subgraph {
absl::StatusOr<CalculatorGraphConfig> GetConfig(
const SubgraphOptions& /*options*/) override {
CalculatorGraphConfig config =
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"pb(
input_stream: "DATA:input_1"
node {
name: "regular_node"
@@ -118,7 +118,7 @@ class PacketFactoryTestSubgraph : public Subgraph {
packet_factory: "SomePacketFactory"
output_side_packet: "side"
}
)");
)pb");
return config;
}
};
@@ -157,7 +157,7 @@ class NodeWithExecutorSubgraph : public Subgraph {
absl::StatusOr<CalculatorGraphConfig> GetConfig(
const SubgraphOptions& options) override {
CalculatorGraphConfig config =
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"pb(
input_stream: "INPUT:foo"
output_stream: "OUTPUT:bar"
node {
@@ -166,7 +166,7 @@ class NodeWithExecutorSubgraph : public Subgraph {
output_stream: "bar"
executor: "custom_thread_pool"
}
)");
)pb");
return config;
}
};
@@ -179,7 +179,7 @@ class EnclosingSubgraph : public Subgraph {
absl::StatusOr<CalculatorGraphConfig> GetConfig(
const SubgraphOptions& options) override {
CalculatorGraphConfig config =
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"pb(
input_stream: "IN:in"
output_stream: "OUT:out"
node {
@@ -187,7 +187,7 @@ class EnclosingSubgraph : public Subgraph {
input_stream: "INPUT:in"
output_stream: "OUTPUT:out"
}
)");
)pb");
return config;
}
};
@@ -195,7 +195,7 @@ REGISTER_MEDIAPIPE_GRAPH(EnclosingSubgraph);
TEST(SubgraphExpansionTest, TransformStreamNames) {
CalculatorGraphConfig config =
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"pb(
node {
calculator: "SomeSinkCalculator"
input_stream: "input_1"
@@ -203,9 +203,9 @@ TEST(SubgraphExpansionTest, TransformStreamNames) {
input_stream: "AUDIO:0:input_3"
input_stream: "AUDIO:1:input_4"
}
)");
)pb");
CalculatorGraphConfig expected_config =
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"pb(
node {
calculator: "SomeSinkCalculator"
input_stream: "input_1_foo"
@@ -213,7 +213,7 @@ TEST(SubgraphExpansionTest, TransformStreamNames) {
input_stream: "AUDIO:0:input_3_foo"
input_stream: "AUDIO:1:input_4_foo"
}
)");
)pb");
auto add_foo = [](absl::string_view s) { return absl::StrCat(s, "_foo"); };
MP_EXPECT_OK(tool::TransformStreamNames(
(*config.mutable_node())[0].mutable_input_stream(), add_foo));
@@ -222,7 +222,7 @@ TEST(SubgraphExpansionTest, TransformStreamNames) {
TEST(SubgraphExpansionTest, TransformNames) {
CalculatorGraphConfig config =
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"pb(
input_stream: "input_1"
node {
calculator: "SomeRegularCalculator"
@@ -238,9 +238,9 @@ TEST(SubgraphExpansionTest, TransformNames) {
input_stream: "output_1"
output_stream: "output_2"
}
)");
)pb");
CalculatorGraphConfig expected_config =
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"pb(
input_stream: "__sg0_input_1"
node {
calculator: "SomeRegularCalculator"
@@ -257,7 +257,7 @@ TEST(SubgraphExpansionTest, TransformNames) {
input_stream: "__sg0_output_1"
output_stream: "__sg0_output_2"
}
)");
)pb");
auto add_prefix = [](absl::string_view s) {
return absl::StrCat("__sg0_", s);
};
@@ -267,14 +267,14 @@ TEST(SubgraphExpansionTest, TransformNames) {
TEST(SubgraphExpansionTest, FindCorrespondingStreams) {
CalculatorGraphConfig config1 =
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"pb(
input_stream: "input_1"
input_stream: "VIDEO:input_2"
input_stream: "AUDIO:0:input_3"
input_stream: "AUDIO:1:input_4"
)");
)pb");
CalculatorGraphConfig config2 =
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"pb(
node {
calculator: "SomeSubgraph"
input_stream: "foo"
@@ -282,7 +282,7 @@ TEST(SubgraphExpansionTest, FindCorrespondingStreams) {
input_stream: "AUDIO:0:baz"
input_stream: "AUDIO:1:qux"
}
)");
)pb");
std::map<std::string, std::string> stream_map;
MP_EXPECT_OK(tool::FindCorrespondingStreams(
&stream_map, config1.input_stream(), config2.node()[0].input_stream()));
@@ -296,13 +296,13 @@ TEST(SubgraphExpansionTest, FindCorrespondingStreams) {
TEST(SubgraphExpansionTest, FindCorrespondingStreamsNonexistentTag) {
// The VIDEO tag does not exist in the subgraph.
CalculatorGraphConfig config1 =
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"pb(
input_stream: "input_1"
input_stream: "AUDIO:0:input_3"
input_stream: "AUDIO:1:input_4"
)");
)pb");
CalculatorGraphConfig config2 =
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"pb(
node {
calculator: "SomeSubgraph"
input_stream: "foo"
@@ -310,7 +310,7 @@ TEST(SubgraphExpansionTest, FindCorrespondingStreamsNonexistentTag) {
input_stream: "AUDIO:0:baz"
input_stream: "AUDIO:1:qux"
}
)");
)pb");
std::map<std::string, std::string> stream_map;
auto status = tool::FindCorrespondingStreams(
&stream_map, config1.input_stream(), config2.node()[0].input_stream());
@@ -326,13 +326,13 @@ TEST(SubgraphExpansionTest, FindCorrespondingStreamsNonexistentTag) {
TEST(SubgraphExpansionTest, FindCorrespondingStreamsTooFewIndexes) {
// The AUDIO tag has too few indexes in the subgraph (1 vs. 2).
CalculatorGraphConfig config1 =
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"pb(
input_stream: "input_1"
input_stream: "VIDEO:input_2"
input_stream: "AUDIO:0:input_3"
)");
)pb");
CalculatorGraphConfig config2 =
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"pb(
node {
calculator: "SomeSubgraph"
input_stream: "foo"
@@ -340,7 +340,7 @@ TEST(SubgraphExpansionTest, FindCorrespondingStreamsTooFewIndexes) {
input_stream: "AUDIO:0:baz"
input_stream: "AUDIO:1:qux"
}
)");
)pb");
std::map<std::string, std::string> stream_map;
auto status = tool::FindCorrespondingStreams(
&stream_map, config1.input_stream(), config2.node()[0].input_stream());
@@ -355,7 +355,7 @@ TEST(SubgraphExpansionTest, FindCorrespondingStreamsTooFewIndexes) {
TEST(SubgraphExpansionTest, ConnectSubgraphStreams) {
CalculatorGraphConfig subgraph =
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"pb(
input_stream: "A:input_1"
input_stream: "B:input_2"
output_stream: "O:output_2"
@@ -379,9 +379,9 @@ TEST(SubgraphExpansionTest, ConnectSubgraphStreams) {
input_side_packet: "side_input"
output_side_packet: "side_output"
}
)");
)pb");
CalculatorGraphConfig supergraph =
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"pb(
node {
calculator: "SomeSubgraph"
input_stream: "A:foo"
@@ -390,11 +390,11 @@ TEST(SubgraphExpansionTest, ConnectSubgraphStreams) {
input_side_packet: "SI:flip"
output_side_packet: "SO:flop"
}
)");
)pb");
// Note: graph input streams, output streams, and side packets on the
// subgraph are not changed because they are going to be discarded anyway.
CalculatorGraphConfig expected_subgraph =
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"pb(
input_stream: "A:input_1"
input_stream: "B:input_2"
output_stream: "O:output_2"
@@ -418,23 +418,23 @@ TEST(SubgraphExpansionTest, ConnectSubgraphStreams) {
input_side_packet: "flip"
output_side_packet: "flop"
}
)");
)pb");
MP_EXPECT_OK(tool::ConnectSubgraphStreams(supergraph.node()[0], &subgraph));
EXPECT_THAT(subgraph, mediapipe::EqualsProto(expected_subgraph));
}
TEST(SubgraphExpansionTest, ExpandSubgraphs) {
CalculatorGraphConfig supergraph =
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"pb(
node {
name: "simple_source"
calculator: "SomeSourceCalculator"
output_stream: "foo"
}
node { calculator: "TestSubgraph" input_stream: "DATA:foo" }
)");
)pb");
CalculatorGraphConfig expected_graph =
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"pb(
node {
name: "simple_source"
calculator: "SomeSourceCalculator"
@@ -456,14 +456,14 @@ TEST(SubgraphExpansionTest, ExpandSubgraphs) {
packet_generator: "SomePacketGenerator"
output_side_packet: "testsubgraph__side"
}
)");
)pb");
MP_EXPECT_OK(tool::ExpandSubgraphs(&supergraph));
EXPECT_THAT(supergraph, mediapipe::EqualsProto(expected_graph));
}
TEST(SubgraphExpansionTest, ValidateSubgraphFields) {
CalculatorGraphConfig supergraph =
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"pb(
node {
name: "simple_source"
calculator: "SomeSourceCalculator"
@@ -475,7 +475,7 @@ TEST(SubgraphExpansionTest, ValidateSubgraphFields) {
input_stream: "DATA:foo"
buffer_size_hint: -1 # This field is only applicable to calculators.
}
)");
)pb");
absl::Status s1 = tool::ValidateSubgraphFields(supergraph.node(1));
EXPECT_EQ(s1.code(), absl::StatusCode::kInvalidArgument);
EXPECT_THAT(s1.message(), testing::HasSubstr("foo_subgraph"));
@@ -491,7 +491,7 @@ TEST(SubgraphExpansionTest, ValidateSubgraphFields) {
// subgraph executor support in the future.
TEST(SubgraphExpansionTest, ExecutorFieldOfNodeInSubgraphPreserved) {
CalculatorGraphConfig supergraph =
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"pb(
input_stream: "input"
executor {
name: "custom_thread_pool"
@@ -505,9 +505,9 @@ TEST(SubgraphExpansionTest, ExecutorFieldOfNodeInSubgraphPreserved) {
input_stream: "IN:input"
output_stream: "OUT:output"
}
)");
)pb");
CalculatorGraphConfig expected_graph = mediapipe::ParseTextProtoOrDie<
CalculatorGraphConfig>(R"(
CalculatorGraphConfig>(R"pb(
input_stream: "input"
executor {
name: "custom_thread_pool"
@@ -523,7 +523,7 @@ TEST(SubgraphExpansionTest, ExecutorFieldOfNodeInSubgraphPreserved) {
output_stream: "output"
executor: "custom_thread_pool"
}
)");
)pb");
MP_EXPECT_OK(tool::ExpandSubgraphs(&supergraph));
EXPECT_THAT(supergraph, mediapipe::EqualsProto(expected_graph));
}
@@ -545,17 +545,17 @@ REGISTER_MEDIAPIPE_GRAPH(GraphServicesClientTestSubgraph);
TEST(SubgraphExpansionTest, GraphServicesUsage) {
CalculatorGraphConfig supergraph =
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"pb(
node { calculator: "GraphServicesClientTestSubgraph" }
)");
)pb");
CalculatorGraphConfig expected_graph =
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"pb(
node {
name: "graphservicesclienttestsubgraph__ExpectedNode"
calculator: "ExpectedNode"
}
)");
)pb");
GraphServiceManager service_manager;
MP_ASSERT_OK(service_manager.SetServiceObject(
kStringTestService, std::make_shared<std::string>("ExpectedNode")));
@@ -67,7 +67,7 @@ REGISTER_CALCULATOR(TripleIntCalculator);
// Note that the input and output tags supplied to the container node,
// must match the input and output tags required by the subnodes.
CalculatorGraphConfig SubnodeContainerExample() {
return mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
return mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"pb(
input_stream: "foo"
input_stream: "enable"
input_side_packet: "timezone"
@@ -90,14 +90,14 @@ CalculatorGraphConfig SubnodeContainerExample() {
output_stream: "output_foo"
output_stream: "output_bar"
}
)");
)pb");
}
// A testing example of a SwitchContainer containing two subnodes.
// Note that the side-input and side-output tags supplied to the container node,
// must match the side-input and side-output tags required by the subnodes.
CalculatorGraphConfig SideSubnodeContainerExample() {
return mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
return mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"pb(
input_side_packet: "foo"
input_side_packet: "enable"
output_side_packet: "output_bar"
@@ -120,7 +120,7 @@ CalculatorGraphConfig SideSubnodeContainerExample() {
output_side_packet: "output_foo"
output_side_packet: "output_bar"
}
)");
)pb");
}
// Runs the test container graph with a few input packets.
@@ -217,7 +217,7 @@ TEST(SwitchContainerTest, ApplyToSubnodes) {
EXPECT_TRUE(SubgraphRegistry::IsRegistered("SwitchContainer"));
CalculatorGraphConfig supergraph = SubnodeContainerExample();
CalculatorGraphConfig expected_graph =
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"pb(
node {
name: "switchcontainer__SwitchDemuxCalculator"
calculator: "SwitchDemuxCalculator"
@@ -256,7 +256,7 @@ TEST(SwitchContainerTest, ApplyToSubnodes) {
input_stream: "foo"
input_stream: "enable"
input_side_packet: "timezone"
)");
)pb");
expected_graph = OrderNodes(expected_graph, {4, 0, 3, 1, 2});
MP_EXPECT_OK(tool::ExpandSubgraphs(&supergraph));
EXPECT_THAT(supergraph, mediapipe::EqualsProto(expected_graph));
@@ -275,7 +275,7 @@ TEST(SwitchContainerTest, ApplyToSideSubnodes) {
EXPECT_TRUE(SubgraphRegistry::IsRegistered("SwitchContainer"));
CalculatorGraphConfig supergraph = SideSubnodeContainerExample();
CalculatorGraphConfig expected_graph =
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"pb(
input_side_packet: "foo"
input_side_packet: "enable"
output_side_packet: "output_bar"
@@ -314,7 +314,7 @@ TEST(SwitchContainerTest, ApplyToSideSubnodes) {
output_side_packet: "output_foo"
output_side_packet: "output_bar"
}
)");
)pb");
expected_graph = OrderNodes(expected_graph, {4, 0, 3, 1, 2});
MP_EXPECT_OK(tool::ExpandSubgraphs(&supergraph));
EXPECT_THAT(supergraph, mediapipe::EqualsProto(expected_graph));
@@ -332,7 +332,7 @@ TEST(SwitchContainerTest, RunWithSideSubnodes) {
TEST(SwitchContainerTest, ValidateSideInputs) {
EXPECT_TRUE(SubgraphRegistry::IsRegistered("SwitchContainer"));
CalculatorGraphConfig supergraph =
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
mediapipe::ParseTextProtoOrDie<CalculatorGraphConfig>(R"pb(
input_side_packet: "foo"
input_side_packet: "enable"
output_side_packet: "output_bar"
@@ -356,7 +356,7 @@ TEST(SwitchContainerTest, ValidateSideInputs) {
output_side_packet: "output_foo"
output_side_packet: "output_bar"
}
)");
)pb");
auto status = tool::ExpandSubgraphs(&supergraph);
EXPECT_EQ(std::pair(status.code(), std::string(status.message())),
std::pair(absl::StatusCode::kInvalidArgument,