[PATCH] D110160: [clang][tooling] NFC: Refactor command-line diagnostic tests

Jan Svoboda via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Sep 22 15:20:25 PDT 2021


jansvoboda11 added a comment.

I think we need a warning option to be able to suppress it (or conditionally promote to an error).



================
Comment at: clang/unittests/Tooling/ToolingTest.cpp:238-245
   Args.push_back("tool-executable");
-  Args.push_back("-target");
-  // Invalid argument that by default results in an error diagnostic:
-  Args.push_back("i386-apple-ios14.0-simulator");
-  // Argument that downgrades the error into a warning:
-  Args.push_back("-Wno-error=invalid-ios-deployment-target");
+  // Invalid argument (non-existent sysroot path) that will result in a warning.
+  Args.push_back("-isysroot");
+  Args.push_back("/dev/null/sysroot");
+  // Argument that will suppress the warning above.
+  Args.push_back("-Wno-missing-sysroot");
   Args.push_back("-fsyntax-only");
----------------
dexonsmith wrote:
> I'm worried this is going to behave differently when the unit test isn't run on Darwin, since I think `-isysroot` is only valid for Darwin targets and there's no `-arch` or `-target` option. Can you confirm whether this should reproduce properly when run on other hosts as well?
Good point, I switched to a platform-agnostic flags.


================
Comment at: clang/unittests/Tooling/ToolingTest.cpp:280-281
   InMemoryFileSystem->addFile(
-      "test.cpp", 0, llvm::MemoryBuffer::getMemBuffer("int a() {}\n"));
-  ErrorCountingDiagnosticConsumer Consumer;
+      "test.cpp", 0, llvm::MemoryBuffer::getMemBuffer("void a() {}\n"));
+  TextDiagnosticBuffer Consumer;
   Invocation.setDiagnosticConsumer(&Consumer);
----------------
dexonsmith wrote:
> Can this just be empty and use `-E`? But if you switch to another error maybe you don't need to modify this anyway?
Yes, that would be a nice simplification.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D110160/new/

https://reviews.llvm.org/D110160



More information about the cfe-commits mailing list