diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2017-01-14 15:39:46 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2017-01-14 15:39:46 +0000 |
commit | afed7be32164a598f8172282c249af7266c48b46 (patch) | |
tree | d42e47aabc79449fbfcc454836954645f5c03334 /unittests | |
parent | 6f2913059696064e80328b389e44b199c1af526d (diff) | |
download | src-vendor/lldb/lldb-release_40-r294803.tar.gz src-vendor/lldb/lldb-release_40-r294803.zip |
Vendor import of lldb release_40 branch r292009:vendor/lldb/lldb-release_400-r297347vendor/lldb/lldb-release_40-r296509vendor/lldb/lldb-release_40-r296202vendor/lldb/lldb-release_40-r296002vendor/lldb/lldb-release_40-r295910vendor/lldb/lldb-release_40-r295380vendor/lldb/lldb-release_40-r294803vendor/lldb/lldb-release_40-r294123vendor/lldb/lldb-release_40-r293807vendor/lldb/lldb-release_40-r293443vendor/lldb/lldb-release_40-r292951vendor/lldb/lldb-release_40-r292732vendor/lldb/lldb-release_40-r292009
Diffstat (limited to 'unittests')
-rw-r--r-- | unittests/Core/CMakeLists.txt | 1 | ||||
-rw-r--r-- | unittests/Core/ErrorTest.cpp | 19 | ||||
-rw-r--r-- | unittests/Symbol/CMakeLists.txt | 1 | ||||
-rw-r--r-- | unittests/Symbol/TestType.cpp | 51 |
4 files changed, 72 insertions, 0 deletions
diff --git a/unittests/Core/CMakeLists.txt b/unittests/Core/CMakeLists.txt index da880010e4be..980bc5b9f9ae 100644 --- a/unittests/Core/CMakeLists.txt +++ b/unittests/Core/CMakeLists.txt @@ -2,6 +2,7 @@ add_lldb_unittest(LLDBCoreTests ArchSpecTest.cpp BroadcasterTest.cpp DataExtractorTest.cpp + ErrorTest.cpp ListenerTest.cpp ScalarTest.cpp StructuredDataTest.cpp diff --git a/unittests/Core/ErrorTest.cpp b/unittests/Core/ErrorTest.cpp new file mode 100644 index 000000000000..f3727bbd78ae --- /dev/null +++ b/unittests/Core/ErrorTest.cpp @@ -0,0 +1,19 @@ +//===-- ErrorTest.cpp -------------------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#include "gtest/gtest.h" +#include "lldb/Core/Error.h" + +using namespace lldb_private; + +TEST(ErrorTest, Formatv) { + EXPECT_EQ("", llvm::formatv("{0}", Error()).str()); + EXPECT_EQ("Hello Error", llvm::formatv("{0}", Error("Hello Error")).str()); + EXPECT_EQ("Hello", llvm::formatv("{0:5}", Error("Hello Error")).str()); +} diff --git a/unittests/Symbol/CMakeLists.txt b/unittests/Symbol/CMakeLists.txt index ef41f3fd62a8..75cabddba5c4 100644 --- a/unittests/Symbol/CMakeLists.txt +++ b/unittests/Symbol/CMakeLists.txt @@ -1,3 +1,4 @@ add_lldb_unittest(SymbolTests TestClangASTContext.cpp + TestType.cpp ) diff --git a/unittests/Symbol/TestType.cpp b/unittests/Symbol/TestType.cpp new file mode 100644 index 000000000000..68128b89329c --- /dev/null +++ b/unittests/Symbol/TestType.cpp @@ -0,0 +1,51 @@ +//===-- TestType.cpp --------------------------------------------*- C++ -*-===// +// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#include "gtest/gtest.h" + +#include "lldb/Symbol/Type.h" + +using namespace lldb; +using namespace lldb_private; + +namespace { +void TestGetTypeScopeAndBasenameHelper(const char *full_type, + bool expected_is_scoped, + const char *expected_scope, + const char *expected_name) { + llvm::StringRef scope, name; + lldb::TypeClass type_class; + bool is_scoped = + Type::GetTypeScopeAndBasename(full_type, scope, name, type_class); + EXPECT_EQ(is_scoped, expected_is_scoped); + if (expected_is_scoped) { + EXPECT_EQ(scope, expected_scope); + EXPECT_EQ(name, expected_name); + } +} +}; + +TEST(Type, GetTypeScopeAndBasename) { + TestGetTypeScopeAndBasenameHelper("int", false, "", ""); + TestGetTypeScopeAndBasenameHelper("std::string", true, "std::", "string"); + TestGetTypeScopeAndBasenameHelper("std::set<int>", true, "std::", "set<int>"); + TestGetTypeScopeAndBasenameHelper("std::set<int, std::less<int>>", true, + "std::", "set<int, std::less<int>>"); + TestGetTypeScopeAndBasenameHelper("std::string::iterator", true, + "std::string::", "iterator"); + TestGetTypeScopeAndBasenameHelper("std::set<int>::iterator", true, + "std::set<int>::", "iterator"); + TestGetTypeScopeAndBasenameHelper( + "std::set<int, std::less<int>>::iterator", true, + "std::set<int, std::less<int>>::", "iterator"); + TestGetTypeScopeAndBasenameHelper( + "std::set<int, std::less<int>>::iterator<bool>", true, + "std::set<int, std::less<int>>::", "iterator<bool>"); +} |