blob: 4ead002428dbce40bc9bb4ebf7b5e8b8837dbfc5 [file] [log] [blame]
// Copyright 2019 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 "src/virtualization/tests/lib/guest_test.h"
using VirtioMagmaGuestTest = GuestTest<TerminaEnclosedGuest>;
static constexpr const char* kDevicePath = "/dev/magma0";
TEST_F(VirtioMagmaGuestTest, DeviceProperties) {
int32_t return_code = 0;
ASSERT_EQ(this->Execute({"test", "-e", kDevicePath}, nullptr, &return_code), ZX_OK);
ASSERT_EQ(return_code, 0) << kDevicePath << " does not exist";
ASSERT_EQ(this->Execute({"test", "-c", kDevicePath}, nullptr, &return_code), ZX_OK);
ASSERT_EQ(return_code, 0) << kDevicePath << " is not a character device";
}
// TODO(https://fxbug.dev/42173858) add a wayland device to the enclosed Termina guest for buffer import/export
TEST_F(VirtioMagmaGuestTest, DISABLED_MagmaConformance) {
std::string text;
int32_t return_code = 0;
ASSERT_EQ(this->Execute({"/tmp/extras/virtmagma_conformance_tests"}, &text, &return_code), ZX_OK);
ASSERT_EQ(return_code, 0) << "[BEGIN GUEST TEXT]" << text << "[END GUEST TEXT]";
}
TEST_F(VirtioMagmaGuestTest, VulkanUnit) {
std::string text;
int32_t return_code = 0;
ASSERT_EQ(this->Execute({"/tmp/extras/virtmagma_vulkan_unit_tests"}, &text, &return_code), ZX_OK);
ASSERT_EQ(return_code, 0) << "[BEGIN GUEST TEXT]" << text << "[END GUEST TEXT]";
}