gui: Set up libgui_mocks
Move the existing mocks for IGraphicBufferProducer and
IGraphicBufferConsumer over to libs/gui/..., and create a new static
library "libgui_mocks" to hold the mocks.
libsurfaceflinger_unittest is also adjusted as needed to use the new
library.
Test: atest libsurfaceflinger_unittest
Change-Id: I740ae9d999812896f525f86a30c6800f86ed8ca9
diff --git a/libs/gui/Android.bp b/libs/gui/Android.bp
index 3f8b436..da51675 100644
--- a/libs/gui/Android.bp
+++ b/libs/gui/Android.bp
@@ -32,6 +32,8 @@
defaults: ["libgui_bufferqueue-defaults"],
srcs: [
+ ":libgui_bufferqueue_sources",
+
"BitTube.cpp",
"BufferHubConsumer.cpp",
"BufferHubProducer.cpp",
@@ -104,32 +106,14 @@
],
defaults: ["libgui_bufferqueue-defaults"],
+
+ srcs: [
+ ":libgui_bufferqueue_sources",
+ ],
}
-// Common build config shared by libgui and libgui_bufferqueue_static.
-cc_defaults {
- name: "libgui_bufferqueue-defaults",
-
- clang: true,
- cflags: [
- "-Wall",
- "-Werror",
- ],
-
- cppflags: [
- "-Wextra",
- "-DDEBUG_ONLY_CODE=0",
- ],
-
- product_variables: {
- eng: {
- cppflags: [
- "-UDEBUG_ONLY_CODE",
- "-DDEBUG_ONLY_CODE=1",
- ],
- },
- },
-
+filegroup {
+ name: "libgui_bufferqueue_sources",
srcs: [
"BufferItem.cpp",
"BufferQueue.cpp",
@@ -157,6 +141,31 @@
"bufferqueue/2.0/H2BProducerListener.cpp",
"bufferqueue/2.0/types.cpp",
],
+}
+
+// Common build config shared by libgui and libgui_bufferqueue_static.
+cc_defaults {
+ name: "libgui_bufferqueue-defaults",
+
+ clang: true,
+ cflags: [
+ "-Wall",
+ "-Werror",
+ ],
+
+ cppflags: [
+ "-Wextra",
+ "-DDEBUG_ONLY_CODE=0",
+ ],
+
+ product_variables: {
+ eng: {
+ cppflags: [
+ "-UDEBUG_ONLY_CODE",
+ "-DDEBUG_ONLY_CODE=1",
+ ],
+ },
+ },
shared_libs: [
"android.hardware.graphics.bufferqueue@1.0",
@@ -204,4 +213,21 @@
],
}
+// GMocks for use by external code
+cc_library_static {
+ name: "libgui_mocks",
+ vendor_available: false,
+
+ defaults: ["libgui_bufferqueue-defaults"],
+ static_libs: [
+ "libgtest",
+ "libgmock",
+ ],
+
+ srcs: [
+ "mock/GraphicBufferConsumer.cpp",
+ "mock/GraphicBufferProducer.cpp",
+ ],
+}
+
subdirs = ["tests"]
diff --git a/services/surfaceflinger/tests/unittests/mock/gui/MockGraphicBufferConsumer.h b/libs/gui/include/gui/mock/GraphicBufferConsumer.h
similarity index 100%
rename from services/surfaceflinger/tests/unittests/mock/gui/MockGraphicBufferConsumer.h
rename to libs/gui/include/gui/mock/GraphicBufferConsumer.h
diff --git a/services/surfaceflinger/tests/unittests/mock/gui/MockGraphicBufferProducer.h b/libs/gui/include/gui/mock/GraphicBufferProducer.h
similarity index 100%
rename from services/surfaceflinger/tests/unittests/mock/gui/MockGraphicBufferProducer.h
rename to libs/gui/include/gui/mock/GraphicBufferProducer.h
diff --git a/services/surfaceflinger/tests/unittests/mock/gui/MockGraphicBufferConsumer.cpp b/libs/gui/mock/GraphicBufferConsumer.cpp
similarity index 94%
rename from services/surfaceflinger/tests/unittests/mock/gui/MockGraphicBufferConsumer.cpp
rename to libs/gui/mock/GraphicBufferConsumer.cpp
index a17b73f..4a6c081 100644
--- a/services/surfaceflinger/tests/unittests/mock/gui/MockGraphicBufferConsumer.cpp
+++ b/libs/gui/mock/GraphicBufferConsumer.cpp
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-#include "mock/gui/MockGraphicBufferConsumer.h"
+#include <gui/mock/GraphicBufferConsumer.h>
namespace android {
namespace mock {
diff --git a/services/surfaceflinger/tests/unittests/mock/gui/MockGraphicBufferProducer.cpp b/libs/gui/mock/GraphicBufferProducer.cpp
similarity index 94%
rename from services/surfaceflinger/tests/unittests/mock/gui/MockGraphicBufferProducer.cpp
rename to libs/gui/mock/GraphicBufferProducer.cpp
index a7fd667..239a80a 100644
--- a/services/surfaceflinger/tests/unittests/mock/gui/MockGraphicBufferProducer.cpp
+++ b/libs/gui/mock/GraphicBufferProducer.cpp
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-#include "mock/gui/MockGraphicBufferProducer.h"
+#include <gui/mock/GraphicBufferProducer.h>
namespace android {
namespace mock {
diff --git a/services/surfaceflinger/tests/unittests/Android.bp b/services/surfaceflinger/tests/unittests/Android.bp
index 8d98af6..754c5a7 100644
--- a/services/surfaceflinger/tests/unittests/Android.bp
+++ b/services/surfaceflinger/tests/unittests/Android.bp
@@ -55,8 +55,6 @@
"mock/DisplayHardware/MockComposer.cpp",
"mock/DisplayHardware/MockDisplay.cpp",
"mock/DisplayHardware/MockPowerAdvisor.cpp",
- "mock/gui/MockGraphicBufferConsumer.cpp",
- "mock/gui/MockGraphicBufferProducer.cpp",
"mock/MockDispSync.cpp",
"mock/MockEventControlThread.cpp",
"mock/MockEventThread.cpp",
@@ -71,6 +69,7 @@
"libgmock",
"libcompositionengine",
"libcompositionengine_mocks",
+ "libgui_mocks",
"libperfetto_client_experimental",
"librenderengine_mocks",
"libtimestats",
diff --git a/services/surfaceflinger/tests/unittests/DisplayTransactionTest.cpp b/services/surfaceflinger/tests/unittests/DisplayTransactionTest.cpp
index ee1f3aa..b1a4951 100644
--- a/services/surfaceflinger/tests/unittests/DisplayTransactionTest.cpp
+++ b/services/surfaceflinger/tests/unittests/DisplayTransactionTest.cpp
@@ -24,6 +24,8 @@
#include <compositionengine/mock/DisplaySurface.h>
#include <gmock/gmock.h>
#include <gtest/gtest.h>
+#include <gui/mock/GraphicBufferConsumer.h>
+#include <gui/mock/GraphicBufferProducer.h>
#include <log/log.h>
#include <renderengine/mock/RenderEngine.h>
#include <ui/DebugUtils.h>
@@ -38,8 +40,6 @@
#include "mock/MockMessageQueue.h"
#include "mock/MockNativeWindowSurface.h"
#include "mock/MockSurfaceInterceptor.h"
-#include "mock/gui/MockGraphicBufferConsumer.h"
-#include "mock/gui/MockGraphicBufferProducer.h"
#include "mock/system/window/MockNativeWindow.h"
namespace android {