summaryrefslogtreecommitdiffstats
path: root/llvm/unittests/ObjectYAML/YAML2ObjTest.cpp
diff options
context:
space:
mode:
authorAlex Brachet <alexbrachetmialot@gmail.com>2019-08-07 02:44:49 +0000
committerAlex Brachet <alexbrachetmialot@gmail.com>2019-08-07 02:44:49 +0000
commitc22d9666fc3e132de3ed121eaf42c3e7e00c7440 (patch)
treecc49de623eca66937ec84e6f43edb64f3081514d /llvm/unittests/ObjectYAML/YAML2ObjTest.cpp
parent6cebeafac31ceb500494bb301e365363c3d5992a (diff)
downloadbcm5719-llvm-c22d9666fc3e132de3ed121eaf42c3e7e00c7440.tar.gz
bcm5719-llvm-c22d9666fc3e132de3ed121eaf42c3e7e00c7440.zip
[yaml2obj] Move core yaml2obj code into lib and include for use in unit tests
Reviewers: jhenderson, rupprecht, MaskRay, grimar, labath Reviewed By: rupprecht Subscribers: gribozavr, mgrang, seiya, mgorny, sbc100, hiraditya, aheejin, jakehehrlich, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D65255 llvm-svn: 368119
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