diff options
author | Zachary Turner <zturner@google.com> | 2016-09-17 02:00:02 +0000 |
---|---|---|
committer | Zachary Turner <zturner@google.com> | 2016-09-17 02:00:02 +0000 |
commit | bd7882c1247fef3a7d16e786f7b763d91d933b6c (patch) | |
tree | b8391a49c4de6b80929a40fe85496782cfbc831d /lldb/unittests/Platform | |
parent | 0fec1f30329ae4cd129107e345699f78693dcf3a (diff) |
Convert many functions to use StringRefs.
Where possible, remove the const char* version. To keep the
risk and impact here minimal, I've only done the simplest
functions.
In the process, I found a few opportunities for adding some
unit tests, so I added those as well.
Tested on Windows, Linux, and OSX.
Diffstat (limited to 'lldb/unittests/Platform')
-rw-r--r-- | lldb/unittests/Platform/CMakeLists.txt | 3 | ||||
-rw-r--r-- | lldb/unittests/Platform/PlatformDarwinTest.cpp | 56 |
2 files changed, 59 insertions, 0 deletions
diff --git a/lldb/unittests/Platform/CMakeLists.txt b/lldb/unittests/Platform/CMakeLists.txt new file mode 100644 index 00000000000..af1121dac7b --- /dev/null +++ b/lldb/unittests/Platform/CMakeLists.txt @@ -0,0 +1,3 @@ +add_lldb_unittest(LLDBPlatformTests + PlatformDarwinTest.cpp + ) diff --git a/lldb/unittests/Platform/PlatformDarwinTest.cpp b/lldb/unittests/Platform/PlatformDarwinTest.cpp new file mode 100644 index 00000000000..e4881f12cab --- /dev/null +++ b/lldb/unittests/Platform/PlatformDarwinTest.cpp @@ -0,0 +1,56 @@ +//===-- PlatformDarwinTest.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 "Plugins/Platform/MacOSX/PlatformDarwin.h" + +#include "llvm/ADT/StringRef.h" + +#include <tuple> + +using namespace lldb; +using namespace lldb_private; + +TEST(PlatformDarwinTest, TestParseVersionBuildDir) { + uint32_t A, B, C; + llvm::StringRef D; + + std::tie(A, B, C, D) = PlatformDarwin::ParseVersionBuildDir("1.2.3 (test1)"); + EXPECT_EQ(1, A); + EXPECT_EQ(2, B); + EXPECT_EQ(3, C); + EXPECT_EQ("test1", D); + + std::tie(A, B, C, D) = PlatformDarwin::ParseVersionBuildDir("2.3 (test2)"); + EXPECT_EQ(2, A); + EXPECT_EQ(3, B); + EXPECT_EQ("test2", D); + + std::tie(A, B, C, D) = PlatformDarwin::ParseVersionBuildDir("3 (test3)"); + EXPECT_EQ(3, A); + EXPECT_EQ("test3", D); + + std::tie(A, B, C, D) = PlatformDarwin::ParseVersionBuildDir("1.2.3 (test"); + EXPECT_EQ(1, A); + EXPECT_EQ(2, B); + EXPECT_EQ(3, C); + EXPECT_EQ("test", D); + + std::tie(A, B, C, D) = PlatformDarwin::ParseVersionBuildDir("2.3.4 test"); + EXPECT_EQ(2, A); + EXPECT_EQ(3, B); + EXPECT_EQ(4, C); + EXPECT_EQ("", D); + + std::tie(A, B, C, D) = PlatformDarwin::ParseVersionBuildDir("3.4.5"); + EXPECT_EQ(3, A); + EXPECT_EQ(4, B); + EXPECT_EQ(5, C); +}
\ No newline at end of file |