diff options
author | Pavel Labath <pavel@labath.sk> | 2019-11-19 09:55:17 +0100 |
---|---|---|
committer | Pavel Labath <pavel@labath.sk> | 2019-11-19 10:34:30 +0100 |
commit | 39285a0f02c7bc5e4bad8a684a900123b097511d (patch) | |
tree | 6b14401600399599c216ead35018b2bd1c20d1dc /llvm/unittests/DebugInfo/DWARF | |
parent | c0fc29c4684a997d282bfed71eb4d903ad16ee25 (diff) | |
download | bcm5719-llvm-39285a0f02c7bc5e4bad8a684a900123b097511d.tar.gz bcm5719-llvm-39285a0f02c7bc5e4bad8a684a900123b097511d.zip |
Add streaming/equality operators to DWARFAddressRange/DWARFLocationExpression
The main motivation for this is being able to write simpler assertions
and get better error messages in unit tests.
Split off from D70394.
Diffstat (limited to 'llvm/unittests/DebugInfo/DWARF')
-rw-r--r-- | llvm/unittests/DebugInfo/DWARF/CMakeLists.txt | 1 | ||||
-rw-r--r-- | llvm/unittests/DebugInfo/DWARF/DWARFLocationExpressionTest.cpp | 30 |
2 files changed, 31 insertions, 0 deletions
diff --git a/llvm/unittests/DebugInfo/DWARF/CMakeLists.txt b/llvm/unittests/DebugInfo/DWARF/CMakeLists.txt index d97e573ea38..2181e0543d0 100644 --- a/llvm/unittests/DebugInfo/DWARF/CMakeLists.txt +++ b/llvm/unittests/DebugInfo/DWARF/CMakeLists.txt @@ -14,6 +14,7 @@ add_llvm_unittest(DebugInfoDWARFTests DWARFDebugInfoTest.cpp DWARFDebugLineTest.cpp DWARFFormValueTest.cpp + DWARFLocationExpressionTest.cpp ) target_link_libraries(DebugInfoDWARFTests PRIVATE LLVMTestingSupport) diff --git a/llvm/unittests/DebugInfo/DWARF/DWARFLocationExpressionTest.cpp b/llvm/unittests/DebugInfo/DWARF/DWARFLocationExpressionTest.cpp new file mode 100644 index 00000000000..fb1dc3bd280 --- /dev/null +++ b/llvm/unittests/DebugInfo/DWARF/DWARFLocationExpressionTest.cpp @@ -0,0 +1,30 @@ +//===- llvm/unittest/DebugInfo/DWARFLocationExpressionTest.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/DebugInfo/DWARF/DWARFLocationExpression.h" +#include "llvm/Support/ScopedPrinter.h" +#include "gtest/gtest.h" + +using namespace llvm; +using object::SectionedAddress; + +TEST(DWARFLocationExpression, Equality) { + EXPECT_EQ((DWARFLocationExpression{None, {}}), + (DWARFLocationExpression{None, {}})); + EXPECT_NE((DWARFLocationExpression{DWARFAddressRange{1, 47}, {}}), + (DWARFLocationExpression{DWARFAddressRange{1, 48}, {}})); + EXPECT_NE((DWARFLocationExpression{DWARFAddressRange{1, 47}, {}}), + (DWARFLocationExpression{DWARFAddressRange{1, 47}, {42}})); +} + +TEST(DWARFLocationExpression, StreamingOperator) { + EXPECT_EQ("None: 1, 2", to_string(DWARFLocationExpression{None, {1, 2}})); + EXPECT_EQ( + "[0x0000000000000042, 0x0000000000000047): 1", + to_string(DWARFLocationExpression{DWARFAddressRange{0x42, 0x47}, {1}})); +} |