blob: 5e3ec0a657a2d67592389e884d7d73fe1e713b54 [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.
#ifndef SRC_VIRTUALIZATION_BIN_VMM_DEVICE_TEST_WITH_DEVICE_H_
#define SRC_VIRTUALIZATION_BIN_VMM_DEVICE_TEST_WITH_DEVICE_H_
#include <fuchsia/virtualization/hardware/cpp/fidl.h>
#include <lib/sys/cpp/testing/test_with_environment.h>
#include "src/virtualization/bin/vmm/device/phys_mem.h"
class TestWithDevice : public sys::testing::TestWithEnvironment {
protected:
zx_status_t LaunchDevice(const std::string& url, size_t phys_mem_size,
fuchsia::virtualization::hardware::StartInfo* start_info,
std::unique_ptr<sys::testing::EnvironmentServices> services = nullptr);
zx_status_t WaitOnInterrupt();
std::unique_ptr<sys::testing::EnclosingEnvironment> enclosing_environment_;
std::shared_ptr<sys::ServiceDirectory> services_;
fuchsia::sys::ComponentControllerPtr component_controller_;
zx::event event_;
PhysMem phys_mem_;
};
#endif // SRC_VIRTUALIZATION_BIN_VMM_DEVICE_TEST_WITH_DEVICE_H_