summaryrefslogtreecommitdiff
path: root/fastboot/fuzzy_fastboot/main.cpp
diff options
context:
space:
mode:
authorHridya Valsaraju <hridya@google.com>2019-03-16 21:25:01 -0700
committerHridya Valsaraju <hridya@google.com>2019-03-19 14:33:54 -0700
commit68e639ecf6ee36b1af8bcf77e57efa8a64ffce09 (patch)
tree0c280ef1ce928233de44a5772be57aa5458365e0 /fastboot/fuzzy_fastboot/main.cpp
parentaaee497db2b74e55dc1779abb41b294afb954349 (diff)
Add a test for logical partitions.
Test: ./fuzzy_fastboot --gtest_filter=LogicalPartitionCompliance* Bug: 117220134 Change-Id: Ib68f98ec5c8c402f9a80139134a0118ab65f8cd3
Diffstat (limited to 'fastboot/fuzzy_fastboot/main.cpp')
-rw-r--r--fastboot/fuzzy_fastboot/main.cpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/fastboot/fuzzy_fastboot/main.cpp b/fastboot/fuzzy_fastboot/main.cpp
index ef3477109..82e899d65 100644
--- a/fastboot/fuzzy_fastboot/main.cpp
+++ b/fastboot/fuzzy_fastboot/main.cpp
@@ -176,6 +176,38 @@ TEST(USBFunctionality, USBConnect) {
delete transport;
}
}
+// Testing creation/resize/delete of logical partitions
+TEST_F(LogicalPartitionCompliance, CreateResizeDeleteLP) {
+ ASSERT_TRUE(UserSpaceFastboot());
+ GTEST_LOG_(INFO) << "Testing 'fastboot create-logical-partition' command";
+ EXPECT_EQ(fb->CreatePartition("test_partition_a", "0"), SUCCESS)
+ << "create-logical-partition failed";
+ GTEST_LOG_(INFO) << "Testing 'fastboot resize-logical-partition' command";
+ EXPECT_EQ(fb->ResizePartition("test_partition_a", "4096"), SUCCESS)
+ << "resize-logical-partition failed";
+ std::vector<char> buf(4096);
+
+ GTEST_LOG_(INFO) << "Flashing a logical partition..";
+ EXPECT_EQ(fb->FlashPartition("test_partition_a", buf), SUCCESS)
+ << "flash logical -partition failed";
+ GTEST_LOG_(INFO) << "Rebooting to bootloader mode";
+ // Reboot to bootloader mode and attempt to flash the logical partitions
+ fb->RebootTo("bootloader");
+
+ ReconnectFastbootDevice();
+ ASSERT_FALSE(UserSpaceFastboot());
+ GTEST_LOG_(INFO) << "Attempt to flash a logical partition..";
+ EXPECT_EQ(fb->FlashPartition("test_partition", buf), DEVICE_FAIL)
+ << "flash logical partition must fail in bootloader";
+ GTEST_LOG_(INFO) << "Rebooting back to fastbootd mode";
+ fb->RebootTo("fastboot");
+
+ ReconnectFastbootDevice();
+ ASSERT_TRUE(UserSpaceFastboot());
+ GTEST_LOG_(INFO) << "Testing 'fastboot delete-logical-partition' command";
+ EXPECT_EQ(fb->DeletePartition("test_partition_a"), SUCCESS)
+ << "delete logical-partition failed";
+}
// Conformance tests
TEST_F(Conformance, GetVar) {