diff options
author | Yifan Hong <elsk@google.com> | 2019-03-07 13:04:33 -0800 |
---|---|---|
committer | Yifan Hong <elsk@google.com> | 2019-03-07 13:05:11 -0800 |
commit | e6807ddec17da45161b5f20396776a0ba38b3680 (patch) | |
tree | c024a58d659e241dccf1fca3fa0eda50f468d51c /health | |
parent | edf188ad95ef15cd78090292901deccb4045959b (diff) | |
download | android_hardware_interfaces-e6807ddec17da45161b5f20396776a0ba38b3680.tar.gz android_hardware_interfaces-e6807ddec17da45161b5f20396776a0ba38b3680.tar.bz2 android_hardware_interfaces-e6807ddec17da45161b5f20396776a0ba38b3680.zip |
health: skip VTS on healthd if vendor HAL is present.
If vendor HAL is present, healthd is not used by the framework. VTS should
skip testing it when this is the case.
Provide a --force option to the test if one wants to test healthd.
Fixes: 118852225
Test: on walleye, test healthd with and without --force.
Change-Id: I85f792f25406b1c02887a0ac273730e719003e2f
Diffstat (limited to 'health')
-rw-r--r-- | health/2.0/vts/functional/Android.bp | 1 | ||||
-rw-r--r-- | health/2.0/vts/functional/VtsHalHealthV2_0TargetTest.cpp | 12 |
2 files changed, 13 insertions, 0 deletions
diff --git a/health/2.0/vts/functional/Android.bp b/health/2.0/vts/functional/Android.bp index 3544e5f0c..b0905487e 100644 --- a/health/2.0/vts/functional/Android.bp +++ b/health/2.0/vts/functional/Android.bp @@ -19,6 +19,7 @@ cc_test { defaults: ["VtsHalTargetTestDefaults"], srcs: ["VtsHalHealthV2_0TargetTest.cpp"], static_libs: [ + "libgflags", "android.hardware.health@1.0", "android.hardware.health@2.0", ], diff --git a/health/2.0/vts/functional/VtsHalHealthV2_0TargetTest.cpp b/health/2.0/vts/functional/VtsHalHealthV2_0TargetTest.cpp index f895aecfd..4af8a5df3 100644 --- a/health/2.0/vts/functional/VtsHalHealthV2_0TargetTest.cpp +++ b/health/2.0/vts/functional/VtsHalHealthV2_0TargetTest.cpp @@ -22,6 +22,7 @@ #include <android-base/logging.h> #include <android/hardware/health/2.0/IHealth.h> #include <android/hardware/health/2.0/types.h> +#include <gflags/gflags.h> using ::testing::AssertionFailure; using ::testing::AssertionResult; @@ -29,6 +30,8 @@ using ::testing::AssertionSuccess; using ::testing::VtsHalHidlTargetTestBase; using ::testing::VtsHalHidlTargetTestEnvBase; +DEFINE_bool(force, false, "Force test healthd even when the default instance is present."); + namespace android { namespace hardware { namespace health { @@ -57,6 +60,14 @@ class HealthHidlTest : public ::testing::VtsHalHidlTargetTestBase { public: virtual void SetUp() override { std::string serviceName = HealthHidlEnvironment::Instance()->getServiceName<IHealth>(); + + if (serviceName == "backup" && !FLAGS_force && + ::testing::VtsHalHidlTargetTestBase::getService<IHealth>() != nullptr) { + LOG(INFO) << "Skipping tests on healthd because the default instance is present. " + << "Use --force if you really want to test healthd."; + GTEST_SKIP(); + } + LOG(INFO) << "get service with name:" << serviceName; ASSERT_FALSE(serviceName.empty()); mHealth = ::testing::VtsHalHidlTargetTestBase::getService<IHealth>(serviceName); @@ -314,6 +325,7 @@ int main(int argc, char** argv) { ::testing::AddGlobalTestEnvironment(HealthHidlEnvironment::Instance()); ::testing::InitGoogleTest(&argc, argv); HealthHidlEnvironment::Instance()->init(&argc, argv); + gflags::ParseCommandLineFlags(&argc, &argv, true /* remove flags */); int status = RUN_ALL_TESTS(); LOG(INFO) << "Test result = " << status; return status; |