From e475852cf6cb6d7014188d2be619bc5ae7e6a52b Mon Sep 17 00:00:00 2001 From: Kelvin Zhang Date: Thu, 8 Jul 2021 10:52:18 -0400 Subject: [PATCH] Add MockSnapshotWriter Test: th Change-Id: Ifc365e3bafc07f0708d9e2113afa434d73f32e28 --- .../libsnapshot/mock_snapshot_writer.h | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 fs_mgr/libsnapshot/include/libsnapshot/mock_snapshot_writer.h diff --git a/fs_mgr/libsnapshot/include/libsnapshot/mock_snapshot_writer.h b/fs_mgr/libsnapshot/include/libsnapshot/mock_snapshot_writer.h new file mode 100644 index 000000000..0457986c0 --- /dev/null +++ b/fs_mgr/libsnapshot/include/libsnapshot/mock_snapshot_writer.h @@ -0,0 +1,52 @@ +// +// Copyright (C) 2021 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#include +#include + +namespace android::snapshot { + +class MockSnapshotWriter : public ISnapshotWriter { + public: + using FileDescriptor = ISnapshotWriter::FileDescriptor; + + explicit MockSnapshotWriter(const CowOptions& options) : ISnapshotWriter(options) {} + MockSnapshotWriter() : ISnapshotWriter({}) {} + + MOCK_METHOD(bool, Finalize, (), (override)); + + // Return number of bytes the cow image occupies on disk. + MOCK_METHOD(uint64_t, GetCowSize, (), (override)); + + // Returns true if AddCopy() operations are supported. + MOCK_METHOD(bool, SupportsCopyOperation, (), (const override)); + + MOCK_METHOD(bool, EmitCopy, (uint64_t, uint64_t), (override)); + MOCK_METHOD(bool, EmitRawBlocks, (uint64_t, const void*, size_t), (override)); + MOCK_METHOD(bool, EmitZeroBlocks, (uint64_t, uint64_t), (override)); + MOCK_METHOD(bool, EmitLabel, (uint64_t), (override)); + MOCK_METHOD(bool, EmitSequenceData, (size_t, const uint32_t*), (override)); + + // Open the writer in write mode (no append). + MOCK_METHOD(bool, Initialize, (), (override)); + + // Open the writer in append mode, with the last label to resume + // from. See CowWriter::InitializeAppend. + MOCK_METHOD(bool, InitializeAppend, (uint64_t label), (override)); + + MOCK_METHOD(std::unique_ptr, OpenReader, (), (override)); +}; +} // namespace android::snapshot