[PATCH] D158925: [clang-format][NFC] Skip stability test if input is pre-formatted

Owen Pan via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sat Aug 26 03:28:36 PDT 2023


owenpan created this revision.
Herald added projects: All, clang, clang-format.
Herald added a subscriber: cfe-commits.
Herald added reviewers: rymiel, HazardyKnusperkeks, MyDeveloperDay.
owenpan requested review of this revision.

This shortens the run-time of `FormatTests` by about 10% on average (and by up to 50% if formatting would not change the input).


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D158925

Files:
  clang/unittests/Format/FormatTestBase.h


Index: clang/unittests/Format/FormatTestBase.h
===================================================================
--- clang/unittests/Format/FormatTestBase.h
+++ clang/unittests/Format/FormatTestBase.h
@@ -85,9 +85,11 @@
                      const std::optional<FormatStyle> &Style = {},
                      const std::vector<tooling::Range> &Ranges = {}) {
     testing::ScopedTrace t(File, Line, ::testing::Message() << Code.str());
-    EXPECT_EQ(Expected.str(),
-              format(Expected, Style, SC_ExpectComplete, Ranges))
-        << "Expected code is not stable";
+    if (!Expected.equals(Code)) {
+      EXPECT_EQ(Expected.str(),
+                format(Expected, Style, SC_ExpectComplete, Ranges))
+          << "Expected code is not stable";
+    }
     EXPECT_EQ(Expected.str(), format(Code, Style, SC_ExpectComplete, Ranges));
     auto UsedStyle = Style ? Style.value() : getDefaultStyle();
     if (UsedStyle.Language == FormatStyle::LK_Cpp) {


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D158925.553714.patch
Type: text/x-patch
Size: 968 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20230826/4812d892/attachment.bin>


More information about the cfe-commits mailing list