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

Commit 7b0b5469 authored by Lev Proleev's avatar Lev Proleev Committed by Xusong Wang
Browse files

Add missing NNAPI HIDL interface mock tests

prepareModelFromCache* was tested for handling of errors happening
during the preparation launch but not during the actual preparation.

Bug: 163801800
Test: mma
Test: atest neuralnetworks_utils_hal_common_test
Test: atest neuralnetworks_utils_hal_1_[0-3]_test
Change-Id: I2c4b235fd4877238d7a18be8b0ea051434c1df6b
Merged-In: I2c4b235fd4877238d7a18be8b0ea051434c1df6b
(cherry picked from commit c6cf50ad)
parent 5cfbacbb
Loading
Loading
Loading
Loading
+18 −1
Original line number Original line Diff line number Diff line
@@ -772,7 +772,7 @@ TEST(DeviceTest, prepareModelFromCache) {
    EXPECT_NE(result.value(), nullptr);
    EXPECT_NE(result.value(), nullptr);
}
}


TEST(DeviceTest, prepareModelFromCacheError) {
TEST(DeviceTest, prepareModelFromCacheLaunchError) {
    // setup call
    // setup call
    const auto mockDevice = createMockDevice();
    const auto mockDevice = createMockDevice();
    const auto device = Device::create(kName, mockDevice).value();
    const auto device = Device::create(kName, mockDevice).value();
@@ -790,6 +790,23 @@ TEST(DeviceTest, prepareModelFromCacheError) {
    EXPECT_EQ(result.error().code, nn::ErrorStatus::GENERAL_FAILURE);
    EXPECT_EQ(result.error().code, nn::ErrorStatus::GENERAL_FAILURE);
}
}


TEST(DeviceTest, prepareModelFromCacheReturnError) {
    // setup call
    const auto mockDevice = createMockDevice();
    const auto device = Device::create(kName, mockDevice).value();
    EXPECT_CALL(*mockDevice, prepareModelFromCache(_, _, _, _))
            .Times(1)
            .WillOnce(Invoke(makePreparedModelFromCacheReturn(
                    V1_0::ErrorStatus::NONE, V1_0::ErrorStatus::GENERAL_FAILURE, nullptr)));

    // run test
    const auto result = device->prepareModelFromCache({}, {}, {}, {});

    // verify result
    ASSERT_FALSE(result.has_value());
    EXPECT_EQ(result.error().code, nn::ErrorStatus::GENERAL_FAILURE);
}

TEST(DeviceTest, prepareModelFromCacheNullptrError) {
TEST(DeviceTest, prepareModelFromCacheNullptrError) {
    // setup call
    // setup call
    const auto mockDevice = createMockDevice();
    const auto mockDevice = createMockDevice();
+18 −1
Original line number Original line Diff line number Diff line
@@ -794,7 +794,7 @@ TEST(DeviceTest, prepareModelFromCache) {
    EXPECT_NE(result.value(), nullptr);
    EXPECT_NE(result.value(), nullptr);
}
}


TEST(DeviceTest, prepareModelFromCacheError) {
TEST(DeviceTest, prepareModelFromCacheLaunchError) {
    // setup call
    // setup call
    const auto mockDevice = createMockDevice();
    const auto mockDevice = createMockDevice();
    const auto device = Device::create(kName, mockDevice).value();
    const auto device = Device::create(kName, mockDevice).value();
@@ -812,6 +812,23 @@ TEST(DeviceTest, prepareModelFromCacheError) {
    EXPECT_EQ(result.error().code, nn::ErrorStatus::GENERAL_FAILURE);
    EXPECT_EQ(result.error().code, nn::ErrorStatus::GENERAL_FAILURE);
}
}


TEST(DeviceTest, prepareModelFromCacheReturnError) {
    // setup call
    const auto mockDevice = createMockDevice();
    const auto device = Device::create(kName, mockDevice).value();
    EXPECT_CALL(*mockDevice, prepareModelFromCache_1_3(_, _, _, _, _))
            .Times(1)
            .WillOnce(Invoke(makePreparedModelFromCacheReturn(
                    V1_3::ErrorStatus::NONE, V1_3::ErrorStatus::GENERAL_FAILURE, nullptr)));

    // run test
    const auto result = device->prepareModelFromCache({}, {}, {}, {});

    // verify result
    ASSERT_FALSE(result.has_value());
    EXPECT_EQ(result.error().code, nn::ErrorStatus::GENERAL_FAILURE);
}

TEST(DeviceTest, prepareModelFromCacheNullptrError) {
TEST(DeviceTest, prepareModelFromCacheNullptrError) {
    // setup call
    // setup call
    const auto mockDevice = createMockDevice();
    const auto mockDevice = createMockDevice();