summaryrefslogtreecommitdiffstats
path: root/health
diff options
context:
space:
mode:
authorYifan Hong <elsk@google.com>2019-03-07 13:04:33 -0800
committerYifan Hong <elsk@google.com>2019-03-07 13:05:11 -0800
commite6807ddec17da45161b5f20396776a0ba38b3680 (patch)
treec024a58d659e241dccf1fca3fa0eda50f468d51c /health
parentedf188ad95ef15cd78090292901deccb4045959b (diff)
downloadandroid_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.bp1
-rw-r--r--health/2.0/vts/functional/VtsHalHealthV2_0TargetTest.cpp12
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;