diff options
author | Sean Silva <silvas@purdue.edu> | 2013-07-09 00:54:46 +0000 |
---|---|---|
committer | Sean Silva <silvas@purdue.edu> | 2013-07-09 00:54:46 +0000 |
commit | 845e196a52d52abcd789612750f6f34af3a2cc79 (patch) | |
tree | 86327dd6724ec9b068a26ecaeabd48913d8c5f30 /unittests/Object | |
parent | b49401533082fa0e8625c7cbaa0813db6c4c9bd5 (diff) | |
download | external_llvm-845e196a52d52abcd789612750f6f34af3a2cc79.zip external_llvm-845e196a52d52abcd789612750f6f34af3a2cc79.tar.gz external_llvm-845e196a52d52abcd789612750f6f34af3a2cc79.tar.bz2 |
Make BinaryRef output correctly in case of empty data.
Previously, it would simply output nothing, but it should output an
empty string `""`.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185894 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'unittests/Object')
-rw-r--r-- | unittests/Object/CMakeLists.txt | 7 | ||||
-rw-r--r-- | unittests/Object/Makefile | 15 | ||||
-rw-r--r-- | unittests/Object/YAMLTest.cpp | 40 |
3 files changed, 62 insertions, 0 deletions
diff --git a/unittests/Object/CMakeLists.txt b/unittests/Object/CMakeLists.txt new file mode 100644 index 0000000..b491dd7 --- /dev/null +++ b/unittests/Object/CMakeLists.txt @@ -0,0 +1,7 @@ +set(LLVM_LINK_COMPONENTS + object + ) + +add_llvm_unittest(ObjectTests + YAMLTest.cpp + ) diff --git a/unittests/Object/Makefile b/unittests/Object/Makefile new file mode 100644 index 0000000..0788a62 --- /dev/null +++ b/unittests/Object/Makefile @@ -0,0 +1,15 @@ +##===- unittests/IR/Makefile -------------------------------*- Makefile -*-===## +# +# The LLVM Compiler Infrastructure +# +# This file is distributed under the University of Illinois Open Source +# License. See LICENSE.TXT for details. +# +##===----------------------------------------------------------------------===## + +LEVEL = ../.. +TESTNAME = Object +LINK_COMPONENTS := object + +include $(LEVEL)/Makefile.config +include $(LLVM_SRC_ROOT)/unittests/Makefile.unittest diff --git a/unittests/Object/YAMLTest.cpp b/unittests/Object/YAMLTest.cpp new file mode 100644 index 0000000..3428e94 --- /dev/null +++ b/unittests/Object/YAMLTest.cpp @@ -0,0 +1,40 @@ +//===- llvm/unittest/Object/YAMLTest.cpp - Tests for Object YAML ----------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#include "llvm/Object/YAML.h" +#include "llvm/Support/YAMLTraits.h" +#include "gtest/gtest.h" + +using namespace llvm; + +namespace { +struct BinaryHolder { + object::yaml::BinaryRef Binary; +}; +} // end anonymous namespace + +namespace llvm { +namespace yaml { +template <> +struct MappingTraits<BinaryHolder> { + static void mapping(IO &IO, BinaryHolder &BH) { + IO.mapRequired("Binary", BH.Binary); + } +}; +} // end namespace yaml +} // end namespace llvm + +TEST(ObjectYAML, BinaryRef) { + BinaryHolder BH; + SmallVector<char, 32> Buf; + llvm::raw_svector_ostream OS(Buf); + yaml::Output YOut(OS); + YOut << BH; + EXPECT_NE(OS.str().find("\"\""), StringRef::npos); +} |