Flutter Engine Uber Docs
Docs for the entire Flutter Engine repo.
 
Loading...
Searching...
No Matches
pipeline_library_unittests.cc
Go to the documentation of this file.
1// Copyright 2013 The Flutter Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
6
7namespace impeller {
8namespace testing {
9
10TEST(MockPipelineLibrary, LogAndGetPipelineUsageSinglePipeline) {
11 MockPipelineLibrary pipeline_library;
12
13 PipelineDescriptor pipeline_desc;
14 pipeline_desc.SetLabel("pipeline");
15
16 pipeline_library.LogPipelineUsage(pipeline_desc);
17 pipeline_library.LogPipelineUsage(pipeline_desc);
18
19 auto usage_counts = pipeline_library.GetPipelineUseCounts();
20#if FLUTTER_RUNTIME_MODE == FLUTTER_RUNTIME_MODE_DEBUG || \
21 FLUTTER_RUNTIME_MODE == FLUTTER_RUNTIME_MODE_PROFILE
22 EXPECT_EQ(usage_counts[pipeline_desc], 2);
23#else
24 EXPECT_EQ(usage_counts[pipeline_desc], 0);
25#endif
26}
27
28TEST(MockPipelineLibrary, LogAndGetPipelineUsageMultiplePipelines) {
29 MockPipelineLibrary pipeline_library;
30
31 PipelineDescriptor pipeline_a;
32 pipeline_a.SetLabel("pipeline_a");
33
34 PipelineDescriptor pipeline_b;
35 pipeline_b.SetLabel("pipeline_b");
36
37 pipeline_library.LogPipelineUsage(pipeline_a);
38 pipeline_library.LogPipelineUsage(pipeline_a);
39 pipeline_library.LogPipelineUsage(pipeline_b);
40
41 auto usage_counts = pipeline_library.GetPipelineUseCounts();
42
43#if FLUTTER_RUNTIME_MODE == FLUTTER_RUNTIME_MODE_DEBUG || \
44 FLUTTER_RUNTIME_MODE == FLUTTER_RUNTIME_MODE_PROFILE
45 EXPECT_EQ(usage_counts[pipeline_a], 2);
46 EXPECT_EQ(usage_counts[pipeline_b], 1);
47#else
48 EXPECT_EQ(usage_counts[pipeline_a], 0);
49 EXPECT_EQ(usage_counts[pipeline_b], 0);
50#endif
51}
52
53} // namespace testing
54} // namespace impeller
PipelineDescriptor & SetLabel(std::string_view label)
void LogPipelineUsage(const PipelineDescriptor &p)
std::unordered_map< PipelineDescriptor, int, ComparableHash< PipelineDescriptor >, ComparableEqual< PipelineDescriptor > > GetPipelineUseCounts() const
TEST(FrameTimingsRecorderTest, RecordVsync)