From b500bc618988bf9cc9515ca807349f8e47c9747e Mon Sep 17 00:00:00 2001 From: Yifan Hong Date: Wed, 9 Nov 2016 18:07:44 -0800 Subject: [PATCH] move foocallback to hidl_test Fix: 32778024 Test: hidl_test Change-Id: Icec3bd23c30dea635c315ec3b98f3a72447e840a --- tests/foo/1.0/default/Android.bp | 1 - tests/foo/1.0/default/Foo.cpp | 1 - tests/foo/1.0/default/FooCallback.cpp | 134 -------------------------- tests/foo/1.0/default/FooCallback.h | 46 --------- 4 files changed, 182 deletions(-) delete mode 100644 tests/foo/1.0/default/FooCallback.cpp delete mode 100644 tests/foo/1.0/default/FooCallback.h diff --git a/tests/foo/1.0/default/Android.bp b/tests/foo/1.0/default/Android.bp index 76a4656402..952f25dc3f 100644 --- a/tests/foo/1.0/default/Android.bp +++ b/tests/foo/1.0/default/Android.bp @@ -5,7 +5,6 @@ cc_library_shared { relative_install_path: "hw", srcs: [ "Foo.cpp", - "FooCallback.cpp", ], shared_libs: [ diff --git a/tests/foo/1.0/default/Foo.cpp b/tests/foo/1.0/default/Foo.cpp index cdfdecc38a..a860ce77f2 100644 --- a/tests/foo/1.0/default/Foo.cpp +++ b/tests/foo/1.0/default/Foo.cpp @@ -2,7 +2,6 @@ #define LOG_TAG "hidl_test" #include "Foo.h" -#include "FooCallback.h" #include #include #include diff --git a/tests/foo/1.0/default/FooCallback.cpp b/tests/foo/1.0/default/FooCallback.cpp deleted file mode 100644 index ff3a5457d3..0000000000 --- a/tests/foo/1.0/default/FooCallback.cpp +++ /dev/null @@ -1,134 +0,0 @@ - -#define LOG_TAG "hidl_test" - -#include "FooCallback.h" -#include -#include -#include -#include - -namespace android { -namespace hardware { -namespace tests { -namespace foo { -namespace V1_0 { -namespace implementation { - -enum { - NOT_REPORTED = -1LL -}; - -FooCallback::FooCallback() - : mLock{}, mCond{} { - for (size_t i = 0; i < invokeInfo.size(); i++) { - invokeInfo[i].invoked = false; - invokeInfo[i].timeNs = NOT_REPORTED; - invokeInfo[i].callerBlockedNs = NOT_REPORTED; - } -} - -Return FooCallback::heyItsYou( - const sp &_cb) { - nsecs_t start = systemTime(); - ALOGI("SERVER(FooCallback) 1: heyItsYou cb = %p", _cb.get()); - nsecs_t end = systemTime(); - { - Mutex::Autolock lock(mLock); - invokeInfo[0].invoked = true; - invokeInfo[0].timeNs = end - start; - mCond.signal(); - } - ALOGI("SERVER(FooCallback) 2: heyItsYou returned"); - return Void(); -} - -Return FooCallback::heyItsYouIsntIt(const sp &_cb) { - nsecs_t start = systemTime(); - ALOGI("SERVER(FooCallback) 3: heyItsYouIsntIt cb = %p sleeping for %" PRId64 " seconds", _cb.get(), DELAY_S); - sleep(DELAY_S); - ALOGI("SERVER(FooCallback) 4: heyItsYouIsntIt cb = %p responding", _cb.get()); - nsecs_t end = systemTime(); - { - Mutex::Autolock lock(mLock); - invokeInfo[1].invoked = true; - invokeInfo[1].timeNs = end - start; - mCond.signal(); - } - ALOGI("SERVER(FooCallback) 5: heyItsYouIsntIt cb = %p responding", _cb.get()); - return true; -} - -Return FooCallback::heyItsTheMeaningOfLife(uint8_t tmol) { - nsecs_t start = systemTime(); - ALOGI("SERVER(FooCallback) 6.1: heyItsTheMeaningOfLife = %d sleeping for %" PRId64 " seconds", tmol, DELAY_S); - sleep(DELAY_S); - ALOGI("SERVER(FooCallback) 6.2: heyItsTheMeaningOfLife = %d done sleeping", tmol); - nsecs_t end = systemTime(); - { - Mutex::Autolock lock(mLock); - invokeInfo[2].invoked = true; - invokeInfo[2].timeNs = end - start; - mCond.signal(); - } - ALOGI("SERVER(FooCallback) 6.3: heyItsTheMeaningOfLife returned"); - return Void(); -} - -Return FooCallback::reportResults(int64_t ns, reportResults_cb cb) { - ALOGI("SERVER(FooCallback) 8.1: reportResults(%" PRId64 " seconds)", nanoseconds_to_seconds(ns)); - nsecs_t leftToWaitNs = ns; - bool cond; - { - Mutex::Autolock lock(mLock); - while ((cond = ((!invokeInfo[0].invoked || - !invokeInfo[1].invoked || - !invokeInfo[2].invoked || - invokeInfo[0].callerBlockedNs == NOT_REPORTED || - invokeInfo[1].callerBlockedNs == NOT_REPORTED || - invokeInfo[2].callerBlockedNs == NOT_REPORTED) && - leftToWaitNs > 0))) { - nsecs_t start = systemTime(); - ::android::status_t rc = mCond.waitRelative(mLock, leftToWaitNs); - if (rc != ::android::OK) { - ALOGW("SERVER(FooCallback)::reportResults(%" PRId64 " ns) Condition::waitRelative(%" PRId64 ") returned error (%d)", ns, leftToWaitNs, rc); - if (rc == -ETIMEDOUT) { - // time's up - leftToWaitNs = -1; - } - break; - } - ALOGI("SERVER(FooCallback)::reportResults(%" PRId64 " ns) Condition::waitRelative was signalled", ns); - leftToWaitNs -= systemTime() - start; - } - } - ALOGI("SERVER(FooCallback) 8.2: reportResults returned;" - "invoked? %d, %d, %d; leftToWaitNs = %" PRId64 "; cond = %d", - invokeInfo[0].invoked, invokeInfo[1].invoked, invokeInfo[2].invoked, - leftToWaitNs, cond); - cb(leftToWaitNs, invokeInfo); - return Void(); -} - -Return FooCallback::youBlockedMeFor(const hidl_array &ns) { - ALOGI("SERVER(FooCallback) 7.1: youBlockedMeFor"); - { - Mutex::Autolock lock(mLock); - for (size_t i = 0; i < 3; i++) { - invokeInfo[i].callerBlockedNs = ns[i]; - } - mCond.signal(); - } - ALOGI("SERVER(FooCallback) 7.2: returned"); - return Void(); -} - -IFooCallback* HIDL_FETCH_IFooCallback(const char* /* name */) { - return new FooCallback(); -} - -} // namespace implementation -} // namespace V1_0 -} // namespace foo -} // namespace tests -} // namespace hardware -} // namespace android diff --git a/tests/foo/1.0/default/FooCallback.h b/tests/foo/1.0/default/FooCallback.h deleted file mode 100644 index 3164a9da18..0000000000 --- a/tests/foo/1.0/default/FooCallback.h +++ /dev/null @@ -1,46 +0,0 @@ -#ifndef ANDROID_HARDWARE_TESTS_FOO_V1_0_FOOCALLBACK_H -#define ANDROID_HARDWARE_TESTS_FOO_V1_0_FOOCALLBACK_H - -#include -#include -#include - -#include -namespace android { -namespace hardware { -namespace tests { -namespace foo { -namespace V1_0 { -namespace implementation { - -using ::android::hardware::tests::foo::V1_0::IFooCallback; -using ::android::hardware::Return; -using ::android::hardware::Void; -using ::android::hardware::hidl_vec; -using ::android::hardware::hidl_string; -using ::android::sp; - -struct FooCallback : public IFooCallback { - FooCallback(); - // Methods from ::android::hardware::tests::foo::V1_0::IFooCallback follow. - Return heyItsYou(const sp& cb) override; - Return heyItsYouIsntIt(const sp& cb) override; - Return heyItsTheMeaningOfLife(uint8_t tmol) override; - Return reportResults(int64_t ns, reportResults_cb _hidl_cb) override; - Return youBlockedMeFor(const hidl_array& callerBlockedInfo) override; - - hidl_array invokeInfo; - Mutex mLock; - Condition mCond; -}; - -extern "C" IFooCallback* HIDL_FETCH_IFooCallback(const char* name); - -} // namespace implementation -} // namespace V1_0 -} // namespace foo -} // namespace tests -} // namespace hardware -} // namespace android - -#endif // ANDROID_HARDWARE_TESTS_FOO_V1_0_FOOCALLBACK_H