blob: a00ec611e23bf30f9c8ba905a6e49966b101d6c4 [file] [log] [blame]
Kelvin Zhang44858972020-11-11 09:25:01 -05001//
2// Copyright (C) 2018 The Android Open Source Project
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8// http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15//
16
17#include <stdint.h>
18
19#include <memory>
20#include <set>
21#include <string>
22#include <vector>
23
24#include <gmock/gmock.h>
25
26#include "update_engine/common/dynamic_partition_control_interface.h"
27#include "update_engine/payload_consumer/file_descriptor.h"
28
29namespace chromeos_update_engine {
30
31class MockDynamicPartitionControl : public DynamicPartitionControlInterface {
32 public:
33 MOCK_METHOD(void, Cleanup, (), (override));
34 MOCK_METHOD(bool, GetDeviceDir, (std::string*), (override));
35 MOCK_METHOD(FeatureFlag, GetDynamicPartitionsFeatureFlag, (), (override));
36 MOCK_METHOD(FeatureFlag, GetVirtualAbCompressionFeatureFlag, (), (override));
37 MOCK_METHOD(FeatureFlag, GetVirtualAbFeatureFlag, (), (override));
38 MOCK_METHOD(bool, FinishUpdate, (bool), (override));
39 MOCK_METHOD(FileDescriptorPtr,
40 OpenCowReader,
41 (const std::string& unsuffixed_partition_name,
42 const std::optional<std::string>& source_path,
43 bool is_append),
44 (override));
45 MOCK_METHOD(bool, MapAllPartitions, (), (override));
46 MOCK_METHOD(bool, UnmapAllPartitions, (), (override));
47
48 MOCK_METHOD(bool,
49 OptimizeOperation,
50 (const std::string&, const InstallOperation&, InstallOperation*),
51 (override));
52
53 std::unique_ptr<android::snapshot::ISnapshotWriter> OpenCowWriter(
54 const std::string& unsuffixed_partition_name,
55 const std::optional<std::string>&,
56 bool is_append = false) override {
57 return nullptr;
58 }
59
60 MOCK_METHOD(
61 bool,
62 PreparePartitionsForUpdate,
63 (uint32_t, uint32_t, const DeltaArchiveManifest&, bool, uint64_t*),
64 (override));
65
66 MOCK_METHOD(bool, ResetUpdate, (PrefsInterface*), (override));
67 MOCK_METHOD(std::unique_ptr<AbstractAction>,
68 GetCleanupPreviousUpdateAction,
69 (BootControlInterface*,
70 PrefsInterface*,
71 CleanupPreviousUpdateActionDelegateInterface*),
72 (override));
73 MOCK_METHOD(bool,
74 ListDynamicPartitionsForSlot,
75 (uint32_t, std::vector<std::string>*),
76 (override));
77 MOCK_METHOD(bool,
78 VerifyExtentsForUntouchedPartitions,
79 (uint32_t, uint32_t, const std::vector<std::string>&),
80 (override));
81 MOCK_METHOD(bool, IsDynamicPartition, (const std::string&), (override));
Yifan Hongb0cbd392021-02-04 11:11:45 -080082 MOCK_METHOD(bool, UpdateUsesSnapshotCompression, (), (override));
Kelvin Zhang44858972020-11-11 09:25:01 -050083};
84
85} // namespace chromeos_update_engine