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/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 {
diff --git a/services/surfaceflinger/tests/unittests/mock/gui/MockGraphicBufferConsumer.cpp b/services/surfaceflinger/tests/unittests/mock/gui/MockGraphicBufferConsumer.cpp
deleted file mode 100644
index a17b73f..0000000
--- a/services/surfaceflinger/tests/unittests/mock/gui/MockGraphicBufferConsumer.cpp
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * 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.
- */
-
-#include "mock/gui/MockGraphicBufferConsumer.h"
-
-namespace android {
-namespace mock {
-
-// Explicit default instantiation is recommended.
-GraphicBufferConsumer::GraphicBufferConsumer() = default;
-GraphicBufferConsumer::~GraphicBufferConsumer() = default;
-
-} // namespace mock
-} // namespace android
\ No newline at end of file
diff --git a/services/surfaceflinger/tests/unittests/mock/gui/MockGraphicBufferConsumer.h b/services/surfaceflinger/tests/unittests/mock/gui/MockGraphicBufferConsumer.h
deleted file mode 100644
index 98f24c2..0000000
--- a/services/surfaceflinger/tests/unittests/mock/gui/MockGraphicBufferConsumer.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * 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.
- */
-
-#pragma once
-
-#include <gmock/gmock.h>
-
-#include <gui/IGraphicBufferConsumer.h>
-
-#include <utils/RefBase.h>
-
-namespace android {
-namespace mock {
-
-class GraphicBufferConsumer : public BnGraphicBufferConsumer, public virtual android::RefBase {
-public:
- GraphicBufferConsumer();
- ~GraphicBufferConsumer() override;
-
- MOCK_METHOD3(acquireBuffer, status_t(BufferItem*, nsecs_t, uint64_t));
- MOCK_METHOD1(detachBuffer, status_t(int));
- MOCK_METHOD2(attachBuffer, status_t(int*, const sp<GraphicBuffer>&));
- MOCK_METHOD5(releaseBuffer, status_t(int, uint64_t, EGLDisplay, EGLSyncKHR, const sp<Fence>&));
- MOCK_METHOD2(consumerConnect, status_t(const sp<IConsumerListener>&, bool));
- MOCK_METHOD0(consumerDisconnect, status_t());
- MOCK_METHOD1(getReleasedBuffers, status_t(uint64_t*));
- MOCK_METHOD2(setDefaultBufferSize, status_t(uint32_t, uint32_t));
- MOCK_METHOD1(setMaxBufferCount, status_t(int));
- MOCK_METHOD1(setMaxAcquiredBufferCount, status_t(int));
- MOCK_METHOD1(setConsumerName, status_t(const String8&));
- MOCK_METHOD1(setDefaultBufferFormat, status_t(PixelFormat));
- MOCK_METHOD1(setDefaultBufferDataSpace, status_t(android_dataspace));
- MOCK_METHOD1(setConsumerUsageBits, status_t(uint64_t));
- MOCK_METHOD1(setConsumerIsProtected, status_t(bool));
- MOCK_METHOD1(setTransformHint, status_t(uint32_t));
- MOCK_CONST_METHOD1(getSidebandStream, status_t(sp<NativeHandle>*));
- MOCK_METHOD2(getOccupancyHistory, status_t(bool, std::vector<OccupancyTracker::Segment>*));
- MOCK_METHOD0(discardFreeBuffers, status_t());
- MOCK_CONST_METHOD2(dumpState, status_t(const String8&, String8*));
-};
-
-} // namespace mock
-} // namespace android
diff --git a/services/surfaceflinger/tests/unittests/mock/gui/MockGraphicBufferProducer.cpp b/services/surfaceflinger/tests/unittests/mock/gui/MockGraphicBufferProducer.cpp
deleted file mode 100644
index a7fd667..0000000
--- a/services/surfaceflinger/tests/unittests/mock/gui/MockGraphicBufferProducer.cpp
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * 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.
- */
-
-#include "mock/gui/MockGraphicBufferProducer.h"
-
-namespace android {
-namespace mock {
-
-// Explicit default instantiation is recommended.
-GraphicBufferProducer::GraphicBufferProducer() = default;
-GraphicBufferProducer::~GraphicBufferProducer() = default;
-
-} // namespace mock
-} // namespace android
\ No newline at end of file
diff --git a/services/surfaceflinger/tests/unittests/mock/gui/MockGraphicBufferProducer.h b/services/surfaceflinger/tests/unittests/mock/gui/MockGraphicBufferProducer.h
deleted file mode 100644
index c98f39f..0000000
--- a/services/surfaceflinger/tests/unittests/mock/gui/MockGraphicBufferProducer.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * 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.
- */
-
-#pragma once
-
-#include <gmock/gmock.h>
-
-#include <gui/IGraphicBufferProducer.h>
-
-#include <utils/RefBase.h>
-
-namespace android {
-namespace mock {
-
-class GraphicBufferProducer : public BnGraphicBufferProducer, public virtual android::RefBase {
-public:
- GraphicBufferProducer();
- ~GraphicBufferProducer() override;
-
- MOCK_METHOD2(requestBuffer, status_t(int, sp<GraphicBuffer>*));
- MOCK_METHOD1(setMaxDequeuedBufferCount, status_t(int));
- MOCK_METHOD1(setAsyncMode, status_t(bool));
- MOCK_METHOD8(dequeueBuffer,
- status_t(int*, sp<Fence>*, uint32_t, uint32_t, PixelFormat, uint64_t, uint64_t*,
- FrameEventHistoryDelta*));
- MOCK_METHOD1(detachBuffer, status_t(int));
- MOCK_METHOD2(detachNextBuffer, status_t(sp<GraphicBuffer>*, sp<Fence>*));
- MOCK_METHOD2(attachBuffer, status_t(int*, const sp<GraphicBuffer>&));
- MOCK_METHOD3(queueBuffer, status_t(int, const QueueBufferInput&, QueueBufferOutput*));
- MOCK_METHOD2(cancelBuffer, status_t(int, const sp<Fence>&));
- MOCK_METHOD2(query, int(int, int*));
- MOCK_METHOD4(connect, status_t(const sp<IProducerListener>&, int, bool, QueueBufferOutput*));
- MOCK_METHOD2(disconnect, status_t(int, DisconnectMode));
- MOCK_METHOD1(setSidebandStream, status_t(const sp<NativeHandle>&));
- MOCK_METHOD4(allocateBuffers, void(uint32_t, uint32_t, PixelFormat, uint64_t));
- MOCK_METHOD1(allowAllocation, status_t(bool));
- MOCK_METHOD1(setGenerationNumber, status_t(uint32_t));
- MOCK_CONST_METHOD0(getConsumerName, String8());
- MOCK_METHOD1(setSharedBufferMode, status_t(bool));
- MOCK_METHOD1(setAutoRefresh, status_t(bool));
- MOCK_METHOD1(setDequeueTimeout, status_t(nsecs_t));
- MOCK_METHOD3(getLastQueuedBuffer, status_t(sp<GraphicBuffer>*, sp<Fence>*, float[16]));
- MOCK_METHOD1(getFrameTimestamps, void(FrameEventHistoryDelta*));
- MOCK_CONST_METHOD1(getUniqueId, status_t(uint64_t*));
- MOCK_CONST_METHOD1(getConsumerUsage, status_t(uint64_t*));
-};
-
-} // namespace mock
-} // namespace android