From 4758967bf91c557318f21b4b76982c981258adb5 Mon Sep 17 00:00:00 2001
From: David Anderson <dvander@google.com>
Date: Tue, 4 Sep 2018 16:22:41 -0700
Subject: [PATCH] fastbootd: Fix partition size testing issues.

Partition sizes must be reported with an "0x" prefix for fuzzy_fastboot.
Also, with dynamic partitions, the size of a partition can be 0.

Bug: 78793464
Test: fuzzy_fastboot Conformance.PartitionInfo does not error on
      partition sizes when using fastbootd

Change-Id: I4148440bd9ed420878940829618cbf8cee85bf6a
---
 fastboot/device/variables.cpp    | 2 +-
 fastboot/fuzzy_fastboot/main.cpp | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/fastboot/device/variables.cpp b/fastboot/device/variables.cpp
index 9f3fa7597d..91e844aa61 100644
--- a/fastboot/device/variables.cpp
+++ b/fastboot/device/variables.cpp
@@ -191,7 +191,7 @@ bool GetPartitionSize(FastbootDevice* device, const std::vector<std::string>& ar
         return false;
     }
     uint64_t size = get_block_device_size(handle.fd());
-    *message = android::base::StringPrintf("%" PRIX64, size);
+    *message = android::base::StringPrintf("0x%" PRIX64, size);
     return true;
 }
 
diff --git a/fastboot/fuzzy_fastboot/main.cpp b/fastboot/fuzzy_fastboot/main.cpp
index a7b22c6cf4..dd64082f7a 100644
--- a/fastboot/fuzzy_fastboot/main.cpp
+++ b/fastboot/fuzzy_fastboot/main.cpp
@@ -310,7 +310,7 @@ TEST_F(Conformance, PartitionInfo) {
             << "getvar:all did not report any partition-size: through INFO responses";
     std::set<std::string> allowed{"ext4", "f2fs", "raw"};
     for (const auto p : parts) {
-        EXPECT_GT(std::get<1>(p), 0);
+        EXPECT_GE(std::get<1>(p), 0);
         std::string part(std::get<0>(p));
         std::set<std::string> allowed{"ext4", "f2fs", "raw"};
         std::string resp;
-- 
GitLab