diff options
author | Tao Bao <tbao@google.com> | 2019-04-15 12:45:50 -0700 |
---|---|---|
committer | Tao Bao <tbao@google.com> | 2019-04-26 12:21:38 -0700 |
commit | 178cdd4f5c6ae59d5aaae2614f22cd783eba60d8 (patch) | |
tree | bc196683e4994ca538ae0317719f264a828dcfb0 /tests | |
parent | 378bfbfc5c6f268c16b7f1a254de0ed36da52012 (diff) | |
download | android_bootable_recovery-178cdd4f5c6ae59d5aaae2614f22cd783eba60d8.tar.gz android_bootable_recovery-178cdd4f5c6ae59d5aaae2614f22cd783eba60d8.tar.bz2 android_bootable_recovery-178cdd4f5c6ae59d5aaae2614f22cd783eba60d8.zip |
Remove the FD parameter from FuseDataProvider ctor.
This leaves the FD implementation details to subclasses. In particular,
it allows minadbd to do additional works with the FD after sideloading.
Bug: 128415917
Test: atest recovery_component_test
Test: atest minadbd_test
Test: Sideload package on taimen.
Change-Id: I106bbaad05201227bbc5fe28890bbbb06fdcb67e
Merged-In: I106bbaad05201227bbc5fe28890bbbb06fdcb67e
(cherry picked from commit 2be9737cf449dd0650c85ee5168d09b12d386077)
Diffstat (limited to 'tests')
-rw-r--r-- | tests/component/sideload_test.cpp | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/tests/component/sideload_test.cpp b/tests/component/sideload_test.cpp index f5981acb..6add99f4 100644 --- a/tests/component/sideload_test.cpp +++ b/tests/component/sideload_test.cpp @@ -22,7 +22,6 @@ #include <android-base/file.h> #include <android-base/strings.h> -#include <android-base/unique_fd.h> #include <gtest/gtest.h> #include "fuse_provider.h" @@ -32,17 +31,26 @@ TEST(SideloadTest, fuse_device) { ASSERT_EQ(0, access("/dev/fuse", R_OK | W_OK)); } +class FuseTestDataProvider : public FuseDataProvider { + public: + FuseTestDataProvider(uint64_t file_size, uint32_t block_size) + : FuseDataProvider(file_size, block_size) {} + + private: + bool ReadBlockAlignedData(uint8_t*, uint32_t, uint32_t) const override { + return true; + } +}; + TEST(SideloadTest, run_fuse_sideload_wrong_parameters) { - auto provider_small_block = - std::make_unique<FuseFileDataProvider>(android::base::unique_fd(), 4096, 4095); + auto provider_small_block = std::make_unique<FuseTestDataProvider>(4096, 4095); ASSERT_EQ(-1, run_fuse_sideload(std::move(provider_small_block))); - auto provider_large_block = - std::make_unique<FuseFileDataProvider>(android::base::unique_fd(), 4096, (1 << 22) + 1); + auto provider_large_block = std::make_unique<FuseTestDataProvider>(4096, (1 << 22) + 1); ASSERT_EQ(-1, run_fuse_sideload(std::move(provider_large_block))); - auto provider_too_many_blocks = std::make_unique<FuseFileDataProvider>( - android::base::unique_fd(), ((1 << 18) + 1) * 4096, 4096); + auto provider_too_many_blocks = + std::make_unique<FuseTestDataProvider>(((1 << 18) + 1) * 4096, 4096); ASSERT_EQ(-1, run_fuse_sideload(std::move(provider_too_many_blocks))); } |