From d22e2c5a87464ca252d088621abf0a9384f54618 Mon Sep 17 00:00:00 2001 From: Sandeep Patil Date: Tue, 2 May 2017 14:28:31 -0700 Subject: [PATCH] Add functional vts test for Health HAL Bug: 35915444 Test: Boot and run the test successfully on sailfish Change-Id: I5965d1ffbc4f1a89454f962698ce67adc4c35293 Signed-off-by: Sandeep Patil --- health/1.0/vts/functional/Android.bp | 32 ++++++++++ .../functional/VtsHalHealthV1_0TargetTest.cpp | 64 +++++++++++++++++++ health/Android.bp | 1 + 3 files changed, 97 insertions(+) create mode 100644 health/1.0/vts/functional/Android.bp create mode 100644 health/1.0/vts/functional/VtsHalHealthV1_0TargetTest.cpp diff --git a/health/1.0/vts/functional/Android.bp b/health/1.0/vts/functional/Android.bp new file mode 100644 index 0000000000..1a4c8c830d --- /dev/null +++ b/health/1.0/vts/functional/Android.bp @@ -0,0 +1,32 @@ +// +// Copyright (C) 2017 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +cc_test { + name: "VtsHalHealthV1_0TargetTest", + defaults: ["hidl_defaults"], + srcs: ["VtsHalHealthV1_0TargetTest.cpp"], + shared_libs: [ + "libhidlbase", + "liblog", + "libutils", + "android.hardware.health@1.0", + ], + static_libs: ["VtsHalHidlTargetTestBase"], + cflags: [ + "-O0", + "-g", + ] +} diff --git a/health/1.0/vts/functional/VtsHalHealthV1_0TargetTest.cpp b/health/1.0/vts/functional/VtsHalHealthV1_0TargetTest.cpp new file mode 100644 index 0000000000..324eb9ff95 --- /dev/null +++ b/health/1.0/vts/functional/VtsHalHealthV1_0TargetTest.cpp @@ -0,0 +1,64 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#define LOG_TAG "health_hidl_hal_test" + +#include +#include +#include +#include + +using HealthConfig = ::android::hardware::health::V1_0::HealthConfig; +using HealthInfo = ::android::hardware::health::V1_0::HealthInfo; +using IHealth = ::android::hardware::health::V1_0::IHealth; +using Result = ::android::hardware::health::V1_0::Result; + +using ::android::sp; + +class HealthHidlTest : public ::testing::VtsHalHidlTargetTestBase { + public: + virtual void SetUp() override { + health = ::testing::VtsHalHidlTargetTestBase::getService(); + ASSERT_NE(health, nullptr); + health->init(config, + [&](const auto& halConfigOut) { config = halConfigOut; }); + } + + sp health; + HealthConfig config; +}; + +/** + * Ensure EnergyCounter call returns positive energy counter or NOT_SUPPORTED + */ +TEST_F(HealthHidlTest, TestEnergyCounter) { + Result result; + int64_t energy = 0; + health->energyCounter([&](Result ret, int64_t energyOut) { + result = ret; + energy = energyOut; + }); + + ASSERT_TRUE(result == Result::SUCCESS || result == Result::NOT_SUPPORTED); + ASSERT_TRUE(result != Result::SUCCESS || energy > 0); +} + +int main(int argc, char **argv) { + ::testing::InitGoogleTest(&argc, argv); + int status = RUN_ALL_TESTS(); + ALOGI("Test result = %d", status); + return status; +} diff --git a/health/Android.bp b/health/Android.bp index bbb3e4bac0..33f70ebae2 100644 --- a/health/Android.bp +++ b/health/Android.bp @@ -1,4 +1,5 @@ // This is an autogenerated file, do not edit. subdirs = [ "1.0", + "1.0/vts/functional", ]