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

Commit 65182ccf authored by John Reck's avatar John Reck
Browse files

Fix tests

Disable FrameBuilder.clippedMerging as it relies on
merged bitmap ops which was disabled in b/26793764

Fix Buffer to correctly initialize mRefs count

Change-Id: I87d2fcc690a2ae14eaf751f650f522be5b622edf
parent 14de0415
Loading
Loading
Loading
Loading
+9 −4
Original line number Original line Diff line number Diff line
@@ -16,8 +16,9 @@


#pragma once
#pragma once


#include <utils/RefBase.h>
#include "utils/RefBase.h"
#include <utils/Log.h>
#include "utils/Log.h"
#include "utils/Macros.h"


#include <atomic>
#include <atomic>
#include <stdint.h>
#include <stdint.h>
@@ -37,6 +38,7 @@ namespace uirenderer {
class BufferPool : public VirtualLightRefBase {
class BufferPool : public VirtualLightRefBase {
public:
public:
    class Buffer {
    class Buffer {
        PREVENT_COPY_AND_ASSIGN(Buffer);
    public:
    public:
        int64_t* getBuffer() { return mBuffer.get(); }
        int64_t* getBuffer() { return mBuffer.get(); }
        size_t getSize() { return mSize; }
        size_t getSize() { return mSize; }
@@ -57,14 +59,17 @@ public:
            return refs - 1;
            return refs - 1;
        }
        }


        bool isUniqueRef() {
            return mRefs.load() == 1;
        }

    private:
    private:
        friend class BufferPool;
        friend class BufferPool;


        Buffer(BufferPool* pool, size_t size) {
        Buffer(BufferPool* pool, size_t size) : mRefs(1) {
            mSize = size;
            mSize = size;
            mBuffer.reset(new int64_t[size]);
            mBuffer.reset(new int64_t[size]);
            mPool = pool;
            mPool = pool;
            mRefs++;
        }
        }


        void setPool(BufferPool* pool) {
        void setPool(BufferPool* pool) {
+1 −0
Original line number Original line Diff line number Diff line
@@ -36,6 +36,7 @@ TEST(BufferPool, acquireThenRelease) {
            ASSERT_EQ(bufferCount - i, pool->getAvailableBufferCount());
            ASSERT_EQ(bufferCount - i, pool->getAvailableBufferCount());
            acquiredBuffers[i] = pool->acquire();
            acquiredBuffers[i] = pool->acquire();
            ASSERT_NE(nullptr, acquiredBuffers[i]);
            ASSERT_NE(nullptr, acquiredBuffers[i]);
            ASSERT_TRUE(acquiredBuffers[i]->isUniqueRef());
        }
        }


        for (size_t i = 0; i < bufferCount; i++) {
        for (size_t i = 0; i < bufferCount; i++) {
+2 −1
Original line number Original line Diff line number Diff line
@@ -215,7 +215,8 @@ TEST(FrameBuilder, simpleBatching) {
            << "Expect number of ops = 2 * loop count";
            << "Expect number of ops = 2 * loop count";
}
}


TEST(FrameBuilder, clippedMerging) {
// TODO: Disabled due to b/26793764
TEST(FrameBuilder, DISABLED_clippedMerging) {
    class ClippedMergingTestRenderer : public TestRendererBase {
    class ClippedMergingTestRenderer : public TestRendererBase {
    public:
    public:
        void onMergedBitmapOps(const MergedBakedOpList& opList) override {
        void onMergedBitmapOps(const MergedBakedOpList& opList) override {