blob: 09b0317979c5d48d7c4254b624acc8cc9347a0d5 [file] [log] [blame]
// Copyright 2018 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "garnet/drivers/gpu/msd-vsl-gc/src/msd_vsl_connection.h"
#include "mock/mock_bus_mapper.h"
#include "gtest/gtest.h"
class TestMsdVslConnection : public MsdVslConnection::Owner {
public:
magma::PlatformBusMapper* bus_mapper() override { return &mock_bus_mapper_; }
void ConnectionReleased(MsdVslConnection* connection) override
{
connection_released_ = connection;
}
void Released()
{
auto connection =
std::make_unique<MsdVslConnection>(this, 0, std::make_shared<AddressSpace>(this), 1000);
MsdVslConnection* connection_ptr = connection.get();
connection.reset();
EXPECT_EQ(connection_released_, connection_ptr);
}
private:
MockBusMapper mock_bus_mapper_;
MsdVslConnection* connection_released_ = nullptr;
};
TEST(MsdVslConnection, Released) { TestMsdVslConnection().Released(); }