summaryrefslogtreecommitdiffstats
path: root/llvm/unittests/ObjectYAML/YAML2ObjTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/unittests/ObjectYAML/YAML2ObjTest.cpp')
-rw-r--r--llvm/unittests/ObjectYAML/YAML2ObjTest.cpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/llvm/unittests/ObjectYAML/YAML2ObjTest.cpp b/llvm/unittests/ObjectYAML/YAML2ObjTest.cpp
new file mode 100644
index 00000000000..0a383881687
--- /dev/null
+++ b/llvm/unittests/ObjectYAML/YAML2ObjTest.cpp
@@ -0,0 +1,36 @@
+//===- 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<std::unique_ptr<ObjectFile>> 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<ObjectFile> ObjFile = std::move(ErrOrObj.get());
+
+ ASSERT_TRUE(ObjFile->isELF());
+ ASSERT_TRUE(ObjFile->isRelocatableObject());
+}
OpenPOWER on IntegriCloud