summaryrefslogtreecommitdiffstats
path: root/broadcastradio
diff options
context:
space:
mode:
authorZhuoyao Zhang <zhuoyao@google.com>2018-02-14 17:25:33 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2018-02-14 17:25:33 +0000
commitb46346f9bd2f8a23f2b9a2503093001fdec430ac (patch)
treedd1c3befb372c73dc9e2cf9af18fea8944d41efa /broadcastradio
parent68b416bfd9e2098679aba45ab7d7b0b31345d328 (diff)
parent190548f558f3156356f6244c70733025da95598f (diff)
downloadandroid_hardware_interfaces-b46346f9bd2f8a23f2b9a2503093001fdec430ac.tar.gz
android_hardware_interfaces-b46346f9bd2f8a23f2b9a2503093001fdec430ac.tar.bz2
android_hardware_interfaces-b46346f9bd2f8a23f2b9a2503093001fdec430ac.zip
Merge "Convert broadcastradio hal test to use VtsHalHidlTargetTestEnvBase"
Diffstat (limited to 'broadcastradio')
-rw-r--r--broadcastradio/1.0/vts/functional/Android.bp5
-rw-r--r--broadcastradio/1.0/vts/functional/VtsHalBroadcastradioV1_0TargetTest.cpp20
-rw-r--r--broadcastradio/1.1/vts/functional/VtsHalBroadcastradioV1_1TargetTest.cpp21
-rw-r--r--broadcastradio/2.0/vts/functional/VtsHalBroadcastradioV2_0TargetTest.cpp12
-rw-r--r--broadcastradio/common/vts/utils/Android.bp4
-rw-r--r--broadcastradio/common/vts/utils/include/broadcastradio-vts-utils/environment-utils.h41
6 files changed, 88 insertions, 15 deletions
diff --git a/broadcastradio/1.0/vts/functional/Android.bp b/broadcastradio/1.0/vts/functional/Android.bp
index f31a2dcf8..7040a0177 100644
--- a/broadcastradio/1.0/vts/functional/Android.bp
+++ b/broadcastradio/1.0/vts/functional/Android.bp
@@ -18,5 +18,8 @@ cc_test {
name: "VtsHalBroadcastradioV1_0TargetTest",
defaults: ["VtsHalTargetTestDefaults"],
srcs: ["VtsHalBroadcastradioV1_0TargetTest.cpp"],
- static_libs: ["android.hardware.broadcastradio@1.0"],
+ static_libs: [
+ "android.hardware.broadcastradio@1.0",
+ "android.hardware.broadcastradio@vts-utils-lib",
+ ],
}
diff --git a/broadcastradio/1.0/vts/functional/VtsHalBroadcastradioV1_0TargetTest.cpp b/broadcastradio/1.0/vts/functional/VtsHalBroadcastradioV1_0TargetTest.cpp
index fd048db35..90c846375 100644
--- a/broadcastradio/1.0/vts/functional/VtsHalBroadcastradioV1_0TargetTest.cpp
+++ b/broadcastradio/1.0/vts/functional/VtsHalBroadcastradioV1_0TargetTest.cpp
@@ -22,12 +22,12 @@
#include <hidl/HidlTransportSupport.h>
#include <utils/threads.h>
-#include <android/hardware/broadcastradio/1.0/IBroadcastRadioFactory.h>
#include <android/hardware/broadcastradio/1.0/IBroadcastRadio.h>
+#include <android/hardware/broadcastradio/1.0/IBroadcastRadioFactory.h>
#include <android/hardware/broadcastradio/1.0/ITuner.h>
#include <android/hardware/broadcastradio/1.0/ITunerCallback.h>
#include <android/hardware/broadcastradio/1.0/types.h>
-
+#include <broadcastradio-vts-utils/environment-utils.h>
using ::android::sp;
using ::android::Mutex;
@@ -48,6 +48,7 @@ using ::android::hardware::broadcastradio::V1_0::ProgramInfo;
using ::android::hardware::broadcastradio::V1_0::MetaData;
using ::android::hardware::broadcastradio::V1_0::MetadataKey;
using ::android::hardware::broadcastradio::V1_0::MetadataType;
+using ::android::hardware::broadcastradio::vts::BroadcastRadioHidlEnvironment;
#define RETURN_IF_SKIPPED \
if (skipped) { \
@@ -55,8 +56,8 @@ using ::android::hardware::broadcastradio::V1_0::MetadataType;
return; \
}
+static BroadcastRadioHidlEnvironment<IBroadcastRadioFactory>* gEnv = nullptr;
// The main test class for Broadcast Radio HIDL HAL.
-
class BroadcastRadioHidlTest : public ::testing::VtsHalHidlTargetTestBase,
public ::testing::WithParamInterface<Class> {
protected:
@@ -67,7 +68,7 @@ class BroadcastRadioHidlTest : public ::testing::VtsHalHidlTargetTestBase,
skipped = false;
sp<IBroadcastRadioFactory> factory =
- ::testing::VtsHalHidlTargetTestBase::getService<IBroadcastRadioFactory>();
+ getService<IBroadcastRadioFactory>(gEnv->getServiceName<IBroadcastRadioFactory>());
ASSERT_NE(nullptr, factory.get());
Result connectResult;
@@ -731,8 +732,11 @@ INSTANTIATE_TEST_CASE_P(
::testing::Values(Class::AM_FM, Class::SAT, Class::DT));
int main(int argc, char** argv) {
- ::testing::InitGoogleTest(&argc, argv);
- int status = RUN_ALL_TESTS();
- ALOGI("Test result = %d", status);
- return status;
+ gEnv = new BroadcastRadioHidlEnvironment<IBroadcastRadioFactory>;
+ ::testing::AddGlobalTestEnvironment(gEnv);
+ ::testing::InitGoogleTest(&argc, argv);
+ gEnv->init(&argc, argv);
+ int status = RUN_ALL_TESTS();
+ ALOGI("Test result = %d", status);
+ return status;
}
diff --git a/broadcastradio/1.1/vts/functional/VtsHalBroadcastradioV1_1TargetTest.cpp b/broadcastradio/1.1/vts/functional/VtsHalBroadcastradioV1_1TargetTest.cpp
index 823d14c44..668773196 100644
--- a/broadcastradio/1.1/vts/functional/VtsHalBroadcastradioV1_1TargetTest.cpp
+++ b/broadcastradio/1.1/vts/functional/VtsHalBroadcastradioV1_1TargetTest.cpp
@@ -25,6 +25,7 @@
#include <android/hardware/broadcastradio/1.1/types.h>
#include <broadcastradio-utils-1x/Utils.h>
#include <broadcastradio-vts-utils/call-barrier.h>
+#include <broadcastradio-vts-utils/environment-utils.h>
#include <broadcastradio-vts-utils/mock-timeout.h>
#include <broadcastradio-vts-utils/pointer-utils.h>
#include <cutils/native_handle.h>
@@ -58,6 +59,7 @@ using V1_0::MetadataKey;
using V1_0::MetadataType;
using broadcastradio::vts::clearAndWait;
+using broadcastradio::vts::BroadcastRadioHidlEnvironment;
static constexpr auto kConfigTimeout = 10s;
static constexpr auto kConnectModuleTimeout = 1s;
@@ -91,6 +93,8 @@ struct TunerCallbackMock : public ITunerCallback {
MOCK_TIMEOUT_METHOD1(currentProgramInfoChanged, Return<void>(const ProgramInfo&));
};
+static BroadcastRadioHidlEnvironment<IBroadcastRadioFactory>* gEnv = nullptr;
+
class BroadcastRadioHalTest : public ::testing::VtsHalHidlTargetTestBase,
public ::testing::WithParamInterface<Class> {
protected:
@@ -119,7 +123,8 @@ void BroadcastRadioHalTest::SetUp() {
radioClass = GetParam();
// lookup HIDL service
- auto factory = getService<IBroadcastRadioFactory>();
+ auto factory =
+ getService<IBroadcastRadioFactory>(gEnv->getServiceName<IBroadcastRadioFactory>());
ASSERT_NE(nullptr, factory.get());
// connect radio module
@@ -606,8 +611,14 @@ INSTANTIATE_TEST_CASE_P(BroadcastRadioHalTestCases, BroadcastRadioHalTest,
} // namespace android
int main(int argc, char** argv) {
- ::testing::InitGoogleTest(&argc, argv);
- int status = RUN_ALL_TESTS();
- ALOGI("Test result = %d", status);
- return status;
+ using android::hardware::broadcastradio::V1_1::vts::gEnv;
+ using android::hardware::broadcastradio::V1_1::IBroadcastRadioFactory;
+ using android::hardware::broadcastradio::vts::BroadcastRadioHidlEnvironment;
+ gEnv = new BroadcastRadioHidlEnvironment<IBroadcastRadioFactory>;
+ ::testing::AddGlobalTestEnvironment(gEnv);
+ ::testing::InitGoogleTest(&argc, argv);
+ gEnv->init(&argc, argv);
+ int status = RUN_ALL_TESTS();
+ ALOGI("Test result = %d", status);
+ return status;
}
diff --git a/broadcastradio/2.0/vts/functional/VtsHalBroadcastradioV2_0TargetTest.cpp b/broadcastradio/2.0/vts/functional/VtsHalBroadcastradioV2_0TargetTest.cpp
index 2a5ec8fee..6877f0745 100644
--- a/broadcastradio/2.0/vts/functional/VtsHalBroadcastradioV2_0TargetTest.cpp
+++ b/broadcastradio/2.0/vts/functional/VtsHalBroadcastradioV2_0TargetTest.cpp
@@ -26,6 +26,7 @@
#include <android/hardware/broadcastradio/2.0/types.h>
#include <broadcastradio-utils-2x/Utils.h>
#include <broadcastradio-vts-utils/call-barrier.h>
+#include <broadcastradio-vts-utils/environment-utils.h>
#include <broadcastradio-vts-utils/mock-timeout.h>
#include <broadcastradio-vts-utils/pointer-utils.h>
#include <cutils/bitops.h>
@@ -52,6 +53,7 @@ using testing::DoAll;
using testing::Invoke;
using testing::SaveArg;
+using broadcastradio::vts::BroadcastRadioHidlEnvironment;
using broadcastradio::vts::CallBarrier;
using broadcastradio::vts::clearAndWait;
using utils::make_identifier;
@@ -97,6 +99,8 @@ struct AnnouncementListenerMock : public IAnnouncementListener {
MOCK_METHOD1(onListUpdated, Return<void>(const hidl_vec<Announcement>&));
};
+static BroadcastRadioHidlEnvironment<IBroadcastRadio>* gEnv = nullptr;
+
class BroadcastRadioHalTest : public ::testing::VtsHalHidlTargetTestBase {
protected:
virtual void SetUp() override;
@@ -171,7 +175,7 @@ void BroadcastRadioHalTest::SetUp() {
EXPECT_EQ(nullptr, mModule.get()) << "Module is already open";
// lookup HIDL service (radio module)
- mModule = getService<IBroadcastRadio>();
+ mModule = getService<IBroadcastRadio>(gEnv->getServiceName<IBroadcastRadio>());
ASSERT_NE(nullptr, mModule.get()) << "Couldn't find broadcast radio HAL implementation";
// get module properties
@@ -804,7 +808,13 @@ TEST_F(BroadcastRadioHalTest, AnnouncementListenerRegistration) {
} // namespace android
int main(int argc, char** argv) {
+ using android::hardware::broadcastradio::V2_0::vts::gEnv;
+ using android::hardware::broadcastradio::V2_0::IBroadcastRadio;
+ using android::hardware::broadcastradio::vts::BroadcastRadioHidlEnvironment;
+ gEnv = new BroadcastRadioHidlEnvironment<IBroadcastRadio>;
+ ::testing::AddGlobalTestEnvironment(gEnv);
::testing::InitGoogleTest(&argc, argv);
+ gEnv->init(&argc, argv);
int status = RUN_ALL_TESTS();
ALOGI("Test result = %d", status);
return status;
diff --git a/broadcastradio/common/vts/utils/Android.bp b/broadcastradio/common/vts/utils/Android.bp
index 4ba8a1708..d3edc7667 100644
--- a/broadcastradio/common/vts/utils/Android.bp
+++ b/broadcastradio/common/vts/utils/Android.bp
@@ -25,4 +25,8 @@ cc_library_static {
"-Wextra",
"-Werror",
],
+ static_libs: [
+ "VtsHalHidlTargetTestBase",
+ ],
+ group_static_libs: true,
}
diff --git a/broadcastradio/common/vts/utils/include/broadcastradio-vts-utils/environment-utils.h b/broadcastradio/common/vts/utils/include/broadcastradio-vts-utils/environment-utils.h
new file mode 100644
index 000000000..274e6322b
--- /dev/null
+++ b/broadcastradio/common/vts/utils/include/broadcastradio-vts-utils/environment-utils.h
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2018 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.
+ */
+#ifndef ANDROID_HARDWARE_BROADCASTRADIO_VTS_ENVIRONMENT_UTILS
+#define ANDROID_HARDWARE_BROADCASTRADIO_VTS_ENVIRONMENT_UTILS
+
+#include <VtsHalHidlTargetTestEnvBase.h>
+
+namespace android {
+namespace hardware {
+namespace broadcastradio {
+namespace vts {
+
+// Test environment for BroadcastRadio HIDL HAL.
+template <typename... T>
+class BroadcastRadioHidlEnvironment : public ::testing::VtsHalHidlTargetTestEnvBase {
+ public:
+ virtual void registerTestServices() override {
+ using expander = int[];
+ (void)expander{0, (registerTestService<T>(), 0)...};
+ }
+};
+
+} // namespace vts
+} // namespace broadcastradio
+} // namespace hardware
+} // namespace android
+
+#endif // ANDROID_HARDWARE_BROADCASTRADIO_VTS_ENVIRONMENT_UTILS