1 //===- llvm/unittest/ArchiveFileDescriptor/ArchiveFileDescriptor.cpp ------===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #include "llvm/Object/Archive.h"
11 #include "llvm/Object/ObjectFile.h"
12 #include "llvm/Support/MemoryBuffer.h"
13 #include "gtest/gtest.h"
16 using namespace llvm::object;
18 static void failIfError(error_code EC) {
22 errs() << "ERROR: " << EC.message() << "\n";
26 TEST(ArchiveFileDescriptor, Test1) {
27 #if 0 // FIXME: It may be reverted.
30 error_code EC = sys::fs::openFileForRead("ArchiveFileDescriptor", FD);
33 OwningPtr<MemoryBuffer> MemoryBuffer;
34 EC = MemoryBuffer::getOpenFile(FD, "Dummy Filename",
37 /* RequiresNullTerminator */ false);
40 // Attempt to open the binary.
41 OwningPtr<Binary> Binary;
42 EC = createBinary(MemoryBuffer.take(), Binary);
45 if (Archive *Arc = dyn_cast<Archive>(Binary.get())) {
47 errs() << "ERROR: Loaded archive, was expecting object file\n";
48 } else if (ObjectFile *Obj = dyn_cast<ObjectFile>(Binary.get())) {
51 outs() << "ERROR: Unknown file type\n";