[PATCH] D85962: [SyntaxTree] Create annotations infrastructure and apply it in expression tests.
Eduardo Caldas via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Aug 18 04:37:22 PDT 2020
eduucaldas added inline comments.
================
Comment at: clang/unittests/Tooling/Syntax/BuildTreeTest.cpp:477
struct X {
friend X operator+(const X&, const X&);
};
----------------
A test for this part was created below
================
Comment at: clang/unittests/Tooling/Syntax/TreeTestBase.cpp:199
+ auto AnnotatedRanges = AnnotatedCode.ranges();
+ assert(AnnotatedRanges.size() == TreeDumps.size());
+ for (auto i = 0ul; i < AnnotatedRanges.size(); i++) {
----------------
gribozavr2 wrote:
> ASSERT_EQ I think would be better.
`ASSERT_EQ` is a macro that returns void, so we cannot use it here.
However that brings another question.
Right now we have methods `treeDumpEqual*` that return `AssertionResult`s and we use them in our tests in the following way: `EXPECT_TRUE(treeDumpEqual*...)`.
It seems to me that we should instead perform any assertion inside `treeDumpEqual*`, and then just call it directly in the test.
WDYT? I case you agree we can perform this change in another patch.
================
Comment at: clang/unittests/Tooling/Syntax/TreeTestBase.cpp:206
+ // EXPECT_EQ shows the diff between the two strings if they are different.
+ EXPECT_EQ(TreeDumps[i].trim().str(), AnnotatedNodeDump);
+ if (AnnotatedNodeDump != TreeDumps[i].trim().str())
----------------
gribozavr2 wrote:
> Could you dump the annotated source code substring to make debugging failing tests easier?
Very good suggestion :) thanks
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D85962/new/
https://reviews.llvm.org/D85962
More information about the cfe-commits
mailing list