Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2120ecc3 authored by Hridya Valsaraju's avatar Hridya Valsaraju
Browse files

Add VTS tests for APIs that return storage info.

Bug: 68388678
Test: vts-tradefed run vts -m VtsHalHealthV2_0
Change-Id: Id1c3bad60ca35cc5c257e35725482ca5b883a3b5
parent f09d1188
Loading
Loading
Loading
Loading
+29 −0
Original line number Diff line number Diff line
@@ -180,6 +180,29 @@ AssertionResult isPropertyOk(Result res, const std::string& valueStr, bool pred,
    return AssertionFailure() << "Result is not SUCCESS or NOT_SUPPORTED: " << toString(res);
}

bool verifyStorageInfo(const hidl_vec<struct StorageInfo>& info) {
    for (size_t i = 0; i < info.size(); i++) {
        if (!(0 <= info[i].eol && info[i].eol <= 3 && 0 <= info[i].lifetimeA &&
              info[i].lifetimeA <= 0x0B && 0 <= info[i].lifetimeB && info[i].lifetimeB <= 0x0B)) {
            return false;
        }
    }

    return true;
}

bool verifyDiskStats(const hidl_vec<struct DiskStats>& stats) {
    for (size_t i = 0; i < stats.size(); i++) {
        if (!(stats[i].reads > 0 && stats[i].readMerges > 0 && stats[i].readSectors > 0 &&
              stats[i].readTicks > 0 && stats[i].writes > 0 && stats[i].writeMerges > 0 &&
              stats[i].writeSectors > 0 && stats[i].writeTicks > 0 && stats[i].ioTicks > 0)) {
            return false;
        }
    }

    return true;
}

TEST_F(HealthHidlTest, Properties) {
    EXPECT_OK(mHealth->getChargeCounter([](auto result, auto value) {
        EXPECT_VALID_OR_UNSUPPORTED_PROP(result, std::to_string(value), value > 0);
@@ -202,6 +225,12 @@ TEST_F(HealthHidlTest, Properties) {
            value == BatteryStatus::CHARGING || value == BatteryStatus::DISCHARGING ||
                value == BatteryStatus::NOT_CHARGING || value == BatteryStatus::FULL);
    }));
    EXPECT_OK(mHealth->getStorageInfo([](auto result, auto& value) {
        EXPECT_VALID_OR_UNSUPPORTED_PROP(result, toString(value), (verifyStorageInfo(value)));
    }));
    EXPECT_OK(mHealth->getDiskStats([](auto result, auto& value) {
        EXPECT_VALID_OR_UNSUPPORTED_PROP(result, toString(value), verifyDiskStats(value));
    }));
}

}  // namespace V2_0