Loading libs/vr/libdvr/tests/Android.bp +0 −21 Original line number Diff line number Diff line Loading @@ -52,24 +52,3 @@ cc_test { ], name: "dvr_api-test", } cc_test { srcs: [ "dvr_buffer_queue-test.cpp", ], header_libs: [ "libdvr_headers", "libbase_headers", ], shared_libs: [ "liblog", "libnativewindow", ], cflags: [ "-DTRACE=0", "-O0", "-g", ], name: "dvr_buffer_queue-test", } libs/vr/libdvr/tests/Android.mk 0 → 100644 +46 −0 Original line number Diff line number Diff line # 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. LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE:= dvr_buffer_queue-test # Includes the dvr_api.h header. Tests should only include "dvr_api.h", # and shall only get access to |dvrGetApi|, as other symbols are hidden from the # library. LOCAL_C_INCLUDES := \ frameworks/native/libs/vr/libdvr/include \ LOCAL_SANITIZE := thread LOCAL_SRC_FILES := \ dvr_buffer_queue-test.cpp \ LOCAL_SHARED_LIBRARIES := \ libandroid \ liblog \ LOCAL_CFLAGS := \ -DTRACE=0 \ -O2 \ -g \ # DTS Should only link to NDK libraries. LOCAL_SDK_VERSION := 26 LOCAL_NDK_STL_VARIANT := c++_static # TODO(b/73133405): Currently, builing cc_test against NDK using Android.bp # doesn't work well. Migrate to use Android.bp once b/73133405 gets fixed. include $(BUILD_NATIVE_TEST) libs/vr/libdvr/tests/dvr_buffer_queue-test.cpp +13 −7 Original line number Diff line number Diff line #include <android-base/unique_fd.h> #include <android/log.h> #include <android/native_window.h> #include <dlfcn.h> Loading Loading @@ -46,7 +45,14 @@ class DvrBufferQueueTest : public ::testing::Test { protected: void SetUp() override { platform_handle_ = dlopen("libdvr.so", RTLD_NOW | RTLD_LOCAL); int flags = RTLD_NOW | RTLD_LOCAL; // Here we need to ensure that libdvr is loaded with RTLD_NODELETE flag set // (so that calls to `dlclose` don't actually unload the library). This is a // workaround for an Android NDK bug. See more detail: // https://github.com/android-ndk/ndk/issues/360 flags |= RTLD_NODELETE; platform_handle_ = dlopen("libdvr.so", flags); ASSERT_NOT_NULL(platform_handle_) << "Dvr shared library missing."; auto dvr_get_api = reinterpret_cast<decltype(&dvrGetApi)>( Loading Loading @@ -192,7 +198,7 @@ TEST_F(DvrBufferQueueTest, AcquirePostGainRelease) { ASSERT_TRUE(api_.WriteBufferIsValid(wb)); ALOGD_IF(TRACE, "TestDequeuePostDequeueRelease, gain buffer %p, fence_fd=%d", wb, fence_fd); android::base::unique_fd release_fence(fence_fd); close(fence_fd); // Post buffer to the read_queue. meta1.timestamp = 42; Loading @@ -217,7 +223,7 @@ TEST_F(DvrBufferQueueTest, AcquirePostGainRelease) { ALOGD_IF(TRACE, "TestDequeuePostDequeueRelease, acquire buffer %p, fence_fd=%d", rb, fence_fd); android::base::unique_fd acquire_fence(fence_fd); close(fence_fd); // Release buffer to the write_queue. ret = api_.ReadBufferQueueReleaseBuffer(read_queue, rb, &meta2, Loading Loading @@ -304,7 +310,7 @@ TEST_F(DvrBufferQueueTest, ResizeBuffer) { ASSERT_EQ(0, ret); ASSERT_TRUE(api_.WriteBufferIsValid(wb1)); ALOGD_IF(TRACE, "TestResizeBuffer, gain buffer %p", wb1); android::base::unique_fd release_fence1(fence_fd); close(fence_fd); // Check the buffer dimension. ret = api_.WriteBufferGetAHardwareBuffer(wb1, &ahb1); Loading Loading @@ -332,7 +338,7 @@ TEST_F(DvrBufferQueueTest, ResizeBuffer) { ASSERT_TRUE(api_.WriteBufferIsValid(wb2)); ALOGD_IF(TRACE, "TestResizeBuffer, gain buffer %p, fence_fd=%d", wb2, fence_fd); android::base::unique_fd release_fence2(fence_fd); close(fence_fd); // Check the buffer dimension, should be new width ret = api_.WriteBufferGetAHardwareBuffer(wb2, &ahb2); Loading @@ -359,7 +365,7 @@ TEST_F(DvrBufferQueueTest, ResizeBuffer) { ASSERT_TRUE(api_.WriteBufferIsValid(wb3)); ALOGD_IF(TRACE, "TestResizeBuffer, gain buffer %p, fence_fd=%d", wb3, fence_fd); android::base::unique_fd release_fence3(fence_fd); close(fence_fd); // Check the buffer dimension, should be new width ret = api_.WriteBufferGetAHardwareBuffer(wb3, &ahb3); Loading Loading
libs/vr/libdvr/tests/Android.bp +0 −21 Original line number Diff line number Diff line Loading @@ -52,24 +52,3 @@ cc_test { ], name: "dvr_api-test", } cc_test { srcs: [ "dvr_buffer_queue-test.cpp", ], header_libs: [ "libdvr_headers", "libbase_headers", ], shared_libs: [ "liblog", "libnativewindow", ], cflags: [ "-DTRACE=0", "-O0", "-g", ], name: "dvr_buffer_queue-test", }
libs/vr/libdvr/tests/Android.mk 0 → 100644 +46 −0 Original line number Diff line number Diff line # 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. LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE:= dvr_buffer_queue-test # Includes the dvr_api.h header. Tests should only include "dvr_api.h", # and shall only get access to |dvrGetApi|, as other symbols are hidden from the # library. LOCAL_C_INCLUDES := \ frameworks/native/libs/vr/libdvr/include \ LOCAL_SANITIZE := thread LOCAL_SRC_FILES := \ dvr_buffer_queue-test.cpp \ LOCAL_SHARED_LIBRARIES := \ libandroid \ liblog \ LOCAL_CFLAGS := \ -DTRACE=0 \ -O2 \ -g \ # DTS Should only link to NDK libraries. LOCAL_SDK_VERSION := 26 LOCAL_NDK_STL_VARIANT := c++_static # TODO(b/73133405): Currently, builing cc_test against NDK using Android.bp # doesn't work well. Migrate to use Android.bp once b/73133405 gets fixed. include $(BUILD_NATIVE_TEST)
libs/vr/libdvr/tests/dvr_buffer_queue-test.cpp +13 −7 Original line number Diff line number Diff line #include <android-base/unique_fd.h> #include <android/log.h> #include <android/native_window.h> #include <dlfcn.h> Loading Loading @@ -46,7 +45,14 @@ class DvrBufferQueueTest : public ::testing::Test { protected: void SetUp() override { platform_handle_ = dlopen("libdvr.so", RTLD_NOW | RTLD_LOCAL); int flags = RTLD_NOW | RTLD_LOCAL; // Here we need to ensure that libdvr is loaded with RTLD_NODELETE flag set // (so that calls to `dlclose` don't actually unload the library). This is a // workaround for an Android NDK bug. See more detail: // https://github.com/android-ndk/ndk/issues/360 flags |= RTLD_NODELETE; platform_handle_ = dlopen("libdvr.so", flags); ASSERT_NOT_NULL(platform_handle_) << "Dvr shared library missing."; auto dvr_get_api = reinterpret_cast<decltype(&dvrGetApi)>( Loading Loading @@ -192,7 +198,7 @@ TEST_F(DvrBufferQueueTest, AcquirePostGainRelease) { ASSERT_TRUE(api_.WriteBufferIsValid(wb)); ALOGD_IF(TRACE, "TestDequeuePostDequeueRelease, gain buffer %p, fence_fd=%d", wb, fence_fd); android::base::unique_fd release_fence(fence_fd); close(fence_fd); // Post buffer to the read_queue. meta1.timestamp = 42; Loading @@ -217,7 +223,7 @@ TEST_F(DvrBufferQueueTest, AcquirePostGainRelease) { ALOGD_IF(TRACE, "TestDequeuePostDequeueRelease, acquire buffer %p, fence_fd=%d", rb, fence_fd); android::base::unique_fd acquire_fence(fence_fd); close(fence_fd); // Release buffer to the write_queue. ret = api_.ReadBufferQueueReleaseBuffer(read_queue, rb, &meta2, Loading Loading @@ -304,7 +310,7 @@ TEST_F(DvrBufferQueueTest, ResizeBuffer) { ASSERT_EQ(0, ret); ASSERT_TRUE(api_.WriteBufferIsValid(wb1)); ALOGD_IF(TRACE, "TestResizeBuffer, gain buffer %p", wb1); android::base::unique_fd release_fence1(fence_fd); close(fence_fd); // Check the buffer dimension. ret = api_.WriteBufferGetAHardwareBuffer(wb1, &ahb1); Loading Loading @@ -332,7 +338,7 @@ TEST_F(DvrBufferQueueTest, ResizeBuffer) { ASSERT_TRUE(api_.WriteBufferIsValid(wb2)); ALOGD_IF(TRACE, "TestResizeBuffer, gain buffer %p, fence_fd=%d", wb2, fence_fd); android::base::unique_fd release_fence2(fence_fd); close(fence_fd); // Check the buffer dimension, should be new width ret = api_.WriteBufferGetAHardwareBuffer(wb2, &ahb2); Loading @@ -359,7 +365,7 @@ TEST_F(DvrBufferQueueTest, ResizeBuffer) { ASSERT_TRUE(api_.WriteBufferIsValid(wb3)); ALOGD_IF(TRACE, "TestResizeBuffer, gain buffer %p, fence_fd=%d", wb3, fence_fd); android::base::unique_fd release_fence3(fence_fd); close(fence_fd); // Check the buffer dimension, should be new width ret = api_.WriteBufferGetAHardwareBuffer(wb3, &ahb3); Loading