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

Commit eb1fdff7 authored by nelsonli's avatar nelsonli
Browse files

[vts-core] add VtsHalRadioConfigV1_0TargetTest to vts-core

Convert VtsHalRadioConfigV1_0TargetTest to be parameterized test
and add it to vts-core

Bug: 142397658
Test: $atest VtsHalRadioConfigV1_0TargetTest
Change-Id: Ie9b62e8e655b17577e01aebb3a30e37a598c7bdd
parent 69879436
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -29,5 +29,5 @@ cc_test {
        "android.hardware.radio.config@1.0",
    ],
    header_libs: ["radio.util.header@1.0"],
    test_suites: ["general-tests"],
    test_suites: ["general-tests", "vts-core"],
}
+4 −8
Original line number Diff line number Diff line
@@ -16,11 +16,7 @@

#include <radio_config_hidl_hal_utils.h>

int main(int argc, char** argv) {
    ::testing::AddGlobalTestEnvironment(RadioConfigHidlEnvironment::Instance());
    ::testing::InitGoogleTest(&argc, argv);
    RadioConfigHidlEnvironment::Instance()->init(&argc, argv);
    int status = RUN_ALL_TESTS();
    LOG(INFO) << "Test result = " << status;
    return status;
}
INSTANTIATE_TEST_SUITE_P(
        PerInstance, RadioConfigHidlTest,
        testing::ValuesIn(android::hardware::getAllHalInstanceNames(IRadioConfig::descriptor)),
        android::hardware::PrintInstanceNameToString);
+2 −2
Original line number Diff line number Diff line
@@ -21,7 +21,7 @@
/*
 * Test IRadioConfig.getSimSlotsStatus()
 */
TEST_F(RadioConfigHidlTest, getSimSlotsStatus) {
TEST_P(RadioConfigHidlTest, getSimSlotsStatus) {
    const int serial = GetRandomSerialNumber();
    Return<void> res = radioConfig->getSimSlotsStatus(serial);
    ASSERT_OK(res);
@@ -38,7 +38,7 @@ TEST_F(RadioConfigHidlTest, getSimSlotsStatus) {
/*
 * Test IRadioConfig.setSimSlotsMapping()
 */
TEST_F(RadioConfigHidlTest, setSimSlotsMapping) {
TEST_P(RadioConfigHidlTest, setSimSlotsMapping) {
    const int serial = GetRandomSerialNumber();
    android::hardware::hidl_vec<uint32_t> mapping = {0};
    Return<void> res = radioConfig->setSimSlotsMapping(serial, mapping);
+2 −6
Original line number Diff line number Diff line
@@ -17,14 +17,10 @@
#include <radio_config_hidl_hal_utils.h>

void RadioConfigHidlTest::SetUp() {
    radioConfig = ::testing::VtsHalHidlTargetTestBase::getService<IRadioConfig>(
        RadioConfigHidlEnvironment::Instance()->getServiceName<IRadioConfig>(
            hidl_string(RADIO_SERVICE_NAME)));
    radioConfig = IRadioConfig::getService(GetParam());
    if (radioConfig == NULL) {
        sleep(60);
        radioConfig = ::testing::VtsHalHidlTargetTestBase::getService<IRadioConfig>(
            RadioConfigHidlEnvironment::Instance()->getServiceName<IRadioConfig>(
                hidl_string(RADIO_SERVICE_NAME)));
        radioConfig = IRadioConfig::getService(GetParam());
    }
    ASSERT_NE(nullptr, radioConfig.get());

+4 −17
Original line number Diff line number Diff line
@@ -16,8 +16,6 @@

#include <android-base/logging.h>

#include <VtsHalHidlTargetTestBase.h>
#include <VtsHalHidlTargetTestEnvBase.h>
#include <chrono>
#include <condition_variable>
#include <mutex>
@@ -26,6 +24,9 @@
#include <android/hardware/radio/config/1.0/IRadioConfigIndication.h>
#include <android/hardware/radio/config/1.0/IRadioConfigResponse.h>
#include <android/hardware/radio/config/1.0/types.h>
#include <gtest/gtest.h>
#include <hidl/GtestPrinter.h>
#include <hidl/ServiceManagement.h>

#include "vts_test_util.h"

@@ -76,22 +77,8 @@ class RadioConfigIndication : public IRadioConfigIndication {
        RadioIndicationType type, const ::android::hardware::hidl_vec<SimSlotStatus>& slotStatus);
};

// Test environment for Radio HIDL HAL.
class RadioConfigHidlEnvironment : public ::testing::VtsHalHidlTargetTestEnvBase {
   public:
    // get the test environment singleton
    static RadioConfigHidlEnvironment* Instance() {
        static RadioConfigHidlEnvironment* instance = new RadioConfigHidlEnvironment;
        return instance;
    }
    virtual void registerTestServices() override { registerTestService<IRadioConfig>(); }

   private:
    RadioConfigHidlEnvironment() {}
};

// The main test class for Radio config HIDL.
class RadioConfigHidlTest : public ::testing::VtsHalHidlTargetTestBase {
class RadioConfigHidlTest : public ::testing::TestWithParam<std::string> {
   protected:
    std::mutex mtx_;
    std::condition_variable cv_;