blob: 53282076dfd2b552169dcfe76870dc488df120fd [file] [log] [blame]
Alex Deymoaea4c1c2015-08-19 20:24:43 -07001//
2// Copyright (C) 2015 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//
Alex Deymo2b19cfb2015-03-26 00:35:07 -070016
17#include "update_engine/payload_generator/fake_filesystem.h"
18
19#include <gtest/gtest.h>
20
21namespace chromeos_update_engine {
22
Amin Hassani232f8f92019-01-14 16:15:31 -080023FakeFilesystem::FakeFilesystem(uint64_t block_size, uint64_t block_count)
24 : block_size_(block_size), block_count_(block_count) {}
Alex Deymo2b19cfb2015-03-26 00:35:07 -070025
26size_t FakeFilesystem::GetBlockSize() const {
27 return block_size_;
28}
29
30size_t FakeFilesystem::GetBlockCount() const {
31 return block_count_;
32}
33
34bool FakeFilesystem::GetFiles(std::vector<File>* files) const {
35 *files = files_;
36 return true;
37}
38
39void FakeFilesystem::AddFile(const std::string& filename,
Chih-Hung Hsieh5c6bb1d2016-07-27 13:33:15 -070040 const std::vector<Extent>& extents) {
Alex Deymo2b19cfb2015-03-26 00:35:07 -070041 File file;
42 file.name = filename;
43 file.extents = extents;
44 for (const Extent& extent : extents) {
Alex Deymo80f70ff2016-02-10 16:08:11 -080045 EXPECT_LE(0U, extent.start_block());
Alex Deymo2b19cfb2015-03-26 00:35:07 -070046 EXPECT_LE(extent.start_block() + extent.num_blocks(), block_count_);
47 }
48 files_.push_back(file);
49}
50
Alex Deymo2b19cfb2015-03-26 00:35:07 -070051} // namespace chromeos_update_engine