[PATCH] D123636: [randstruct] Add test for "-frandomize-layout-seed-file" flag
Bill Wendling via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Apr 13 13:31:34 PDT 2022
void added inline comments.
================
Comment at: clang/unittests/AST/RandstructTest.cpp:56
+ llvm::SmallString<256> SeedFilename;
+ EXPECT_FALSE(llvm::sys::fs::createTemporaryFile("seed", "rng", SeedFileFD,
+ SeedFilename));
----------------
aaron.ballman wrote:
> I think this is a case where you want to use `ASSERT_FALSE` because if this fails, the rest of the test also fails.
There's an explanation below.
================
Comment at: clang/unittests/AST/RandstructTest.cpp:72
+
+ return std::tuple<ASTUnit *, ASTUnit *>(AST.release(), ASTFileSeed.release());
+};
----------------
aaron.ballman wrote:
> Why not keep these as unique pointers and move them into the tuple? Then the callers don't have to call delete manually.
The d'tors for the `unique_ptr`s is called if I place them in the tuple. I think it's because I can't do something like this:
```
const unique_ptr<ASTUnit> std::tie(AST, ASTFileSeed) = makeAST(...);
```
in the test functions. When I assign it as a non-initializer, it apparently calls the d'tor. So, kinda stumped on what to do.
And the `EXPECT_FALSE` above is used because the `ASSERT_FALSE` adds an extra return point, which messes with the lambda.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D123636/new/
https://reviews.llvm.org/D123636
More information about the cfe-commits
mailing list