diff options
author | Devin Moore <devinmoore@google.com> | 2023-09-19 01:54:09 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2023-09-19 01:54:09 +0000 |
commit | ea26da4ee0bb626812fd39c3aadcfe9cc746ef4c (patch) | |
tree | b9fb3871ced40028c637cc534e817d487f3332c5 | |
parent | adc096565cfdd5073d79a24de376465d97ab6ed7 (diff) | |
parent | e94e86f13bbb5a36a5ccd12dd9d762dcfda32328 (diff) | |
download | interfaces-ea26da4ee0bb626812fd39c3aadcfe9cc746ef4c.tar.gz |
Revert "sensorservice: Add a VTS test that stresses EventQueue creation" am: 5f498d0c73 am: 6c0e7ad387 am: e94e86f13b
Original change: https://android-review.googlesource.com/c/platform/frameworks/hardware/interfaces/+/2743874
Change-Id: I5458d0b58a3dd4aa0bf9943ec777ff525f3951b1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | sensorservice/1.0/vts/functional/VtsHalSensorManagerV1_0TargetTest.cpp | 41 | ||||
-rw-r--r-- | sensorservice/aidl/vts/VtsHalSensorManagerTargetTest.cpp | 43 |
2 files changed, 0 insertions, 84 deletions
diff --git a/sensorservice/1.0/vts/functional/VtsHalSensorManagerV1_0TargetTest.cpp b/sensorservice/1.0/vts/functional/VtsHalSensorManagerV1_0TargetTest.cpp index 15312df..cd91647 100644 --- a/sensorservice/1.0/vts/functional/VtsHalSensorManagerV1_0TargetTest.cpp +++ b/sensorservice/1.0/vts/functional/VtsHalSensorManagerV1_0TargetTest.cpp @@ -35,8 +35,6 @@ #include <sensors/convert.h> using ::android::sp; -using ::android::frameworks::sensorservice::V1_0::IEventQueue; -using ::android::frameworks::sensorservice::V1_0::IEventQueueCallback; using ::android::frameworks::sensorservice::V1_0::ISensorManager; using ::android::frameworks::sensorservice::V1_0::Result; using ::android::hardware::hidl_memory; @@ -291,45 +289,6 @@ TEST_P(SensorManagerTest, Accelerometer) { } } -class QueueCallback : public IEventQueueCallback { - public: - Return<void> onEvent(const Event &) override { - LOG(INFO) << "asdf onEvent callback called"; - return Return<void>(); - } -}; - -// Make sure the implementation can clean up old queues/loopers -TEST_P(SensorManagerTest, EventQueueStress) { - // sensorservice will create an FD for a looper for each event queue. - // Create and destroy an event queue enough times to hit the FD limit if the - // FDs are being leaked. - struct rlimit rlim; - ASSERT_EQ(getrlimit(RLIMIT_NOFILE, &rlim), 0); - LOG(INFO) << "rlim is : " << rlim.rlim_cur; - for (int i = 0; i <= rlim.rlim_cur; i++) { - sp<IEventQueue> queue; - sp<IEventQueueCallback> cb = new QueueCallback(); - ASSERT_OK(manager_->createEventQueue(cb, [&](const sp<IEventQueue> &queue_in, Result result) { - EXPECT_OK(result); - queue = queue_in; - })); - EXPECT_NE(queue, nullptr); - - auto sensorList = GetSensorList(); - ASSERT_RESULT_OK(sensorList); - for (const auto &sensor : *sensorList) { - if (sensor.flags == 0) continue; - ASSERT_OK(queue->enableSensor(sensor.sensorHandle, sensor.minDelay, sensor.minDelay)); - // Make sure sensor resources can be cleaned up. b/260017505 for cases not calling disable - ASSERT_OK(queue->disableSensor(sensor.sensorHandle)); - // Enable/disable the first available sensor to make sure the event - // queue object is set up in the framework - break; - } - } -} - GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(SensorManagerTest); INSTANTIATE_TEST_SUITE_P( PerInstance, SensorManagerTest, diff --git a/sensorservice/aidl/vts/VtsHalSensorManagerTargetTest.cpp b/sensorservice/aidl/vts/VtsHalSensorManagerTargetTest.cpp index 1f9853e..bf8d242 100644 --- a/sensorservice/aidl/vts/VtsHalSensorManagerTargetTest.cpp +++ b/sensorservice/aidl/vts/VtsHalSensorManagerTargetTest.cpp @@ -17,27 +17,22 @@ #define LOG_TAG "sensor_manager_aidl_hal_test" #include <aidl/Gtest.h> #include <aidl/Vintf.h> -#include <aidl/android/frameworks/sensorservice/BnEventQueueCallback.h> #include <aidl/android/frameworks/sensorservice/ISensorManager.h> #include <aidl/sensors/convert.h> #include <android-base/logging.h> #include <android-base/result.h> #include <android/binder_manager.h> -#include <android/binder_process.h> #include <android/sensor.h> #include <binder/IServiceManager.h> #include <cutils/ashmem.h> #include <gmock/gmock.h> #include <gtest/gtest.h> #include <sys/mman.h> -#include <sys/resource.h> #include <chrono> #include <thread> using aidl::android::frameworks::sensorservice::IDirectReportChannel; -using aidl::android::frameworks::sensorservice::IEventQueue; -using aidl::android::frameworks::sensorservice::IEventQueueCallback; using aidl::android::frameworks::sensorservice::ISensorManager; using aidl::android::hardware::common::Ashmem; using aidl::android::hardware::sensors::Event; @@ -79,8 +74,6 @@ static ::testing::AssertionResult isIncreasing(I begin, I end, F getField) { class SensorManagerTest : public ::testing::TestWithParam<std::string> { public: virtual void SetUp() override { - ABinderProcess_setThreadPoolMaxThreadCount(2); - ABinderProcess_startThreadPool(); manager_ = ISensorManager::fromBinder( ndk::SpAIBinder(AServiceManager_waitForService(GetParam().c_str()))); ASSERT_NE(manager_, nullptr); @@ -260,42 +253,6 @@ TEST_P(SensorManagerTest, Accelerometer) { } } -class QueueCallback : public ::aidl::android::frameworks::sensorservice::BnEventQueueCallback { - ::ndk::ScopedAStatus onEvent(const ::aidl::android::hardware::sensors::Event&) override { - return ::ndk::ScopedAStatus::ok(); - } -}; - -// Make sure the implementation can clean up old queues/loopers -TEST_P(SensorManagerTest, EventQueueStress) { - // sensorservice will create an FD for a looper for each event queue. - // Create and destroy an event queue enough times to hit the FD limit if the - // FDs are being leaked. - struct rlimit rlim; - ASSERT_EQ(getrlimit(RLIMIT_NOFILE, &rlim), 0); - LOG(INFO) << "rlim is : " << rlim.rlim_cur; - for (int i = 0; i <= rlim.rlim_cur; i++) { - std::shared_ptr<IEventQueue> queue; - std::shared_ptr<IEventQueueCallback> cb = ndk::SharedRefBase::make<QueueCallback>(); - auto ret = manager_->createEventQueue(cb, &queue); - ASSERT_OK(ret); - EXPECT_NE(queue, nullptr); - - std::vector<SensorInfo> sensorList; - ret = GetSensorList(&sensorList); - ASSERT_OK(ret); - for (const auto& sensor : sensorList) { - if (sensor.flags == 0) continue; - ASSERT_OK(queue->enableSensor(sensor.sensorHandle, sensor.minDelayUs, sensor.minDelayUs)); - // Make sure sensor resources can be cleaned up. b/260017505 for cases not calling disable - ASSERT_OK(queue->disableSensor(sensor.sensorHandle)); - // Enable/disable the first available sensor to make sure the event - // queue object is set up in the framework - break; - } - } -} - GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(SensorManagerTest); INSTANTIATE_TEST_SUITE_P( PerInstance, SensorManagerTest, |