Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c6e0ae37 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Move dvr_buffer_queue-test to use Android.mk"

parents ef694223 ca93bab8
Loading
Loading
Loading
Loading
+0 −21
Original line number Diff line number Diff line
@@ -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",
}
+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)
+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>
@@ -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)>(
@@ -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;
@@ -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,
@@ -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);
@@ -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);
@@ -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);