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

Commit 2ec93aed authored by Zhuoyao Zhang's avatar Zhuoyao Zhang Committed by Gerrit Code Review
Browse files

Merge "Convert tetheroffload hal test to use VtsHalHidlTargetTestEnvBase"

parents c01ecb31 b51d4b2f
Loading
Loading
Loading
Loading
+20 −2
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
#define LOG_TAG "VtsOffloadConfigV1_0TargetTest"

#include <VtsHalHidlTargetTestBase.h>
#include <VtsHalHidlTargetTestEnvBase.h>
#include <android-base/stringprintf.h>
#include <android-base/unique_fd.h>
#include <android/hardware/tetheroffload/config/1.0/IOffloadConfig.h>
@@ -77,10 +78,25 @@ int netlinkSocket(unsigned groups) {
    return netlinkSocket(NETLINK_NETFILTER, groups);
}

// Test environment for OffloadConfig HIDL HAL.
class OffloadConfigHidlEnvironment : public ::testing::VtsHalHidlTargetTestEnvBase {
   public:
    // get the test environment singleton
    static OffloadConfigHidlEnvironment* Instance() {
        static OffloadConfigHidlEnvironment* instance = new OffloadConfigHidlEnvironment;
        return instance;
    }

    virtual void registerTestServices() override { registerTestService<IOffloadConfig>(); }
   private:
    OffloadConfigHidlEnvironment() {}
};

class OffloadConfigHidlTest : public testing::VtsHalHidlTargetTestBase {
   public:
    virtual void SetUp() override {
        config = testing::VtsHalHidlTargetTestBase::getService<IOffloadConfig>();
        config = testing::VtsHalHidlTargetTestBase::getService<IOffloadConfig>(
            OffloadConfigHidlEnvironment::Instance()->getServiceName<IOffloadConfig>());
        ASSERT_NE(nullptr, config.get()) << "Could not get HIDL instance";
    }

@@ -175,7 +191,9 @@ TEST_F(OffloadConfigHidlTest, TestSetHandle2OnlyNotOk) {
}

int main(int argc, char** argv) {
    testing::InitGoogleTest(&argc, argv);
    ::testing::AddGlobalTestEnvironment(OffloadConfigHidlEnvironment::Instance());
    ::testing::InitGoogleTest(&argc, argv);
    OffloadConfigHidlEnvironment::Instance()->init(&argc, argv);
    int status = RUN_ALL_TESTS();
    ALOGE("Test result with status=%d", status);
    return status;
+25 −3
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@

#include <VtsHalHidlTargetCallbackBase.h>
#include <VtsHalHidlTargetTestBase.h>
#include <VtsHalHidlTargetTestEnvBase.h>
#include <android-base/stringprintf.h>
#include <android-base/unique_fd.h>
#include <android/hardware/tetheroffload/config/1.0/IOffloadConfig.h>
@@ -111,6 +112,23 @@ class TetheringOffloadCallbackArgs {
    NatTimeoutUpdate last_params;
};

// Test environment for OffloadControl HIDL HAL.
class OffloadControlHidlEnvironment : public ::testing::VtsHalHidlTargetTestEnvBase {
   public:
    // get the test environment singleton
    static OffloadControlHidlEnvironment* Instance() {
        static OffloadControlHidlEnvironment* instance = new OffloadControlHidlEnvironment;
        return instance;
    }

    virtual void registerTestServices() override {
        registerTestService<IOffloadConfig>();
        registerTestService<IOffloadControl>();
    }
   private:
    OffloadControlHidlEnvironment() {}
};

class OffloadControlHidlTestBase : public testing::VtsHalHidlTargetTestBase {
   public:
    virtual void SetUp() override {
@@ -128,7 +146,8 @@ class OffloadControlHidlTestBase : public testing::VtsHalHidlTargetTestBase {
    // The IOffloadConfig HAL is tested more thoroughly elsewhere. He we just
    // setup everything correctly and verify basic readiness.
    void setupConfigHal() {
        config = testing::VtsHalHidlTargetTestBase::getService<IOffloadConfig>();
        config = testing::VtsHalHidlTargetTestBase::getService<IOffloadConfig>(
            OffloadControlHidlEnvironment::Instance()->getServiceName<IOffloadConfig>());
        ASSERT_NE(nullptr, config.get()) << "Could not get HIDL instance";

        unique_fd fd1(conntrackSocket(NFNLGRP_CONNTRACK_NEW | NFNLGRP_CONNTRACK_DESTROY));
@@ -156,7 +175,8 @@ class OffloadControlHidlTestBase : public testing::VtsHalHidlTargetTestBase {
    }

    void prepareControlHal() {
        control = testing::VtsHalHidlTargetTestBase::getService<IOffloadControl>();
        control = testing::VtsHalHidlTargetTestBase::getService<IOffloadControl>(
            OffloadControlHidlEnvironment::Instance()->getServiceName<IOffloadControl>());
        ASSERT_NE(nullptr, control.get()) << "Could not get HIDL instance";

        control_cb = new TetheringOffloadCallback();
@@ -660,7 +680,9 @@ TEST_F(OffloadControlHidlTest, RemoveDownstreamBogusPrefixFails) {
}

int main(int argc, char** argv) {
    testing::InitGoogleTest(&argc, argv);
    ::testing::AddGlobalTestEnvironment(OffloadControlHidlEnvironment::Instance());
    ::testing::InitGoogleTest(&argc, argv);
    OffloadControlHidlEnvironment::Instance()->init(&argc, argv);
    int status = RUN_ALL_TESTS();
    ALOGE("Test result with status=%d", status);
    return status;