//===- YAML2ObjTest.cpp --------------------------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #include "llvm/ObjectYAML/yaml2obj.h" #include "llvm/ADT/SmallString.h" #include "llvm/Object/ObjectFile.h" #include "llvm/Support/Error.h" #include "llvm/Testing/Support/Error.h" #include "gtest/gtest.h" using namespace llvm; using namespace object; using namespace yaml; TEST(yaml2ObjectFile, ELF) { SmallString<0> Storage; Expected> ErrOrObj = yaml2ObjectFile(Storage, R"( --- !ELF FileHeader: Class: ELFCLASS64 Data: ELFDATA2LSB Type: ET_REL Machine: EM_X86_64)"); ASSERT_THAT_EXPECTED(ErrOrObj, Succeeded()); std::unique_ptr ObjFile = std::move(ErrOrObj.get()); ASSERT_TRUE(ObjFile->isELF()); ASSERT_TRUE(ObjFile->isRelocatableObject()); }