[PATCH] D39571: [clangd] DidChangeConfiguration Notification

Ilya Biryukov via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Feb 21 02:45:45 PST 2018


ilya-biryukov added inline comments.


================
Comment at: unittests/clangd/ClangdTests.cpp:83
+// least one error.
+class MultipleErrorCHeckingDiagConsumer : public DiagnosticsConsumer {
+public:
----------------
NIT: misspelling: ErrorCHecking instead of ErrorChecking


================
Comment at: unittests/clangd/ClangdTests.cpp:94
+
+  bool contains(PathRef P) {
+    std::lock_guard<std::mutex> Lock(Mutex);
----------------
This function should be `const`.
(Would require making `Mutex` mutable, but that's fine)


================
Comment at: unittests/clangd/ClangdTests.cpp:99
+
+  bool lastHadError(PathRef P) {
+    std::lock_guard<std::mutex> Lock(Mutex);
----------------
This function should be const and assert that P is in the map.


================
Comment at: unittests/clangd/ClangdTests.cpp:111
+  std::mutex Mutex;
+  std::map<Path, bool> LastDiagsHadError;
+};
----------------
Maybe replace `std::map<Path,bool>` to `llvm::StringMap<bool>`?


================
Comment at: unittests/clangd/ClangdTests.cpp:492
+
+  EXPECT_TRUE(DiagConsumer.contains(FooCpp));
+  EXPECT_TRUE(DiagConsumer.contains(BarCpp));
----------------
Maybe expose a copy of the map from DiagConsumer and check for all files in a single line?

```
class MultipleErrorCHeckingDiagConsumer {
   /// Exposes all files consumed by onDiagnosticsReady in an unspecified order.
   /// For each file, a bool value indicates whether the last diagnostics contained an error.
   std::vector<std::pair<Path, bool>> filesWithDiags() const { /* ... */ }
};

/// ....
EXPECT_THAT(DiagConsumer.filesWithDiags(), UnorderedElementsAre(Pair(FooCpp, false), Pair(BarCpp, true), Pair(BazCpp, false));
```

It would make the test more concise.


Repository:
  rCTE Clang Tools Extra

https://reviews.llvm.org/D39571





More information about the cfe-commits mailing list