diff --git a/llvm/unittests/ProfileData/BPFunctionNodeTest.cpp b/llvm/unittests/ProfileData/BPFunctionNodeTest.cpp new file mode 100644 --- /dev/null +++ b/llvm/unittests/ProfileData/BPFunctionNodeTest.cpp @@ -0,0 +1,45 @@ +//===- BPFunctionNodeTest.cpp - BPFunctionNode tests ----------------------===// +// +// 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/ProfileData/InstrProf.h" +#include "llvm/Support/BalancedPartitioning.h" +#include "llvm/Testing/Support/SupportHelpers.h" +#include "gmock/gmock.h" +#include "gtest/gtest.h" + +using testing::Field; +using testing::UnorderedElementsAre; +using testing::UnorderedElementsAreArray; + +namespace llvm { + +void PrintTo(const BPFunctionNode &Node, std::ostream *OS) { + raw_os_ostream ROS(*OS); + Node.dump(ROS); +} + +TEST(BPFunctionNodeTest, Basic) { + auto Nodes = TemporalProfTraceTy::createBPFunctionNodes({ + TemporalProfTraceTy({0, 1, 2, 3, 4}), + TemporalProfTraceTy({4, 2}), + }); + + auto NodeIs = [](BPFunctionNode::IDT Id, + ArrayRef UNs) { + return AllOf(Field("Id", &BPFunctionNode::Id, Id), + Field("UtilityNodes", &BPFunctionNode::UtilityNodes, + UnorderedElementsAreArray(UNs))); + }; + + EXPECT_THAT(Nodes, + UnorderedElementsAre(NodeIs(0, {0, 1, 2}), NodeIs(1, {1, 2}), + NodeIs(2, {1, 2, 4, 5}), NodeIs(3, {2}), + NodeIs(4, {2, 3, 4, 5}))); +} + +} // end namespace llvm diff --git a/llvm/unittests/ProfileData/CMakeLists.txt b/llvm/unittests/ProfileData/CMakeLists.txt --- a/llvm/unittests/ProfileData/CMakeLists.txt +++ b/llvm/unittests/ProfileData/CMakeLists.txt @@ -7,6 +7,7 @@ ) add_llvm_unittest(ProfileDataTests + BPFunctionNodeTest.cpp CoverageMappingTest.cpp InstrProfDataTest.cpp InstrProfTest.cpp diff --git a/llvm/unittests/Support/BalancedPartitioningTest.cpp b/llvm/unittests/Support/BalancedPartitioningTest.cpp --- a/llvm/unittests/Support/BalancedPartitioningTest.cpp +++ b/llvm/unittests/Support/BalancedPartitioningTest.cpp @@ -7,12 +7,10 @@ //===----------------------------------------------------------------------===// #include "llvm/Support/BalancedPartitioning.h" -#include "llvm/ProfileData/InstrProf.h" #include "llvm/Testing/Support/SupportHelpers.h" #include "gmock/gmock.h" #include "gtest/gtest.h" -using namespace llvm; using testing::Each; using testing::Field; using testing::Not; @@ -26,25 +24,6 @@ Node.dump(ROS); } -TEST(BPFunctionNodeTest, Basic) { - auto Nodes = TemporalProfTraceTy::createBPFunctionNodes({ - TemporalProfTraceTy({0, 1, 2, 3, 4}), - TemporalProfTraceTy({4, 2}), - }); - - auto NodeIs = [](BPFunctionNode::IDT Id, - ArrayRef UNs) { - return AllOf(Field("Id", &BPFunctionNode::Id, Id), - Field("UtilityNodes", &BPFunctionNode::UtilityNodes, - UnorderedElementsAreArray(UNs))); - }; - - EXPECT_THAT(Nodes, - UnorderedElementsAre(NodeIs(0, {0, 1, 2}), NodeIs(1, {1, 2}), - NodeIs(2, {1, 2, 4, 5}), NodeIs(3, {2}), - NodeIs(4, {2, 3, 4, 5}))); -} - class BalancedPartitioningTest : public ::testing::Test { protected: BalancedPartitioningConfig Config; diff --git a/llvm/unittests/Support/CMakeLists.txt b/llvm/unittests/Support/CMakeLists.txt --- a/llvm/unittests/Support/CMakeLists.txt +++ b/llvm/unittests/Support/CMakeLists.txt @@ -1,5 +1,4 @@ set(LLVM_LINK_COMPONENTS - ProfileData Support TargetParser )